İçeriğe Atla
Rehberler · 11 dk okuma · görüntülenme
100%

Kubernetes Node OS Patch için Bakım Dalgası Tasarımı

Node patch’lerini “hepsi birden” yerine bakım dalgalarıyla yönetmek: drain, PDB, parallelism ve güvenli geri dönüş.

Kubernetes node bakım dalgalarını gösteren kapak görseli

Kubernetes tarafında “node işletim sistemi patch’i” çoğu zaman ya ertelenir ya da agresif şekilde uygulanıp incident çıkarır. İki uç da yanlıştır. Sağlam yaklaşım; patch’i bakım dalgalarına bölmek, etkiyi sınırlamak ve geri dönüşü kolaylaştırmaktır.

Kubernetes node bakım dalgalarını gösteren kapak görseli
Bakım dalgaları, patch’i bir “operasyon olayı” olmaktan çıkarıp rutin bir iş haline getirir.

Ön koşullar: Patch’e başlamadan önce

Ben patch sürecine girmeden şu üç şeyi şart koşarım:

  • PodDisruptionBudget (PDB) kritik servislerde tanımlı mı?
  • Readiness/Liveness probe’ları gerçek mi? (sadece “/healthz 200” değil)
  • Capacity headroom var mı? (en az 1 dalga node’u kaldırabilecek)

Tasarım: Dalga (wave) nedir?

Dalga, aynı anda patch’e girecek node grubudur. İyi dalga tasarımı:

  • AZ/zone bazında dengelidir
  • Aynı servis’in tüm pod’larını aynı anda etkilemez
  • Geri dönüşte “hangi dalgadaydık?” sorusunu netleştirir

Pratik bir örnek:

  • Wave 0 (canary): 1–2 node
  • Wave 1: toplamın %10’u
  • Wave 2: toplamın %25’i
  • Wave 3: kalanlar

Uygulama: Node’ları dalgalara etiketle

Basit bir etiket:

kubectl label node worker-01 maintenance.wave=0
kubectl label node worker-02 maintenance.wave=1
kubectl label node worker-03 maintenance.wave=1

Etiketi gitops ile yönetebiliyorsanız daha iyi; ama ilk adım olarak manuel bile yeterlidir.

Operasyon akışı: Drain → patch → uncordon

Her node için minimum akış:

  1. cordon
  2. drain (güvenli parametrelerle)
  3. OS patch / reboot
  4. Node ready olunca uncordon
  5. Servis sinyallerini kontrol et

Drain örneği:

kubectl cordon worker-01
kubectl drain worker-01 --ignore-daemonsets --delete-emptydir-data --grace-period=60 --timeout=10m

Sonra patch/reboot ve:

kubectl uncordon worker-01

Parallelism: Aynı anda kaç node?

Kuralım basit:

  • Canary dalgasında 1
  • Sonraki dalgalarda AZ başına 1 (veya servis kritikliğine göre daha az)

Yanlış olan; “toplam node’un %20’si” gibi tek metrikle karar vermek. Zone dağılımı ve servis replika sayısı daha belirleyicidir.

Geri dönüş (rollback) planı

Patch sürecini güvenli yapan şey “hiç sorun olmaması” değil, sorunda ne yapacağının net olmasıdır:

  • Wave 0 sonrası p95/p99/5xx kötüleşirse, Wave 1’e geçme
  • Kernel/driver problemi varsa aynı dalgada dur ve hızlıca image geri al
  • Node’ları “known-good” AMI/image’a döndürme adımı hazır olsun

Minimum runbook kontrol listesi

  • Dalgalar ve parallelism tanımlı
  • PDB ve probe’lar doğrulandı
  • Canary dalga hazır, on-call hazır
  • Drain komutları standart
  • Rollback adımı net
  • Patch sonrası doğrulama (SLO + iş metriği)

Bu disiplinle node patch, “gece yapılan riskli iş” değil; planlı, ölçülebilir ve tekrarlanabilir bir operasyon olur.

Paylaş:

Bu yazı faydalı oldu mu?

Yükleniyor...

Bu yazı nasıldı?

ME

Mustafa Erbay

Sistem Mimarisi · Network Uzmanı · Altyapı, Güvenlik ve Yazılım

2006'dan bu yana sistem mimarisi, network, sunucu altyapıları, büyük yapıların kurulumu, yazılım ve sistem güvenliği ekseninde çalışıyorum. Bu blogda sahada karşılığı olan teknik deneyimlerimi paylaşıyorum.

Kişisel Notlar

Bu notlar sadece sizde saklanır. Tarayıcınızda yerel olarak tutulur.

Hazır 0 karakter

Yorumlar

Sunucu Taraflı AI Moderasyon

Yorumlar sunucuda yapay zeka ile denetlenir ve kalıcı olarak saklanır.

?
0/2000

Sunucu taraflı AI denetim

Yeni yazılardan haberdar olun

Haftada bir yeni içerikler ve kaynaklar doğrudan e-postanıza gelsin.

Spam yok. Yalnızca yeni ve önemli içerikler için e-posta gönderilir.

Okuma İstatistikleriniz

0

Yazı Okundu

0dk

Okuma Süresi

0

Gün Serisi

-

Favori Kategori

İlgili Yazılar