CodeBlanks Logo Icon CodeBlanks

Özet - Multi-cluster

kubeconfig ve cross-cluster service'i birleştirerek bağlam değiştirirsin.

Özet: multi-cluster

Bu grupta:

  • Çok cluster yalıtım, erişilebilirlik, mevzuat ve ölçek için kullanılır; bedeli işletme yüküdür.
  • Dağıtım: GitOps (Argo CD ApplicationSet, Flux) ya da Karmada gibi yöneticiler; KubeFed bırakıldı.
  • Kubeconfig: clusters + users + contexts; --context, KUBECONFIG birleştirme, exec tabanlı kimlik.
  • Cluster'lar arası servis: MCS (ServiceExport, clusterset.local), mesh ya da iç LB; CIDR'lar çakışmamalı.
  • Cluster kaydı etiketli kayıtlardır; ApplicationSet cluster generator'ı etikete göre dağıtır.
for c in uretim-eu uretim-tr; do kubectl --context $c get deploy -n magaza; done

Uygulama Tüm cluster'larda denetim

Tek satırlık bir kabuk döngüsü yaz: for c in uretim-eu uretim-tr; do kubectl --context $c get deploy -n magaza; done. Ardından ayrı bir satırda uretim-tr context'inde magaza'daki api deployment'ının hazır kopya sayısını jsonpath='{.status.readyReplicas}' ile yazdır.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
for c in uretim-eu uretim-tr; do kubectl --context $c get deploy -n magaza; done
kubectl --context uretim-tr get deploy api -n magaza -o jsonpath='{.status.readyReplicas}'

Beklenen çıktı

NAME   READY   UP-TO-DATE   AVAILABLE   AGE
api    4/4     4            4           12d
web    3/3     3            3           12d
NAME   READY   UP-TO-DATE   AVAILABLE   AGE
api    2/2     2            2           9d
web    2/2     2            2           9d
2

Soru ve cevaplar

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

1 Yanlış cluster'da komut çalıştırma riskini azaltmanın iyi yolu hangisidir?

  • Cluster'lara aynı adı vermek
  • Betiklerde her komuta açıkça --context yazmak Doğru cevap
  • Tek kubeconfig'i paylaşmak
  • current-context'e güvenmek

Açıklama: Etkin context başka bir terminalde değiştirilmiş olabilir.

2 Komutu belirli bir cluster'da çalıştır.

Soru
kubectl ____ uretim-tr get pods -n magaza
Cevap
kubectl --context uretim-tr get pods -n magaza

Açıklama: --context etkin context'i değiştirmeden hedef seçer.

3 Eşleştir.

Kavram Anlamı
--context Tek komut hedefi
ApplicationSet Çok cluster dağıtımı
ServiceExport Cluster'lar arası servis
kubeconfig Bağlantı bilgisi

Uzman bölümündeki tüm dersler