Dünyanın en detaylı ücretsiz FDE + DevOps kütüphanesi: 140 üzeri ders, 70 üzeri lab ve 80 uzun yazı, İngilizce ve Türkçe. Öğrenmeye başla →

DevOps Foundations · Modül 5: Container temelleri

Sağlık Kontrolleri, Sinyaller ve Kaynak Limitleri

Sağlığını raporlayamayan, SIGTERM'i duymayan, limitlerine sığmayan konteyner zamanlayıcının yönetemeyeceği yüktür. Bu ders konteynerleri gözetim altında iyi yurttaş yapar.

10 dk okuma

Kazanımlar

  • Canlılığı değil hazır olmayı test eden sağlık kontrolleri yazmak
  • SIGTERM'i ele alıp kapatmaları ani yerine zarif yapmak
  • Bellek ve CPU limitlerini ölçülmüş sayılardan kurmak
  • Başarısız kontrollerde ve OOM'da düzenleyicinin ne yaptığını açıklamak

Neden önemli

Sürüklemeli güncellemeler trafiği henüz ısınan konteynerlere gönderir, çünkü hazır kontrolü yoktur; kullanıcı her dağıtımda 500 görür. Kapatmalar uçuşan istekleri düşürür, çünkü uygulama SIGKILL gelene kadar SIGTERM'i yok sayar. Tek konteyner host belleğini yer, OOM katili kurbanlarını seçer. Üçü de gözetim arızasıdır: konteyner platforma sağlıklı, bitmiş ve yeterli nedir hiç söylememiştir.

Kavramlar

Sağlık kontrolleri konteynerin sunup sunamayacağını içeriden gerçek bağımlılık yolunda yanıtlar: veritabanını sorgulayan HTTP uç, takılmış uygulamada geçen süreç-var kontrolünü yener. Canlılık (takıldıysam yeniden başlat) ile hazır olmayı (ısınmam bitince trafik gönder) ayır; birleştirmek yalnızca otuz saniye daha isteyeni yeniden başlatır. Kontrolün kendi zaman aşımı ve denemeleri önemlidir: aralığından yavaş kontrol sondaları kuyruklar, konteyner sürekli hasta görünür.

Sinyaller konteynerleri bitirir; önce SIGTERM gelir, SIGKILL öncesi bekleme süresiyle. Uygulamalar TERM'i yakalamalı, iş almayı bırakmalı, uçuşan istekleri bitirmeli, sonra çıkmalıdır; M01 2. dersin kabuk-form CMD tuzağı burada geçerlidir, çünkü birçok çalışmada PID 1 sinyalleri varsayılan yok sayar. Exec-form CMD ve init (tini veya eşdeğeri) veya düzgün sinyal işleyici, on saniyelik infazları temiz boşaltmaya çevirir. Kapanma yolunu logla: sessiz çıkışlar hata ayıklanamaz çıkışlardır.

Limitler ölçülmüş gerçeği kodlar. Gözlenen tepe ve büyüme payıyla bellek limiti; adalet için CPU payları, sert tavan için kotalar. Limitsiz, tek konteynerin hostu aç bırakması demektir; tahminden limit tepede gizemli OOM infazları demektir. Yük altında ölç (minyatürde M18 yöntemi: küçük yük, tepeyi izle, pay ekle), kur, sonra infazın yalnızca gerçek aşırı yük ötesinde attığını doğrula. Düzenleyicilerde istek/limit çiftleri sayılar uygulamayı yansıttığında dürüst zamanlar.

Uygulamalı örnek

Dağıtımlar yirmi saniye kullanıcı görünür hata üretir. Kanıt EN metindeki gibidir: /ready ucu uygulamada yok, kontrol hep düşer; platform ya hiç yönlendirmez (takılı dağıtım) ya kör yönlendirir (kullanıcılara hata). Onarım iki yarımlıdır: /ready gerçek bağımlılığı test edecek (/ready veritabanına ulaşılabilir, göçler uygulanmış), kontrol başlatma süresine uyar (ısınma evresini kapsayan start-period). İstek istek izlenen sürüklemeli güncellemeyle doğrula: dağıtım boyunca sıfır hata, eski konteynerler çıkıştan önce boşalır. L15 labı zarif duruş ve limitleri ölçülü kanıtlar.

Yaygın yanlış hamle

HEALTHCHECK CMD true veya platformsuz varsayılanla kontrolsüzlük. Bozuk uygulamalarda yeşil paneller: trafik sunamayana akar, arızanın ilk sinyali kullanıcı şikâyetidir. Düşemeyen sağlık kontrolü kontrol değildir; sil, yokluğunu hisset, sonra gerçeğini yaz.

Lab ve sonraki adım

L15 labı sağlık, SIGTERM ele alma ve kaynak limitlerini ölçülü doğrular. Buradan yol M06'ya sürer: bu imajları derleyen, test eden ve taşıyan hat.

Mini kontrol

4 soruluk isteğe bağlı öz kontrol. Yanıtlar cihazından çıkmaz, saklanmaz ve hiçbir değerlendirmeye 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

Çalıştırdığın konteynere gerçek hazır ucu veya kontrolü ekle; ısınmayı kapsayan start-period ile dağıt; sıfır düşen istekli tek sürüklemeli güncellemeyi (veya durdur/başlat) göster. Kontrol tanımını ve kanıtı kaydet.

Geçme kriterleri

Kontrol süreç varlığı değil gerçek bağımlılık yolu test ediyor; start-period ölçülmüş ısınmayı kapsıyor; sıfır arızalı dağıtım istek kanıtıyla gösterilmiş.

İlerlemeni kaydetmek için giriş yapÜcretsiz hesap: yalnızca ders ilerlemen ve quiz sonuçların saklanır.