CodeBlanks Logo Icon CodeBlanks

controller-manager

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     Running

Lider 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-system

Aynı 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

terminal
# buraya yaz

Örnek çözüm

terminal
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.

Soru
kubectl get ____ -n kube-system
Cevap
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ı

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