controller-manager
- Docker & Kubernetes kursu
- Uzman
- Ders 3/47
- 4 dk
kube-controller-manager'ın denetleyicilerini öğrenirsin.
controller-manager
kube-controller-manager, onlarca denetleyiciyi tek süreçte çalıştırır: Deployment, ReplicaSet, StatefulSet, Job, Node, EndpointSlice, ServiceAccount, Namespace denetleyicileri... Her biri kendi kaynak türünü izler ve gerçek durumu istenen duruma yaklaştırır. Örneğin:
- Deployment denetleyicisi ReplicaSet oluşturur ve kopyalarını ayarlar.
- ReplicaSet denetleyicisi pod oluşturur ve siler.
- Node denetleyicisi yanıt vermeyen node'ları işaretler ve pod'larını tahliye ettirir.
$ kubectl get pods -n kube-system -l component=kube-controller-manager
NAME READY STATUS
kube-controller-manager-control-plane 1/1 RunningLider seçimi
Yüksek erişilebilir cluster'larda her control-plane node'unda bir controller-manager çalışır, ama aynı anda yalnızca biri liderdir; diğerleri bekler. Liderlik, kube-system'deki bir Lease nesnesiyle tutulur ve düzenli yenilenir:
$ kubectl get lease -n kube-system kube-controller-manager -o jsonpath='{.spec.holderIdentity}'
cp-2_4f9a1c3e-…
$ kubectl get lease -n kube-systemAynı mekanizma kube-scheduler ve kendi yazdığın operator'lar için de kullanılır.
Uygulama Lideri bul
İki komut yaz: kube-system'daki Lease nesnelerini listele; kube-controller-manager Lease'inin holderIdentity değerini jsonpath='{.spec.holderIdentity}' ile yazdır.
Başlangıç kodu
# buraya yazÖrnek çözüm
kubectl get lease -n kube-system
kubectl get lease kube-controller-manager -n kube-system -o jsonpath='{.spec.holderIdentity}'Beklenen çıktı
NAME HOLDER AGE kube-controller-manager cp-2_4f9a1c3e-… 12d kube-scheduler cp-1_9b2d7e4a-… 12d cp-2_4f9a1c3e-…
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir node 5 dakikadır yanıt vermiyorsa ne olur?
- Pod'lar sonsuza dek bekler
- Node silinir
- Node NotReady işaretlenir ve pod'ları tahliye edilip başka node'larda yeniden oluşturulur Doğru cevap
- Cluster durur
Açıklama: Tahliye süresi taint'ler ve tolerationSeconds ile ayarlanır.
2 Liderlik nesnelerini listele.
kubectl get ____ -n kube-system
kubectl get lease -n kube-system
Açıklama: Lease nesneleri coordination.k8s.io grubundadır.
3 Eşleştir.
| Kavram | Anlamı |
|---|---|
Deployment denetleyicisi |
ReplicaSet yönetir |
ReplicaSet denetleyicisi |
Pod yönetir |
Node denetleyicisi |
Yanıtsız node'lar |
Lease |
Lider kaydı |