GNU/Linux >> Znalost Linux >  >> Linux

Jak odstranit moduly v Kubernetes [Rychlé tipy K8s]

Při práci v prostředí clusteru Kubernetes nastanou chvíle, kdy se dostanete do situace, kdy budete muset odstranit pody z jednoho ze svých pracovních uzlů.

Možná budete muset odladit problémy se samotným uzlem, upgradovat uzel nebo jednoduše zmenšit váš cluster.

Akce smazání Kubernetes pod je velmi jednoduchá pomocí kubectl delete pod příkaz:

kubectl delete pod pod-name

Existují však konkrétní kroky, které byste měli podniknout, abyste minimalizovali narušení vaší aplikace. Podrobně to vysvětlím v tomto článku.

Odstranění modulů Kubernetes elegantně

Nejprve uveďte seznam všech modulů:

[email protected]:~# kubectl get pods -o wide
NAME                      READY   STATUS    RESTARTS   AGE     IP               NODE          NOMINATED NODE   READINESS GATES
my-dep-557548758d-d2pmd   1/1     Running   0          2d23h   172.16.213.194   kworker-rj2   <none>           <none>
my-dep-557548758d-gprnr   1/1     Running   0          2d23h   172.16.213.49    kworker-rj1   <none>           <none>
pod-delete-demo           1/1     Running   0          4s      172.16.213.196   kworker-rj2   <none>           <none>

Nyní předpokládejme, že chcete odstranit pod s názvem "pod-delete-demo", spusťte následující příkaz:

[email protected]:~# kubectl delete pod pod-delete-demo
pod "pod-delete-demo" deleted

Vypsáním všech modulů potvrďte, že je daný modul smazán:

[email protected]:~# kubectl get pods -o wide
NAME                      READY   STATUS    RESTARTS   AGE     IP               NODE          NOMINATED NODE   READINESS GATES
my-dep-557548758d-d2pmd   1/1     Running   0          2d23h   172.16.213.194   kworker-rj2   <none>           <none>
my-dep-557548758d-gprnr   1/1     Running   0          2d23h   172.16.213.49    kworker-rj1   <none>           <none>

Můžete vidět, že není spuštěn žádný pod-delete-demo pod.

Vynutit odstranění Kubernetes podů

Proč potřebujete vynutit smazání modulu?

Někdy se modul zasekne v ukončení/neznámo stavu na nedostupném uzlu po uplynutí časového limitu.

Pody mohou také vstoupit do těchto stavů, když se uživatel pokusí o řádné smazání Podu na nedosažitelném uzlu.

V těchto scénářích můžete modul násilím smazat.

Pokud chcete násilně odstranit pod pomocí kubectl verze>=1.5, proveďte následující:

kubectl delete pods pod_name --grace-period=0 --force

Pokud používáte jakoukoli verzi kubectl <=1.4, měli byste vynechat --force možnost a použití:

kubectl delete pods pod_name --grace-period=0

Nyní smažte modul „pod-delete-demo“ výše uvedeným způsobem:

[email protected]:~# kubectl delete pod pod-delete-demo --force --grace-period=0 --namespace=default
warning: Immediate deletion does not wait for confirmation that the running resource has been terminated. The resource may continue to run on the cluster indefinitely.
pod "pod-delete-demo" force delete

POZNÁMKA: Vynutit odstranění podů ne počkejte na potvrzení z kubeletu, že modul byl ukončen.

Pokud i po těchto příkazech je modul zaseknutý v Unknown stavu, použijte k odstranění modulu z clusteru následující příkaz:

kubectl patch pod pod-delete-demo -p '{"metadata":{"finalizers":null}}'

Potvrďte, že modul byl smazán:

[email protected]:~# kubectl get pods -o wide
NAME                      READY   STATUS    RESTARTS   AGE     IP               NODE          NOMINATED NODE   READINESS GATES
my-dep-557548758d-d2pmd   1/1     Running   0          2d23h   172.16.213.194   kworker-rj2   <none>           <none>
my-dep-557548758d-gprnr   1/1     Running   0          2d23h   172.16.213.49    kworker-rj1   <none>           <none>

Doufám, že vám tento tip Kubernetes pomůže. Zůstaňte přihlášeni k odběru dalších tipů a výukových programů DevOps.

Rakesh Jain
DevOps Professional | RHCA | Jenkins | Git | Docker | Kubernetes | Ansible | Prometheus | Grafana | AWS Cloud

Linux
  1. Jak odstranit nasazení Kubernetes [Rychlé tipy K8s]

  2. Jak restartovat moduly v Kubernetes [Rychlý tip K8s]

  3. Jak číst uzly v Kubernetes [Rychlý tip K8s]

  1. Jak nasadit svůj první modul na clusteru Kubernetes

  2. Jak odstranit službu v Kubernetes

  3. Jak spustit historii Pods na Kubernetes Node?

  1. Jak nasadit Redis Cluster na Kubernetes

  2. Jak restartovat Kubernetes Pods

  3. Jak nainstalovat Kubernetes (k8s) Cluster na RHEL 8