V tomto článku uvidíme, jak vytvořit náš první Pod na Kubernetes Cluster. Uvidíme kroky k vytvoření pod pro Nginx.
Pod je základní spouštěcí jednotka aplikace Kubernetes. Jedná se o sbírku kontejnerů, které jsou společně nasazeny na stejném hostiteli. Pody v clusteru Kubernetes lze použít dvěma způsoby:
- Pody s jedním kontejnerem: Toto je nejoblíbenější způsob použití pod. Kubernetes spravuje pody namísto přímé správy kontejnerů.
- Pody s několika kontejnery, které musí spolupracovat: V tomto modelu může mít pod více kontejnerů, které jsou těsně propojeny za účelem sdílení zdrojů.
Jak je uvedeno výše, pod může obsahovat více kontejnerů, vždy se doporučuje mít jeden kontejner, pokud je to možné. Seskupování více kontejnerů do jednoho podu je poměrně pokročilý případ použití. Tento vzor byste měli používat pouze ve specifických případech, kdy jsou vaše kontejnery pevně spojeny.
Pokud nasadíme jeden kontejner, obecně můžeme nahradit slovo „pod“ slovem „kontejner“. Moduly umožňují sdílení dat a komunikaci mezi svými složkami.
Pod vždy běží na uzlu. Uzel je pracovní počítač v Kubernetes a může to být buď virtuální nebo fyzický počítač, v závislosti na clusteru. Každý uzel je řízen Masterem. Uzel může mít více podů a hlavní server Kubernetes automaticky zpracovává plánování podů napříč uzly v clusteru.
5 fází životního cyklu podu
- Nevyřízeno : Pod byl přijat systémem Kubernetes, ale jeden nebo více obrázků kontejneru nebylo vytvořeno. To zahrnuje čas před naplánováním a také čas strávený stahováním obrázků přes síť, což může chvíli trvat.
- Spuštěno : Pod byl navázán na uzel a všechny kontejnery byly vytvořeny. Alespoň jeden kontejner stále běží nebo se spouští nebo restartuje.
- Úspěšné : Všechny kontejnery v podu byly úspěšně ukončeny a nebudou restartovány.
- Nezdařilo se : Všechny kontejnery v podu byly ukončeny a alespoň jeden kontejner byl ukončen neúspěšně. To znamená, že kontejner buď skončil s nenulovým stavem, nebo byl ukončen systémem.
- Neznámé : Z nějakého důvodu nebylo možné zjistit stav modulu, obvykle kvůli chybě při komunikaci s hostitelem modulu.
Předpoklady
- Účet AWS (vytvořte si jej, pokud jej nemáte)
- Cluster Kubernetes (Pokud se chcete naučit vytvářet cluster Kubernetes, vyhledejte „Nastavení clusteru Kubernetes na AWS EC2 Instance Ubuntu 18.04 LTS pomocí kubeadm“).
Poznámka:Pokud nechcete zkoušet instance AWS EC2, můžete k vytvoření clusteru použít také virtuální počítače.
Co uděláme
- Vytvořte Kubernetes Pod pro NginX a smažte jej
Vytvoření Kubernetes Pod pro Nginx
Chceme-li vytvořit náš první pod, stačí vytvořit nový adresář, do kterého vytvoříme soubor objektu/podu. Pomocí následujícího příkazu vytvořte nový adresář ve vašem systému
mkdir my-first-pod
cd my-first-pod/
Než budeme pokračovat, ověřte stav clusteru.
Chcete-li zkontrolovat dostupné uzly v clusteru a zkontrolovat verzi souboru „kubectl " použijte následující příkazy.
sudo kubectl get nodes
verze sudo kubectl
Použijte následující příkaz k zobrazení podů ve výchozím jmenném prostoru. Protože toto bude náš první modul v Clusteru, ve výchozím jmenném prostoru neuvidíte žádný modul.
sudo kubectl get pods
Jakmile budete mít v clusteru k dispozici uzly, jste připraveni vytvořit svůj první pod.
Vytvořte soubor "my-first-pod.yml" s následujícím blokem kódu
vim my-first-pod.yml
--- apiVersion: v1 kind: Pod metadata: name: myfirstpod labels: app: web spec: containers: - name: myfirstcontainer image: nginx ports: - containerPort: 80
Zde
- apiVersion :APIVersion definuje verzované schéma této reprezentace objektu.
- laskavý :Druh objektu, který chcete vytvořit. Tady je pod, protože vytváříme pod.
- jméno :Název musí být v rámci jmenného prostoru jedinečný.
- štítky :Mapa řetězcových klíčů a hodnot, které lze použít k organizaci a kategorizaci objektů
- spec :Specifikace požadovaného chování pod.
Nyní jste připraveni vytvořit pod pomocí následujících příkazů.
sudo kubectl apply -f my-first-pod.yml
Podrobnosti podů můžete získat pomocí následujícího příkazu.
sudo kubectl get pods
Chcete-li ověřit, zda je modul skutečně spuštěn, spusťte následující příkaz. Tím se spustí příkaz uvnitř našeho modulu (Poznámka:Je to podobné jako spuštění docker exec .)
sudo kubectl exec myfirstpod — stav služby nginx
Pokud již modul nepotřebujete, můžete jej smazat pomocí příkazu kubectl delete.
sudo kubectl odstranit pods myfirstpod
Pro ověření, zda byl modul smazán, použijte následující příkaz.
sudo kubectl get pods
Závěr
V tomto článku jsme se dozvěděli základní věci o Pods, jejich fázích životního cyklu. Viděli jsme kroky k vytvoření našeho prvního Nginx Podu na Kubernetes. Také jsme viděli, jak lze získat podrobnosti o Podu. Spolu s tím jsme prozkoumali příkaz k odstranění modulu.