Özet - İç yapı
- Docker & Kubernetes kursu
- Uzman
- Ders 6/47
- 5 dk
etcd, scheduler ve controller'ı birleştirerek bir mimari açıklarsın.
Özet: iç yapı
Bu grupta:
- etcd tüm durumu Raft ile tutarlı saklar; quorum için tek sayıda üye (3, 5) kullanılır; anahtarlar
/registry/.... - kube-scheduler filtreler ve puanlar; affinity, anti-affinity ve topology spread yerleşimi yönlendirir.
- kube-controller-manager onlarca denetleyiciyi çalıştırır; HA'da Lease ile lider seçilir.
- kube-apiserver: kimlik doğrulama → RBAC → admission (mutating/validating) → doğrulama → etcd.
- Tüm denetleyiciler seviye tetikli uzlaştırma döngüsüdür: spec'i oku, dünyayı gözle, farkı kapat, status'u yaz.
kubectl get --raw /readyz?verbose
kubectl get lease -n kube-systemUygulama Bölgelere yay
Bir pod şablonunun topologySpreadConstraints bölümünü yaz (topologySpreadConstraints: ile başlayarak): maxSkew: 1, topologyKey: topology.kubernetes.io/zone, whenUnsatisfiable: DoNotSchedule, labelSelector.matchLabels app: api.
Başlangıç kodu
# buraya yazÖrnek çözüm
topologySpreadConstraints:
- maxSkew: 1
topologyKey: topology.kubernetes.io/zone
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app: apiBeklenen çıktı
deployment.apps/api configured
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir pod oluşturma isteğinin sırası hangisidir?
- kubelet → scheduler → etcd
- scheduler → apiserver → kubelet → etcd
- etcd → kubelet → apiserver
- apiserver → etcd → scheduler node seçer → kubelet başlatır Doğru cevap
Açıklama: Her bileşen yalnızca API sunucusuyla konuşur.
2 API sunucusunun hazırlık uç noktasını sorgula.
kubectl get --raw '/____?verbose'
kubectl get --raw '/readyz?verbose'
Açıklama: /readyz ve /livez API sunucusunun sağlık uç noktalarıdır.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
etcd |
Durum |
scheduler |
Yerleşim |
controller-manager |
Uzlaştırma |
apiserver |
Giriş kapısı |