Multi-cluster nedir?
- Docker & Kubernetes kursu
- Uzman
- Ders 25/47
- 4 dk
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 veriBedeli
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
# buraya yazÖrnek çözüm
kubectl config get-contexts
kubectl get nodes --context uretim-eu
kubectl get deploy -n magaza --context uretim-trBeklenen çı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.
kubectl config ____
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 |