
Kubernetes mimarisinin ana bileşenleri nelerdir ve her biri neyden sorumludur?
Bir Kubernetes kümesi, bir kontrol düzlemi ile Pod'larda kapsayıcıya alınmış uygulamaları çalıştıran düğümler adı verilen bir dizi çalışan makineden oluşur. Her kümenin Pod'ları çalıştırmak için en az bir çalışan düğümüne ihtiyacı vardır.
Kavramsal olarak, Kubernetes bildirimseldir: İstediğiniz durumu API sunucusuna (etcd'de depolanan) gönderirsiniz ve denetleyiciler, farklılıkları izleyen ve gerçek durumu istenen duruma doğru yönlendirmek için harekete geçen sürekli mutabakat döngüleri çalıştırır.
Kontrol düzlemi bileşenleri
Kontrol düzlemi, küme hakkında genel kararlar alır (zamanlama gibi) ve küme olaylarına yanıt verir. Üretimde yüksek kullanılabilirlik için genellikle birden fazla makinede çalışır.
- kube-apiserver — Kubernetes HTTP API'sini kullanıma sunan temel bileşen. Bu, kontrol düzleminin ön ucu ve tek iletişim noktasıdır: tüm kimlik doğrulama, yetkilendirme, istek doğrulama ve küme durumunun okuma/yazma işlemleri bunun üzerinden akar. Yatay olarak ölçeklenir. Normal dağıtımlarda küme durumunu doğrudan etcd'de okuyan ve yazan tek Kubernetes bileşenidir; diğer tüm bileşenler API sunucusu aracılığıyla durumla etkileşime girer.
- etcd — Kubernetes'in yapılandırma, durum ve meta veriler gibi tüm küme verileri için yedekleme deposu olarak kullanılan tutarlı ve yüksek düzeyde kullanılabilir bir anahtar/değer deposu. vbd zorunludur ve gerçeğin tek kaynağıdır - onu kaybetmek tüm küme durumunu kaybetmek anlamına gelir, bu nedenle çekirdek (tek sayıda üye) ile çalışmalı ve düzenli olarak yedeklenmelidir.
- kube-scheduler — henüz bir düğüme bağlanmamış Kapsülleri izler ve kaynakları, kısıtlamaları ve politikaları dikkate alarak her Kapsülü uygun bir düğüme atar.
- kube-controller-manager — Kubernetes API davranışını uygulayan denetleyicileri çalıştırır (ör. Düğüm denetleyicisi, İş denetleyicisi, EndpointSlice denetleyicisi). Her kontrolör istenen durumu izler ve gerçek durumu ona göre uzlaştırır.
- bulut-denetleyici-yönetici (isteğe bağlı) — temel bulut sağlayıcısıyla entegre olarak buluta özgü mantığı temel Kubernetes bileşenlerinden ayırır.
Düğüm bileşenleri
Bunlar her düğümde çalışarak Pod'ların çalışır durumda kalmasını sağlar ve çalışma zamanı ortamını sağlar.
- kubelet — Kapsülleri de dahil olmak üzere Kapsüllerin çalışmasını sağlayan aracı. Pod atamaları için API sunucusunu izler, çalışma zamanı aracılığıyla kapsayıcıları başlatır, birimleri bağlar, canlılık/hazırlık araştırmalarını çalıştırır ve düğüm durumunu raporlar.
- kube-proxy — bir Hizmete giden trafiğin doğru Pod IP'lerine iletilmesi için düğümler üzerinde iptables veya IPVS kuralları programlayarak Hizmet ağını uygular. İsteğe bağlı olarak işaretlenmiştir çünkü bazı CNI eklentileri (örneğin, eBPF modundaki Cilium) işini devralır, ancak standart bir kümede gereklidir.
- Container runtime — Container'ların (containerd, CRI-O vb., CRI arayüzü aracılığıyla) çalıştırılmasından sorumlu yazılım.
Eklentiler
Eklentiler küme işlevselliğini genişletir: küme DNS'si (varsayılan olarak CoreDNS), Kontrol Paneli web kullanıcı arayüzü, kapsayıcı kaynak izleme ve küme düzeyinde günlük kaydı.
Ortak takip: tüm iletişim API sunucusu üzerinden akar (zamanlayıcı, denetleyiciler ve kubelet'ler yalnızca onu izler ve tepki verir), bu da API sunucusunu kümenin kritik merkezi haline getirir.
