CodeBlanks Logo Icon CodeBlanks

Sıralı başlatma

Pod'ların sıralı başlatma ve kapanmasını öğrenirsin.

Sıralı başlatma

Varsayılan podManagementPolicy: OrderedReady ile pod'lar sırayla oluşur: db-1, db-0 Ready olmadan başlamaz. Küçültme tersten olur (önce en yüksek sıra numarası). Kopyalar arasında bağımlılık yoksa Parallel hepsini aynı anda başlatır:

$ kubectl get pods -l app=db -w
db-0   0/1   ContainerCreating   0   2s
db-0   1/1   Running             0   9s
db-1   0/1   Pending             0   0s
db-1   1/1   Running             0   8s
db-2   0/1   Pending             0   0s

Bölümlü güncelleme

StatefulSet güncellemesi de tersten, birer birer ilerler. partition, yalnızca sıra numarası partition değerine eşit ya da büyük pod'ları günceller; yeni sürümü önce bir kopyada denemek (kanarya) için kullanılır:

spec:
  updateStrategy:
    type: RollingUpdate
    rollingUpdate:
      partition: 2       # yalnızca db-2 güncellenir

kubectl patch sts db -p '{"spec":{"updateStrategy":{"rollingUpdate":{"partition":0}}}}'   # hepsini güncelle

Uygulama Kanarya güncellemesi

Bir StatefulSet'in updateStrategy bölümünü yaz (updateStrategy: ile başlayarak): type: RollingUpdate, rollingUpdate.partition: 2. Ardından, ayrı bir satırda, db StatefulSet'inin pod'larını canlı izleyen komutu yaz (-l app=db -w).

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
updateStrategy:
  type: RollingUpdate
  rollingUpdate:
    partition: 2

kubectl get pods -l app=db -w

Beklenen çıktı

statefulset.apps/db configured
NAME   READY   STATUS        RESTARTS   AGE
db-2   1/1     Terminating   0          2h
db-2   0/1     Pending       0          0s
db-2   1/1     Running       0          9s

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 db-0 hazırlık kontrolünden hiç geçmezse OrderedReady politikasında ne olur?

  • db-0 silinir
  • db-1 birincil olur
  • db-1 ve db-2 hiç oluşturulmaz Doğru cevap
  • Hepsi aynı anda başlar

Açıklama: Sıradaki pod öncekinin Ready olmasını bekler.

2 Pod'ları aynı anda başlat.

Soru
spec:
  podManagementPolicy: ____
Cevap
spec:
  podManagementPolicy: Parallel

Açıklama: Parallel sıra beklemez.

3 Eşleştir.

Kavram Anlamı
OrderedReady Sırayla, hazır bekleyerek
Parallel Aynı anda
partition: 2 Yalnızca db-2 ve üstü
küçültme En yüksek sıradan başlar

İleri seviye bölümündeki tüm dersler