Ücretsiz ders · CKA Hazırlık Programı · Modül 6: Sorun giderme
Zaman Baskısında Gözlemle, Daralt, Doğrula
Sorun giderme yetenek değil disiplindir: kuramsız gözlemle, yarıya bölerek daralt, kurtarmayı kutlamak yerine nedeni kanıtla. Sınavın yüzde 30u farklı belirtili bu döngüdür.
11 dk okuma
Kazanımlar
- Dokunmadan önce güncel belirtiyi tek yanlışlanabilir cümleyle söylemek
- Sistemin yarısını eleyen ikili bölme sınamalarıyla daraltmak
- Düzeltmenin nedeni kanıtladığını, kurtarmayla çakışmadığını doğrulamak
- Sonraki oluşu beş dakikalık işe çeviren olay kaydını yazmak
Neden önemli
Saat baskısında mühendisler ya debelenir (rastgele yeniden başlatır) ya donar (her logu okur). Yöntem ikisini de yener; her adımı sınırlar: tek belirti cümlesi, tek bölme sınaması, tek kanıt. CKA başarısızlıklarının çoğu bilgi boşluğu değil yöntem çöküşüdür: aday komutları biliyordu, yanlış katmana uyguladı.
Kavramlar
Gözlemlemek arızayı hassas anlatmaktır: hangi podlar, ne zamandır, ne değişti, olaylar ne diyor. Yaz; bellek stres altında kendini düzenler. Daraltmak ikili bölmeler demektir: uygulama mı platform mu (exec artı log ile olaylara karşı), DNS mi ağ mı (ad ile ham IP), tek pod mu tüm podlar mı (tekil ile filo). Her sınama tüm dalı elemeli, sezgiyi doğrulamamalı.
Doğrulamak nedenselliği kanıtlamaktır: düzeltme uygulandı, belirti gitti, evrede geri alınmış (veya gerekçelenmiş) düzeltmeyle belirti döndü. Kanıtsız kurtarma batıl inançtır; sonraki aynı olayı düşürür. Olay kaydı dört satırdır: belirti, sonuçlu koşulan sınamalar, neden, düzeltme artı önlem. Gelecekteki sen gece 3te okursun.
Uygulamalı örnek
14:05ten beri kasa hataları, 14:00 dağıtımı, tek şüpheli:
# gözlem: belirti cümlesi
# "14:05ten beri tüm kasa podlarından POST /pay 500 dönüyor; 14:00 dağıtımı sonrası; olaylarda öldürme yok."
# daraltma 1: platform mu uygulama mı?
kubectl get events --sort-by=.lastTimestamp | tail -10 # sessiz: uygulama tarafı
# daraltma 2: yeni kod mu yeni yapılandırma mı?
kubectl rollout history deployment/checkout # 14:00da 7. revizyon
kubectl exec deploy/checkout -- printenv | grep -i PAY_ # yeni değişken PAY_API_V2=1
# daraltma 3: eski revizyon hâlâ sunuyor mu?
kubectl rollout undo deployment/checkout --to-revision=6
# hatalar durur: neden kanıtlandı, tesadüf değil
# doğrula: 7. revizyonu evrede yeniden uygula, hatalar döner -> nedensellik onaylıKayıt komutlardan kendiliğinden yazar: belirti, çıktılı üç daraltma, neden (7. revizyondaki taşınmamış bayrak), düzeltme (taşıma artı yeniden yayın) ve önlem (bayrak kapılı dağıtımlar).
Sınav notları
Belirti cümlesi en değerli dakikadır: belirsiz belirti belirsiz sınama doğurur. Zaman baskısında doğrulama adımını asla atlama; sınav düzeltmeyi notlar ve kanıtsız düzeltmeler geri alınmış tahmindir. Ve sınama başına tek değişken değiştir: paralel değişiklikler her sonucu okunmaz yapar.
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 belirti al (düğüm yeniden başlaması sonrası bir servisin tüm podları CrashLoop): gözlem cümlesi artı elediği dalı söyleyen üç ikili bölme sınaması yaz. Son nedenini kanıtlayacak doğrulama adımını adlandır.
Geçme kriterleri
Belirti cümlesi kapsam artı zaman artı değişiklikle yanlışlanabilir; üç daraltma dal eler; doğrulama adımı geri alınmış veya gerekçeli kanıtı adlandırır.