Ücretsiz ders · CKA Hazırlık Programı · Modül 6: Sorun giderme
Kontrol Düzlemi Bileşenlerini ve etcd Kurtarmak
API kendisi hastaysa kubectl de hastadır. Bu ders düğümden yukarı çalışır: statik bildirimler, bileşen logları, yeniden başlatmalar ve son çare ama ilk öncelikli etcd geri yükleme.
13 dk okuma
Kazanımlar
- Statik pod bildirimlerini listeleyip her bileşenin loglarını okumak
- Ölü apiserver, zamanlayıcı veya denetleyiciyi güvenle yeniden başlatmak
- Veri gittiyse anlık görüntüden etcd geri yüklemek, yalnız pod gittiyse değil
- Kurtarmayı büyüyen kontrollerle API üzerinden kanıtlamak
Neden önemli
Kontrol düzlemi arızası aletleri kaldırır: kubectl yok, olay yok, önceki derslerin sondaj sırası yok. Kurtarma düğüm erişimi artı statik pod bilgisiyle koşar; sınav tam bu tersine çevrimi ölçer, çünkü açılış zincirini anlayan işletmeciyi yalnız API sürenlerden ayırır.
Kavramlar
kubeadm kontrol düzlemini /etc/kubernetes/manifests içindeki bildirimlerden statik pod koşturur: etcd, kube-apiserver, kube-controller-manager, kube-scheduler; her birine bir dosya. Kubelet dizini izler, dosyası mevcut ve geçerli olanı yeniden başlatır: bildirime dokunmak bileşeni yeniden başlatır, kaldırmak durdurur. kubectl çökmüş olabileceğinden loglar kapsayıcı çalıştırıcıdadır (crictl logs).
Ölü zamanlayıcı veya denetleyici iş yüklerini dondurur, sunum sürer: bildirim dokunuşuyla yeniden başlat, yeni kapsayıcının açılışını izle. Ölü apiserver tam API körlüğüdür: bildirimini, sertifikalarını (süre dolumu yıldönümlerinde sessiz öldürür), etcd erişimini denetle. Yığın üçlüde ölü etcd üyesi çekirdek izlemedir: üçte ikisi sağlıklı kalmalı; geri yükleme sondajı kayıp üyeyi anlık görüntüden yeniden kurar.
Uygulamalı örnek
03:12de API kör, düğüm erişimi çalışır, metalden yukarı sondaj:
# 1. bildirimler mevcut ve geçerli mi?
ls -l /etc/kubernetes/manifests/
# 2. dayatacak kubelet koşuyor mu?
systemctl status kubelet
# 3. ölü bileşenler ne diyor?
crictl ps -a | grep -E 'apiserver|etcd|scheduler'
crictl logs <apiserver-id> | tail -30
# "x509: certificate has expired" -> yenile: kubeadm certs renew all
sudo kubeadm certs renew all
sudo touch /etc/kubernetes/manifests/kube-apiserver.yaml # yeniden başlat
# 4. etcd üyesi çöktü mü? önce çekirdek, anlık görüntü geri yükleme etcd dersindeki gibi
ETCDCTL_API=3 etcdctl endpoint health --cluster # sertifika bayraklarıyla
# 5. büyüyen kanıt: kubectl get --raw=/healthz, sonra düğümler, sonra podlarSertifika süresi en yaygın sessiz katildir: takvime işle, izle, elle düzenlemek yerine komutla yenile. Kanıt ham sağlıktan tam nesne okumalara büyür; geçilen her düzey kalıcıdır.
Sınav notları
Statik bildirimi silmek bileşeni durdurur: dizini hevesle temizleme. Apiserver yeniden başlatma uçuşan kubectl bağlantılarını düşürür: beklenen, yeniden bağlan. Ve çekirdek bilincsiz etcd geri yükleme üçlüyü bölebilir: her seferinde tek üye, aralarda sağlık kontrollü.
Mini kontrol
4 soruluk öz kontrol. Yanıtların cihazında kalır, saklanmaz ve gönderilmez. Yalnızca geçen skor (ör. 4 soruda 3) kaydedilir ve yalnızca ders ilerlemesinin kilidini açmak için: bir dersin tamamlanmış sayılması için en az 3 doğru gerekir. Hiçbir sertifika değerlendirmesine sayılmaz.
Ders geri bildirimi
Henüz yayında geri bildirim yok.
Geri bildirim yazmak için giriş yap ve dersi tamamla.
Kaynaklar
Alıştırma
Kurgusal yığın küme bir etcd üyesi artı zamanlayıcıyı aynı anda kaybeder. Kurtarma sırasını her adım sonrası kanıt komutuyla yaz ve önce hangi bileşeni düzelttiğini nedeninle söyle.
Geçme kriterleri
Sıra bildirimler, kubelet, loglar, zamanlayıcı yeniden başlatma, etcd çekirdek artı geri yükleme, büyüyen API kanıtıdır; önce zamanlayıcı (veya gerekçeli sıra) sunum-karşı-durum gerekçelidir.