Nasazení představují sadu identických podů. Nasazení spustí několik kopií aplikace. Automaticky nahradí všechny instance, které selžou. Pomáhá zajistit, aby jedna nebo více instancí aplikace bylo vždy spuštěno a spuštěno. Nasazení jsou spravována ovladačem Kubernetes Deployment. Implementace používají šablonu podů, která obsahuje specifikaci podů.
Nasazení Kubernetes je objekt prostředku v Kubernetes, který poskytuje deklarativní aktualizace aplikací.
Další informace o specifikacích nasazení najdete v dokumentaci rozhraní Kubernetes API
V tomto článku se naučíme vytvořit nasazení v Kubernetes a provádět na něm operace.
Předpoklady
Kubernetes Cluster s alespoň 1 pracovním uzlem.
Pokud se chcete naučit vytvářet Kubernetes Cluster, klikněte sem. Tato příručka vám pomůže vytvořit cluster Kubernetes s 1 hlavním a 2 uzly na instancích AWS Ubuntu 18l04 EC2.
Co uděláme
Vytvořte rozmístění
Vytvořit rozmístění
Vytvořte soubor a přidejte do něj následující definici nasazení.
vim my-deployment.yaml
apiVersion: apps/v1 kind: Deployment metadata: labels: app: httpd-frontend name: httpd-frontend spec: replicas: 1 selector: matchLabels: app: httpd-frontend template: metadata: labels: app: httpd-frontend spec: containers: - image: httpd:2.4-alpine name: httpd
V tomto příkladu:
- Bude vytvořeno nasazení s názvem httpd-frontend označené
metadata: name
pole. - Rozmístění vytvoří 1 repliku podu označenou
replicas
pole. - Šablona podu nebo
spec: template
označuje, že jeho moduly jsou označeny
.app: httpd-frontend
- Specifikace šablony podu nebo
template: spec
označuje, že pody provozují jeden kontejner, httpd, který spouští obrázek httpd: ve verzi 2.4-alpine.
Pomocí následujícího příkazu vytvořte rozmístění
kubectl create -f my-deployment.yaml
Jakmile vytvoříte rozmístění, můžete získat jeho podrobnosti pomocí následujícího příkazu.
kubectl get deployment | grep httpd-frontend
Deployment vytvořil sadu replik, k jejímu zobrazení použijte následující příkaz.
kubectl get replicaset | grep httpd-frontend
Pody vytvořené sadou replik lze vypsat pomocí následujícího příkazu, který zobrazí pody odpovídající zadanému názvu.
kubectl get pods | grep httpd-frontend
Nyní můžete otestovat automatické vytvoření podu, pokud existující selže, jeho odstraněním.
Chcete-li odstranit existující modul, použijte následující příkazy.
kubectl get pods | grep httpd-frontend
kubectl delete pod httpd-frontend-74fd6fd8cd-8nj2s
kubectl get pods | grep httpd-frontend
Na snímku obrazovky výše můžete vidět, že pod byl vytvořen po smazání stávajícího podu.
Nyní, i když je sada replik odstraněna, nasazení ji vytvoří.
Chcete-li to otestovat, odstraňte sadu replik pomocí následujícího příkazu.
kubectl get replicaset | grep httpd-frontend
kubectl delete replicaset httpd-frontend-74fd6fd8cd
kubectl get replicaset | grep httpd-frontend
Na výše uvedeném snímku obrazovky můžete vidět, že i po smazání sady replik se vytvořila.
Chcete-li zobrazit trochu více informací o podu, můžete v příkazu použít „-o wide“ následovně.
kubectl get pods | grep httpd-frontend
kubectl get pods -o wide | grep httpd-frontend
Chcete-li získat úplné informace o modulu, můžete jej popsat pomocí následujícího příkazu.
kubectl describe pod httpd-frontend
Nyní, pokud již nepotřebujete svou aplikaci nasazenou pomocí implementace, lze ji smazat odstraněním implementace.
K odstranění nasazení použijte následující příkazy.
kubectl get deployment | grep httpd-frontend
kubectl delete deployment httpd-frontend
kubectl get deployment | grep httpd-frontend
Na výše uvedeném snímku obrazovky můžete vidět, že po odstranění se rozmístění nevytvořilo. Pokud však modul nebo sadu replik, které byly vytvořeny jako součást nasazení, smažete, vytvoří se.
Závěr
V tomto článku jsme se naučili vytvořit nasazení a vyzkoušeli operaci odstranění na Pod, Replicaset a Deployment.