Źródło zapasów ansible kubernetes

Źródło zapasów ansible kubernetes

W tym poście uczymy się, jak korzystać z wtyczki Kubernetes w narzędziu Ansible. W Ansible trudno jest zarządzać dużą liczbą pojemników. Ale korzystanie z Kubernetes w Ansible jest pomocne podczas zarządzania kontenerami. W tym przewodniku dowiemy się, jakie jest źródło zapasów Kubernetes i jak funkcjonuje on w Ansible.

Google uruchomiło łatwo dostępne oprogramowanie do zarządzania o nazwie Kubernetes, które jest również znane jako K8s, które służy do zarządzania konfiguracją zwirtualizowane przez zdalny zestaw maszyn z funkcjami instalacyjnymi zerowym, automatycznym odwróceniem i skalowalności, która zapewnia wtyczkę Kubernetes z wyjątkowo dostosowującą Architektura w Ansible. Poprzez dostępność interfejsów API REST dla niezbędnej funkcjonalności, głównym celem Kubernetes jest ukrywanie złożoności związanych z kontrolowaniem wielu pojemników.

Konfiguracja Kubernetes jest oparta na serwerach klientów. Jednak domyślnie istnieje tylko jeden główny serwer, który służy jako host kontrolujący. W Kubernetes możemy również używać kontrolerów wielu main do konfiguracji Kubernetes. Źródło zapasów K8S jest czasami niezbędne do systemów sterowania i skonfigurowania usług na zdalnym hoście do sterowania kapsułkami. Ale istnieją trudności z uzyskaniem szczegółowych instrukcji, jak to zrobić. W rezultacie wdrażamy ten samouczek na temat tego, jak stworzyć podręcznik Ansible, który wyodrębnia kapsuły w domenie i tworzy źródło zapasów Kubernetes.

Wymagania wstępne korzystania z źródła zapasów Kubernetes w Ansible

Aby korzystać z źródła zapasów Kubernetes w Ansible, w tym przewodniku istnieją instrukcje lub polecenia procesu etapowego. Upewnij się, że masz niezbędne przygotowanie, jeśli chcesz iść do przodu:

  • Aby pracować w scenariuszu Ansible, najpierw skonfigurowaliśmy narzędzie Ansible na serwerze i upewniamy się, że masz wersję Ansible 2.11.7, abyśmy mogli łatwo użyć wtyczki Kubernetes.
  • Aby ocenić wtyczkę Kubernetes, potrzebujemy zdalnego urządzenia serwerowego z wbudowanym klastrem Kubernetes.
  • Zdalny host jest obecnie skonfigurowany do wykonywania instrukcji ansible i podręczników, a także pliku zapasów zbudowanych. Nazwa docelowego zdalnego urządzenia to węzeł główny K8s.
  • Wersja Pythona to 3.6 lub powyżej, które należy zainstalować na urządzeniu kontrolera Ansible. Może być również w docelowym zdalnym urządzeniu hosta.
  • Wersja modułu OpenShift Pythona wynosi 0.6 lub więcej. Potrzebujemy również modułu Pyyaml ​​w wersji 3.11 lub więcej. Oba moduły muszą być skonfigurowane w urządzeniu zdalnym serwerze, a także na urządzeniu kontrolera.

Przykład:

Oto pierwszy przykład, w którym implementujemy Kubernetes w Ansible. Aby to zrobić, używamy dowolnego środowiska Ansible do wdrożenia źródła zapasów Kubernetes. Poniższe wymienione procesy są przeprowadzane w poniższym scenariuszu za pomocą wtyczki ekwipunku Kubernetes:

  • Implementacja nowego przestrzeni nazw w klastrze K8S w Ansible.
  • Tworzenie nginx kapsułki za pomocą poradnika Ansible.
  • Tworzenie rozmieszczenia Nginx w Ansible.

Aby pojęcia i wykonanie są proste do zrozumienia, wdrażamy przykład w wielu krokach.

Krok 1: Wdrożenie nowej przestrzeni nazw w klastrze K8s w Ansible

W pierwszym kroku tworzymy podręcznik, abyśmy mogli napisać treść w „.Format YML ”w Ansible. Aby utworzyć podręcznik, używane jest polecenie:

[root@master ansible]# nano nginx_pod.yml

Teraz „Pod.Playbook YML ”jest tworzony i uruchamiany w nowym terminalu Ansible. Zaczynamy pisać skrypt. W podręczniku najpierw definiujemy wersję API, której używamy w ANSIBLE POD, która jest „V1”. Przestrzeń nazw, którą definiujemy, to „Ansible-Namespace”. Następnie wymieniamy metadane ANSIBLE-Namespace. W metadanych używamy oprogramowania Nginx i etykiety zawierającej w nim poziom frontu wartości. W specyfikacji podręcznika wymieniamy nazwę i obraz przechowywany w kontenerze; Oba zawierają w nim nginx.

