Kubernetes Deployment spouští několik replik vaší aplikace a automaticky nahradí všechny instance, které selžou nebo přestanou reagovat.
Když cvičíte Kubernetes, často budete muset odstranit nasazení Kubernetes.
Odstranění nasazení je snadné díky příkazu kubectl delete deployments:
kubectl delete deployment deployment_name
Proberu to trochu podrobněji s kroky k získání názvu nasazení. Ukážu vám také další způsob, jak odstranit nasazení v Kubernetes.
K odstranění nasazení Kubernetes použijte příkaz kubectl delete deployment
I když je karta obvykle dokončena, bylo by lepší uvést název Deployment, který chcete odstranit.
[email protected]:~# kubectl get deployments
NAME READY UP-TO-DATE AVAILABLE AGE
my-dep 2/2 2 2 4m22s
Jakmile budete mít název Deployment, jednoduše jej použijte takto:
kubectl delete deployments my-dep
Měl by zobrazit výstup, který vám řekne, že vaše nasazení je odstraněno:
[email protected]:~/pod-create# kubectl delete deployments my-dep
deployment.apps "my-dep" deleted
Můžete to ověřit kontrolou dostupných nasazení:
[email protected]:~/pod-create# kubectl get deployments
No resources found in default namespace.
Můžete také použít nasazení nebo nasazení (s písmenem s) místo nasazení v kubectl delete deployment
příkaz. Všechno je to stejné.
Odstranění nasazení Kubernetes z konkrétního jmenného prostoru
kubectl delete deployments
příkaz odstraní nasazení, která jsou přítomna ve "výchozím" jmenném prostoru, pokud nezadáte jiný jmenný prostor.
Co je jmenný prostor v Kubernetes?
Jmenné prostory jsou určeny pro použití v prostředích s mnoha uživateli rozmístěnými ve více týmech nebo projektech. Je to jako samostatný virtuální cluster v clusteru Kubernetes.
Například můžete mít samostatné jmenné prostory, abyste izolovali své pracovní zatížení pro produkční, pracovní a vývojová prostředí.
Seznam všech dostupných jmenných prostorů a jejich nasazení
Chcete-li zobrazit všechny jmenné prostory, použijte následující příkaz:
[email protected]:~# kubectl get namespaces
NAME STATUS AGE
default Active 46d
kube-node-lease Active 46d
kube-public Active 46d
kube-system Active 46d
webapps Active 22d
Můžete také uvést všechna nasazení ze všech jmenných prostorů:
[email protected]:~# kubectl get deployments --all-namespaces
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
default my-dep2 2/2 2 2 3h29m
kube-system calico-kube-controllers 1/1 1 1 46d
kube-system coredns 2/2 2 2 46d
webapps webapps-dep 2/2 2 2 5h19m
Když máte jmenný prostor a název nasazení, můžete je zadat do příkazu nasazení kubectl delete:
[email protected]:~# kubectl delete deployments --namespace=webapps webapps-dep
deployment.apps "webapps-dep" deleted
Jak můžete vidět, webapps-dep
byl smazán.
[email protected]:~# kubectl get deployments --all-namespaces
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
default my-dep2 2/2 2 2 3h29m
kube-system calico-kube-controllers 1/1 1 1 46d
kube-system coredns 2/2 2 2 46d
Smazání více nasazení
Můžete odstranit více než jedno nasazení Kubernetes zadáním jejich názvů takto:
[email protected]:~/pod-create# kubectl delete deployment my-dep my-dep-2 --namespace=default
Odstranění nasazení Kubernetes pomocí jeho konfiguračního souboru YAML
Konfigurační soubor YAML můžete také použít k odstranění prostředku, který je s ním spojen.
[email protected]:~/pod-create# kubectl delete -f deployment-definition.yml
deployment.apps "my-dep" deleted
Dovolte mi, abych vám to ukázal krok za krokem.
Vytvořte nové nasazení pomocí souboru deployment-definition.yml:
[email protected]:~# cat pod-create/deployment-definition.yml
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-dep
labels:
app: webapp
namespace: default
spec:
template:
metadata:
name: my-dep-pods
labels:
app: webapp
tier: front-end
spec:
containers:
- name: httpd
image: httpd
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
replicas: 2
selector:
matchLabels:
tier: front-end
Vytvořte nasazení pomocí výše uvedeného souboru YAML:
[email protected]:~/pod-create# kubectl apply -f deployment-definition.yml
deployment.apps/my-dep created
Nyní můžete vidět Nasazení:
[email protected]:~# kubectl get deployments --all-namespaces
NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE
default my-dep 2/2 2 2 1m13s
Pokud nyní doporučíte stejný soubor YAML pro účely smazání, odstraní se tím zdroje (zde rozmístění) spojené s tímto souborem.
[email protected]:~/pod-create# kubectl delete -f deployment-definition.yml
deployment.apps "my-dep" deleted
Můžete to ověřit výpisem všech nasazení:
[email protected]:~/pod-create# kubectl get deployments
No resources found in default namespace.
Doufám, že se vám tento rychlý tip K8s líbí. Budeme se věnovat dalším výukovým programům Kubernetes. Přihlaste se k odběru dalších výukových materiálů.