kubectl delete
- Docker & Kubernetes kursu
- Orta seviye
- Ders 17/82
- 4 dk
kubectl delete ile kaynak silmeyi öğrenirsin.
kubectl delete
kubectl delete nesneleri ada, dosyaya ya da etikete göre siler:
kubectl delete pod web-7c5b9f6d8-abcde
kubectl delete -f web.yaml # dosyadaki tüm nesneler
kubectl delete deploy,svc -l app=web # etiketle eşleşenlerBir deployment'a ait pod'u silmek kalıcı değildir; deployment yenisini oluşturur. Uygulamayı gerçekten kaldırmak için deployment'ın kendisi silinir.
Düzgün kapanma
Silinen pod'a önce SIGTERM gönderilir ve terminationGracePeriodSeconds (varsayılan 30 sn) kadar beklenir. Takılı kalan bir pod'u hemen kaldırmak için zorla silme vardır; ama container'ın gerçekten durduğu garanti edilmez, son çare olarak kullanılır:
kubectl delete pod web-abc --grace-period=60
kubectl delete pod web-abc --grace-period=0 --force # son çare
kubectl delete pods --all # namespace'teki tüm pod'larUygulama Temizlik
Üç komut yaz: web.yaml'daki nesneleri sil; app=api etiketli deployment'ları ve service'leri sil; eski-pod adlı pod'u 5 saniyelik kapanma süresiyle sil.
Başlangıç kodu
# buraya yazÖrnek çözüm
kubectl delete -f web.yaml
kubectl delete deploy,svc -l app=api
kubectl delete pod eski-pod --grace-period=5Beklenen çıktı
deployment.apps "web" deleted deployment.apps "api" deleted service "api" deleted pod "eski-pod" deleted
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir deployment'ın pod'unu silersen ne olur?
- Deployment da silinir
- Hata verir
- Deployment yerine yenisini oluşturur Doğru cevap
- Uygulama tamamen kaldırılır
Açıklama: ReplicaSet istenen kopya sayısını korur.
2 Etiketle eşleşen nesneleri sil.
kubectl delete deploy,svc ____ app=web
kubectl delete deploy,svc -l app=web
Açıklama: -l (selector) etikete göre seçer.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
delete -f |
Dosyadakileri sil |
delete -l |
Etikete göre sil |
--grace-period |
Kapanma süresi |
--force |
Zorla, son çare |