Krok 2: Utwórz manifest dokument w Ansible

Teraz tworzymy inny dokument w tym samym katalogu Ansible, który jest dokumentem wdrażania w „.Format YML ”. Aby utworzyć manifest dokument, użyj następującego polecenia w terminalu ansible:

[root@master ansible]# nano nginx_deployment.yml

W dokumencie manifestu najpierw definiujemy wersję aplikacji, która jest „App/v1”. Następnie informujemy, jaki to jest plik, czy jest to plik wdrażania. Następnie definiujemy przestrzeń nazw, która jest przestrzenią Ansible-Namespace. Aby zbudować implementację, dwie repliki w przestrzeni Ansible-NameSpace pokazują liczbę POD. Obrazy Nginx to 1.14.2, które są wypuszczone w kapsule. Parametr MatchLabels zapewnia znaczniki dla PODS i ich specyfikacje pod parametrem specyfikacji. Jeśli w jakiś sposób znaczniki na kapsułach pasują do tych określonych w informacjach konfiguracyjnych, implementacja ma miejsce w dokumencie manifestu w Ansible.

Krok 3: Utwórz podręcznik do implementacji Kubernetes w Ansible

Teraz chcemy stworzyć kolejny podręcznik w Ansible. W tym podręczniku wdrażamy w nim funkcjonalność Kubernetes. Użyj następującego polecenia, aby utworzyć podręcznik:

[root@master ansible]# nano kubernetes_main.yml

Playbook jest tworzony w tym samym katalogu, w którym poprzedni podręcznik i manifest dokumentu są przechowywane w Ansible. W podręczniku najpierw definiujemy funkcjonalność podręcznika, którą chcemy wdrożyć. Aby zbudować połączenie, podajemy zdalne hosty, które chcemy kierować. Tutaj kierujemy „wszystkich” hostów. Następnie definiujemy zmienną, aby sprawdzić interpreter Pythona w Ansible za pomocą ścieżki, na której jest przechowywana. Teraz definiujemy zadania w podręczniku. Najpierw sprawdzamy status urządzenia minikupowego. Następnie tworzymy nowy przestrzeń nazw Kubernetes w podręczniku. Następnie zduplikuj nginx_pod.YML i Nginx_deployment .YML do zdalnego urządzenia.

Dzięki tym dokumentom YML budujemy implementację POD w zdalnym urządzeniu. Następnie sprawdzamy, czy kapsułka Kubernetes jest obecna, czy nie w określonej lokalizacji w zdalnym urządzeniu.

Po zakończeniu podręcznika budujemy teraz plik ekwipunku, abyśmy nawiązali połączenie między kontrolerem Ansible a docelowym hostem zdalnym.

Wszystko:
zastępy niebieskie:
k8s_master_node:
ansible_host: 192.168.3.229
ansible_user: ansible
ansible_password: ********
ansible_connection: ssh
ansible_port: 22
[root@master ansible]# ansible-playbook kubernates_main.yml

Oto pożądane dane wyjściowe, w których widzimy, że zadania są z powodzeniem umieszczane na komputerze docelowym:

Po umieszczeniu zadania na komputerze docelowym sprawdzamy, czy „ANSIBLE-Namespace” znajduje się w klastrze Kubernetes, czy nie. Używamy następującego polecenia „GREP”:

[root@master ansible]# kubectl pobierz przestrzeń nazw | Grep Ansible-Namespace

Jeśli chcesz sprawdzić utworzony kapsułek w przestrzeni nazw klastra Kubernetes, napisz następujące polecenie, aby sprawdzić:

[root@master ansible]# kubectl get Pods --Namespace Ansible-Namespace

Jak widać w poprzednim wyjściu, dostajemy kapsuły działające na urządzeniu. Teraz sprawdzamy wdrożenie, które dokonaliśmy w klastrze Kubernetes. Skorzystaj z poniższej instrukcji, aby sprawdzić, czy już dokonane wdrożenia:

[root@master ansible]# kubectl dostaw wdrożenia --Namespace ansible-namamespace

Wniosek

Nauczyliśmy się, jakie jest źródło zapasów Kubernetes w Ansible. Nauczyliśmy się również, jak korzystać z ekwipunku Kubernetes w Ansible. Następnie wdrożyliśmy przykład, abyśmy dowiedzieli się wyraźniej o działaniu źródła zapasów Kubernetes w Ansible.