Zdroj inventára Ansible Kubernetes (K8s).

Zdroj Inventara Ansible Kubernetes K8s



V tomto príspevku sa naučíme, ako používať doplnok Kubernetes v nástroji Ansible. V Ansible je ťažké spravovať veľké množstvo kontajnerov. Ale používanie Kubernetes v Ansible je užitočné pri správe kontajnerov. V tejto príručke sa dozvieme, čo je zdroj zásob Kubernetes a ako funguje v Ansible.

Spoločnosť Google spustila ľahko dostupný softvér na správu s názvom Kubernetes, ktorý je tiež známy ako K8s, ktorý sa používa na správu virtualizovaných konfigurácií na vzdialenej sade strojov s funkciami inštalácie s nulovými prestojmi, automatickým vrátením a škálovateľnosťou, ktorá poskytuje doplnku Kubernetes mimoriadne prispôsobivý doplnok. architektúra v Ansible. Prostredníctvom dostupnosti REST API pre potrebnú funkcionalitu je hlavným cieľom Kubernetes skryť zložitosti, ktoré sú spojené s ovládaním množstva kontajnerov.







Konfigurácia Kubernetes je založená na klientskom serveri. V predvolenom nastavení však existuje iba jeden hlavný server, ktorý slúži ako riadiaci hostiteľ. V Kubernetes môžeme na konfiguráciu Kubernetes použiť aj viachlavné radiče. Zdroj inventára K8s je príležitostne potrebný pre riadiace systémy a konfiguráciu služieb na vzdialenom hostiteľovi na ovládanie modulov. Existujú však ťažkosti so získaním konkrétnych pokynov, ako to urobiť. Výsledkom je, že implementujeme tento návod, ako vytvoriť Ansible Playbook, ktorý extrahuje moduly v doméne a vytvorí zdroj inventára Kubernetes.



Predpoklady používania zdroja zásob Kubernetes v Ansible

Ak chcete použiť zdroj inventára Kubernetes v Ansible, v tejto príručke sú pokyny alebo príkazy fázového procesu. Uistite sa, že máte potrebnú prípravu, ak sa v nej chcete posunúť vpred:



  • Aby sme mohli pracovať v scenári Ansible, najprv sme na serveri nastavili nástroj Ansible a ubezpečili sme sa, že máte verziu Ansible 2.11.7, aby sme mohli jednoducho použiť doplnok Kubernetes.
  • Na posúdenie doplnku Kubernetes potrebujeme vzdialené serverové zariadenie so vstavaným klastrom Kubernetes.
  • Vzdialený hostiteľ je momentálne nakonfigurovaný na vykonávanie pokynov a príručiek Ansible, ako aj vstavaného inventárneho súboru. Názov cieľového vzdialeného zariadenia je K8s Master Node.
  • Verzia Pythonu je 3.6 alebo vyššia, ktorá musí byť nainštalovaná na zariadení ovládača Ansible. Môže byť aj v cieľovom vzdialenom hostiteľskom zariadení.
  • Verzia openshift modulu Pythonu je 0.6 alebo vyššia. Potrebujeme tiež modul pyYAML verzie 3.11 alebo vyššej. Oba moduly musia byť nastavené vo vzdialenom serverovom zariadení, ako aj v riadiacom zariadení.

Príklad:





Tu je úplne prvý príklad, kde implementujeme Kubernetes v Ansible. Na implementáciu zdroja zásob Kubernetes používame akékoľvek prostredie Ansible. Nasledujúce uvedené procesy sa vykonávajú v nasledujúcom scenári pomocou doplnku Kubernetes Inventory Plugin:

  • Implementácia nového menného priestoru v klastri K8s v Ansible.
  • Vytvorenie podu nginx pomocou príručky Ansible.
  • Vytvorenie nasadenia nginx v Ansible.

Aby sme zjednodušili pochopenie konceptov a realizácie, implementujeme príklad v niekoľkých krokoch.



Krok 1: Implementujte nový priestor názvov v klastri K8s v Ansible

V prvom kroku si vytvoríme playbook, aby sme obsah mohli napísať vo formáte „.yml“ v Ansible. Na vytvorenie playbooku použijeme nasledujúci príkaz:

[ koreň @ majster ansible ] # nano  nginx_pod.yml

Teraz je vytvorená príručka „pod.yml“ a spustená do nového terminálu Ansible. Začíname písať scenár. V playbooku najprv definujeme verziu API, ktorú používame v Ansible pod, čo je „v1“. Menný priestor, ktorý definujeme, je „ansible-namespace“. Potom uvedieme metadáta ansible-namespace. V metadátach používame softvér nginx a štítok, ktorý obsahuje úroveň frontendu hodnoty. V špecifikácii playbooku uvádzame názov a obrázok, ktorý je uložený v kontajneri; obe obsahujú nginx.

