Zdroj inventáře Ansible Kubernetes (K8s).

Zdroj Inventare Ansible Kubernetes K8s



V tomto příspěvku se naučíme, jak používat plugin Kubernetes v nástroji Ansible. V Ansible je obtížné spravovat velké množství kontejnerů. Ale využití Kubernetes v Ansible je užitečné při správě kontejnerů. V této příručce se naučíme, co je zdroj zásob Kubernetes a jak funguje v Ansible.

Google spustil snadno dostupný software pro správu nazvaný Kubernetes, který je také známý jako K8s, který se používá ke správě virtualizovaných konfigurací přes vzdálenou sadu počítačů s funkcemi instalace s nulovými prostojemi, automatickým vrácením a škálovatelností, což poskytuje pluginu Kubernetes extrémně přizpůsobivé. architektura v Ansible. Prostřednictvím dostupnosti REST API pro potřebnou funkcionalitu je hlavním cílem Kubernetes skrýt složitosti, které jsou spojeny s ovládáním řady kontejnerů.







Konfigurace Kubernetes je založena na klient-server. Ve výchozím nastavení však existuje pouze jeden hlavní server, který slouží jako řídící hostitel. V Kubernetes můžeme pro konfiguraci Kubernetes použít i multimain controllers. Zdroj inventáře K8s je příležitostně nezbytný pro řídicí systémy a konfiguraci služeb na vzdáleném hostiteli pro ovládání modulů. Existují však potíže se získáním konkrétních pokynů, jak na to. V důsledku toho implementujeme tento návod, jak vytvořit Ansible Playbook, který extrahuje pody v doméně a vytvoří zdroj inventáře Kubernetes.



Předpoklady použití zdroje Kubernetes Inventory v Ansible

Chcete-li použít zdroj inventáře Kubernetes v Ansible, v této příručce jsou pokyny nebo příkazy fázového procesu. Ujistěte se, že máte potřebnou přípravu, chcete-li se v tom posunout vpřed:



  • Abychom mohli pracovat ve scénáři Ansible, nejprve na serveru nastavíme nástroj Ansible a ujistíme se, že máte verzi Ansible 2.11.7, abychom mohli snadno používat plugin Kubernetes.
  • K posouzení pluginu Kubernetes potřebujeme vzdálené serverové zařízení se zabudovaným clusterem Kubernetes.
  • Vzdálený hostitel je aktuálně nakonfigurován tak, aby spouštěl instrukce Ansible a playbooky, stejně jako vytvořený soubor inventáře. Název cílového vzdáleného zařízení je K8s Master Node.
  • Verze Pythonu je 3.6 nebo vyšší, která musí být nainstalována na zařízení ovladače Ansible. Může být také v cílovém vzdáleném hostitelském zařízení.
  • Verze openshift modulu Pythonu je 0.6 nebo vyšší. Potřebujeme také modul pyYAML verze 3.11 nebo vyšší. Oba moduly musí být nastaveny ve vzdáleném serveru i v řídicím zařízení.

Příklad:





Zde je úplně první příklad, kdy implementujeme Kubernetes v Ansible. K implementaci zdroje zásob Kubernetes používáme jakékoli prostředí Ansible. Následující uvedené procesy se provádějí v následujícím scénáři pomocí modulu Kubernetes Inventory Plugin:

  • Implementace nového jmenného prostoru v clusteru K8s v Ansible.
  • Vytvoření nginx pod pomocí Ansible playbooku.
  • Vytvoření nasazení nginx v Ansible.

Aby byly koncepty a provedení srozumitelné, implementujeme příklad v několika krocích.



Krok 1: Implementujte nový jmenný prostor v klastru K8s v Ansible

V prvním kroku vytvoříme playbook, abychom mohli obsah napsat ve formátu „.yml“ v Ansible. K vytvoření playbooku použijeme následující příkaz:

[ vykořenit @ mistr ansible ] # nano  nginx_pod.yml

Nyní je vytvořen playbook „pod.yml“ a spuštěn do nového terminálu Ansible. Začínáme psát scénář. V playbooku nejprve definujeme verzi API, kterou používáme v Ansible pod, což je „v1“. Jmenný prostor, který definujeme, je „ansible-namespace“. Poté vypíšeme metadata ansible-namespace. V metadatech používáme software nginx a štítek, který v něm obsahuje frontend s hodnotou. Ve specifikaci playbooku uvádíme název a obrázek, který je uložen v kontejneru; oba v sobě obsahují nginx.

