kube-apiserver, ACK kümeniz için API ağ geçididir. Kubernetes API'sini küme içindeki ve dışındaki tüm bileşenlere (kubelet, kube-proxy ve harici istemciler dahil) sunar; bu bileşenler küme ile kube-apiserver üzerinden iletişim kurar.
Genel Bakış
kube-apiserver, podlar, Hizmetler ve ReplicationControllers gibi API nesneleri için verileri doğrular ve yapılandırır. REST işlemlerini gerçekleştirir ve küme durumuna ilişkin tek ve tutarlı bir görünümü diğer tüm bileşenlere sunar.
ACK ortamında kube-apiserver yönetilir ve otomatik olarak yüklenir. Ek yapılandırma gerekmez.
Sürüm notları
kube-apiserver, Kubernetes sürümüyle birlikte güncellenir. Desteklenen sürümler hakkında ayrıntılı bilgi için bkz. ACK tarafından desteklenen Kubernetes sürümlerine genel bakış.
Düğümlerin API sunucusuna bağlanma yöntemi
ACK, düğüm ile API sunucusu arasındaki iletişim için sabit Classic Load Balancer (CLB) IP adreslerine olan bağımlılığı kademeli olarak azaltmıştır. Aşağıdaki tabloda, küme oluşturma tarihine göre geçerli davranış ve güvenlik grubu gereksinimi gösterilmektedir.
| Küme oluşturma tarihi | Kubernetes sürümü | Düğümlerin API sunucusuna erişim yöntemi | Güvenlik grubu gereksinimi |
|---|---|---|---|
| Şubat 2023 sonrası | 1,20 veya üzeri | Elastic network interface (ENI), varsayılan ad alanındaki Hizmetleri sunmak için CLB örneklerinin yerine geçer | Küme güvenlik grubu ile düğüm/konteyner güvenlik grubu farklıysa, küme güvenlik grubunda bağlantı noktası 6443 için gelen trafiğe izin verilmelidir |
| Kasım 2024 sonrası | 1,20 veya üzeri | kubelet ve kube-proxy, API sunucusunun etki alanı adından (apiserver.{Cluster ID}.{Region ID}.cs.aliyuncs.com) çözümlenen ENI IP adresini kullanarak sabit CLB IP'si yerine bu adres aracılığıyla API sunucusuna ulaşır |
Bağlantı noktası 6443 için gelen trafiğe izin verilmelidir |
Şubat 2023 sonrasında oluşturulan kümeler — ENI tabanlı hizmet sunumu
Şubat 2023 sonrasında oluşturulan ve Kubernetes 1,20 veya üzeri sürümü çalıştıran kümelerde, ACK varsayılan ad alanındaki Hizmetleri sunmak için CLB örnekleri yerine elastic network interface (ENI) kullanır. Bu yaklaşım, CLB yönlendirme bağlantılarının performans ek yükünü azaltır.
Kümenizin güvenlik grubu bağlantı noktası 6443'teki gelen trafiği engelliyorsa ve küme düğümleriniz ile konteynerlerinizin güvenlik grubu küme güvenlik grubundan farklıysa, küme bileşenleri kube-apiserver'a ulaşamayabilir. Küme güvenlik grubunda bağlantı noktası 6443 için gelen trafiğe izin verildiğinden emin olun.
Kasım 2024 sonrasında oluşturulan kümeler — Etki alanı adı tabanlı API sunucusu erişimi
Küme yüksek kullanılabilirliğini (HA) iyileştirmek ve sabit CLB IP'lerine olan bağımlılığı ortadan kaldırmak için ACK, düğüm ile API sunucusu arasındaki iletişimde API sunucusu etki alanı adını (apiserver.{Cluster ID}.{Region ID}.cs.aliyuncs.com) kullanır. kubelet ve kube-proxy, statik bir CLB IP'si kullanmak yerine bu etki alanı adını çözümleyerek ENI IP adresini elde eder ve API sunucusuna bu adres üzerinden erişir.
Bu durum, Kasım 2024 sonrasında oluşturulan ve Kubernetes 1,20 veya üzeri sürümü çalıştıran kümeler için geçerlidir.
ACK, bu etki alanı adını Private DNS kullanarak oluşturur ve yönetir. Etki alanı adını Alibaba Cloud DNS konsolunda bulunan Cloud Service Defined Zones bölümünde görüntüleyebilirsiniz.
Kümenizin güvenlik grubu bağlantı noktası 6443'teki gelen trafiği engelliyorsa düğümler API sunucusuna ulaşamayabilir. Bağlantı noktası 6443 için gelen trafiğe izin verildiğinden emin olun.
Etki alanı adı çözümlemesi, Alibaba Cloud sanal özel cloud (VPC) içinde yapılandırılan varsayılan dahili DNS adresleri 100.100.2.136 ve 100.100.2.138 üzerinden gerçekleştirilir. Düğümlerinizde özel bir DNS sunucusu IP'si yapılandırdıysanız, API sunucusu etki alanı adının yukarı akış VPC'deki Private DNS tarafından çözümlendiğinden emin olun. Aksi takdirde düğümler API sunucusuna ulaşamayabilir.