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: namepole. - Rozmístění vytvoří 1 repliku podu označenou
replicaspole. - Šablona podu nebo
spec: templateoznačuje, že jeho moduly jsou označeny.app: httpd-frontend - Specifikace šablony podu nebo
template: specoznač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.