Krok 2: Vytvorte Manifest Document v Ansible

Teraz vytvoríme ďalší dokument v rovnakom adresári Ansible, čo je dokument nasadenia vo formáte „.yml“. Na vytvorenie dokumentu manifestu použite nasledujúci príkaz v termináli Ansible:

[ koreň @ majster ansible ] # nano nginx_deployment.yml

V dokumente manifestu najskôr znova definujeme verziu aplikácie, ktorá je „app/v1“. Potom povieme, o aký druh súboru ide, či ide o súbor nasadenia. Potom definujeme menný priestor, ktorý je ansible-namespace. Na zostavenie implementácie dve repliky vo vnútri ansible-namespace zobrazujú číslo modulu. Obrázky nginx sú 1.14.2, ktoré sa spúšťajú v module. Parameter matchLabels poskytuje značky pre pody a ich špecifikácie v rámci parametra spec. Ak sa značky na moduloch zhodujú so značkami uvedenými v informáciách o konfigurácii, implementácia sa uskutoční v dokumente manifestu v Ansible.

Krok 3: Vytvorte príručku pre implementáciu Kubernetes v Ansible

Teraz chceme vytvoriť ďalšiu príručku v Ansible. V tomto playbooku v ňom implementujeme funkcionalitu Kubernetes. Na vytvorenie zošita použite nasledujúci príkaz:

[ koreň @ majster ansible ] # nano kubernetes_main.yml

Playbook sa vytvorí v rovnakom adresári, kde je v Ansible uložený predchádzajúci playbook a manifestový dokument. V playbooku si najskôr zadefinujeme funkcionalitu playbooku, ktorú chceme implementovať. Na vytvorenie spojenia poskytujeme vzdialených hostiteľov, na ktorých sa chceme zamerať. Tu sa zameriavame na „všetkých“ hostiteľov. Ďalej definujeme premennú na kontrolu tlmočníka Pythonu v Ansible pomocou cesty, kde je uložená. Teraz definujeme úlohy v zošite. Najprv skontrolujeme stav zariadenia minikube. Ďalej vytvoríme nový priestor názvov Kubernetes v príručke. Potom duplikujte súbory nginx_pod.yml a nginx_deployment .yml do vzdialeného zariadenia.

Prostredníctvom týchto yml dokumentov vytvárame implementáciu pod vo vzdialenom zariadení. Potom skontrolujeme, či je modul Kubernetes prítomný alebo nie na zadanom mieste vo vzdialenom zariadení.

Po ukončení playbooku teraz vytvoríme súbor inventára, aby sme vytvorili spojenie medzi ovládačom Ansible a cieľovým vzdialeným hostiteľom.

všetky:
hostitelia:
k8s_Master_Node:
ansible_host: 192.168.3.229
ansible_user: ansible
ansible_password: ********
ansible_connection: ssh
ansible_port: 22

[ koreň @ majster ansible ] # ansible-playbook kubernates_main.yml

Tu je požadovaný výstup, kde vidíme, že úlohy sú úspešne umiestnené na cieľovom počítači:

Po umiestnení úlohy na cieľový počítač skontrolujeme, či sa „ansible-namespace“ nachádza v klastri Kubernetes alebo nie. Používame nasledujúci príkaz „grep“:

[ koreň @ majster ansible ] # kubectl získať menný priestor | grep ansible-namespace

Ak chcete skontrolovať vytvorenú pod v mennom priestore klastra Kubernetes, napíšte na kontrolu nasledujúci príkaz:

[ koreň @ majster ansible ] # kubectl get pods --namespace ansible-namespace

Ako vidíte v predchádzajúcom výstupe, dostávame moduly, ktoré sú spustené na zariadení. Teraz skontrolujeme nasadenie, ktoré sme vykonali v klastri Kubernetes. Na kontrolu už vykonaných nasadení použite nasledujúce vyhlásenie:

[ koreň @ majster ansible ] # kubectl získať nasadenia --namespace ansible-namespace

Záver

Dozvedeli sme sa, čo je zdroj zásob Kubernetes v Ansible. Tiež sme sa naučili, ako používať inventár Kubernetes v Ansible. Potom sme implementovali príklad, aby sme sa jasnejšie dozvedeli o fungovaní zdroja zásob Kubernetes v Ansible.