Krok 2: Vytvořte dokument Manifest v Ansible

Nyní vytvoříme další dokument ve stejném adresáři Ansible, což je dokument nasazení ve formátu „.yml“. Chcete-li vytvořit dokument manifestu, použijte následující příkaz v terminálu Ansible:

[ vykořenit @ mistr ansible ] # nano nginx_deployment.yml

V dokumentu manifestu nejprve znovu definujeme verzi aplikace, která je „app/v1“. Poté řekneme, o jaký druh souboru se jedná, zda se jedná o soubor nasazení. Poté definujeme jmenný prostor, kterým je ansible-namespace. Pro sestavení implementace dvě repliky uvnitř ansible-namespace ukazují číslo podu. Obrázky nginx jsou 1.14.2, které jsou spuštěny v modulu. Parametr matchLabels poskytuje značky pro pody a jejich specifikace pod parametrem spec. Pokud se značky na podech nějakým způsobem shodují se značkami zadanými v informacích o konfiguraci, implementace proběhne v manifestu v Ansible.

Krok 3: Vytvořte příručku pro implementaci Kubernetes v Ansible

Nyní chceme vytvořit další příručku v Ansible. V tomto playbooku v něm implementujeme funkcionalitu Kubernetes. K vytvoření playbooku použijte následující příkaz:

[ vykořenit @ mistr ansible ] # nano kubernetes_main.yml

Playbook je vytvořen ve stejném adresáři, kde jsou uloženy předchozí playbook a dokument manifestu v Ansible. V playbooku si nejprve definujeme funkcionalitu playbooku, kterou chceme implementovat. Abychom vytvořili spojení, poskytneme vzdálené hostitele, na které chceme cílit. Zde cílíme na „všechny“ hostitele. Dále definujeme proměnnou pro kontrolu interpretu Pythonu v Ansible pomocí cesty, kde je uložena. Nyní definujeme úkoly v playbooku. Nejprve zkontrolujeme stav zařízení minikube. Dále v playbooku vytvoříme nový jmenný prostor Kubernetes. Poté duplikujte soubory nginx_pod.yml a nginx_deployment .yml do vzdáleného zařízení.

Prostřednictvím těchto yml dokumentů vytváříme implementaci pod ve vzdáleném zařízení. Poté zkontrolujeme, zda je modul Kubernetes přítomen nebo ne na zadaném místě ve vzdáleném zařízení.

Po ukončení playbooku nyní sestavujeme soubor inventáře, abychom vytvořili spojení mezi ovladačem Ansible a cílovým vzdáleným hostitelem.

Všechno:
hostitelé:
k8s_Master_Node:
ansible_host: 192.168.3.229
ansible_user: ansible
ansible_password: ********
ansible_connection: ssh
ansible_port: 22

[ vykořenit @ mistr ansible ] # ansible-playbook kubernates_main.yml

Zde je požadovaný výstup, kde vidíme, že úkoly jsou úspěšně umístěny na cílovém počítači:

Po umístění úlohy na cílový počítač zkontrolujeme, zda je „ansible-namespace“ v clusteru Kubernetes nebo ne. Používáme následující příkaz „grep“:

[ vykořenit @ mistr ansible ] # kubectl získat jmenný prostor | grep ansible-namespace

Pokud chcete zkontrolovat vytvořený pod v oboru názvů clusteru Kubernetes, napište pro kontrolu následující příkaz:

[ vykořenit @ mistr ansible ] # kubectl get pods --namespace ansible-namespace

Jak vidíte v předchozím výstupu, dostáváme moduly, které běží na zařízení. Nyní zkontrolujeme nasazení, které jsme provedli v clusteru Kubernetes. Ke kontrole již provedených nasazení použijte následující prohlášení:

[ vykořenit @ mistr ansible ] # kubectl získat nasazení --namespace ansible-namespace

Závěr

Zjistili jsme, co je zdroj zásob Kubernetes v Ansible. Také jsme se naučili, jak používat inventář Kubernetes v Ansible. Poté jsme implementovali příklad, abychom se jasněji dozvěděli o fungování zdroje zásob Kubernetes v Ansible.