CodeBlanks Logo Icon CodeBlanks

Multi-cluster nedir?

Birden çok cluster yönetimi kavramını öğrenirsin.

Multi-cluster nedir?

Kuruluşlar çoğu zaman tek bir cluster yerine birden çok cluster işletir. Nedenler:

  • Yalıtım: geliştirme, test ve üretim ayrı cluster'larda; bir hatanın etki alanı küçülür.
  • Erişilebilirlik: farklı bölgelerdeki cluster'lar; bir bölge çökerse diğeri hizmet verir.
  • Yakınlık ve mevzuat: kullanıcıya yakın bölge, verinin ülke içinde kalması.
  • Ölçek: tek cluster'ın node ve nesne sınırları.
gelistirme   (minikube)       ─ geliştiriciler
staging     (eu-central-1)   ─ testler
uretim-eu   (eu-central-1)   ─ Avrupa kullanıcıları
uretim-tr   (istanbul-dc)    ─ Türkiye kullanıcıları, yerel veri

Bedeli

Birden çok cluster işletim yükünü artırır: her biri ayrı yükseltilir, izlenir ve yedeklenir; yapılandırmalar tutarlı kalmalıdır. Bu yüzden GitOps (Argo CD, Flux) ile tüm cluster'ların istenen durumu tek bir Git deposundan yönetilir:

git deposu
  clusters/
    uretim-eu/   -> Argo CD -> uretim-eu cluster'ı
    uretim-tr/   -> Argo CD -> uretim-tr cluster'ı
  uygulamalar/magaza/  (ortak chart + ortama özel values)

Uygulama Cluster'lar arasında gez

Üç komut yaz: context'leri listele; uretim-eu context'inde node'ları listele (--context uretim-eu ile, geçiş yapmadan); uretim-tr context'inde magaza namespace'indeki deployment'ları listele.

Başlangıç kodu

terminal
# buraya yaz

Örnek çözüm

terminal
kubectl config get-contexts
kubectl get nodes --context uretim-eu
kubectl get deploy -n magaza --context uretim-tr

Beklenen çıktı

CURRENT   NAME         CLUSTER      AUTHINFO     NAMESPACE
*         minikube     minikube     minikube     default
          uretim-eu    uretim-eu    ali-eu
          uretim-tr    uretim-tr    ali-tr
NAME          STATUS   ROLES    AGE   VERSION
ip-10-0-1-5   Ready    <none>   40d   v1.31.2
NAME   READY   UP-TO-DATE   AVAILABLE   AGE
api    4/4     4            4           12d
web    3/3     3            3           12d

Soru ve cevaplar

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

1 Üretimi ayrı bir cluster'da tutmanın en önemli faydası nedir?

  • Daha az YAML
  • Daha hızlı pod'lar
  • Test ortamındaki bir hatanın ya da yanlış komutun üretimi etkilememesi Doğru cevap
  • Daha ucuz olması

Açıklama: Namespace'ler aynı control plane'i paylaşır; ayrı cluster tam yalıtım sağlar.

2 Tüm kayıtlı context'leri listele.

Soru
kubectl config ____
Cevap
kubectl config get-contexts

Açıklama: get-contexts kubeconfig'teki tüm hedefleri gösterir.

3 Eşleştir.

Kavram Anlamı
yalıtım Ortam ayrımı
erişilebilirlik Bölge çökmesine dayanıklılık
mevzuat Verinin yeri
GitOps Tutarlı yapılandırma

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