Kapsayıcı ağı kavramları
Şunlar için geçerlidir: Azure Yerel 22H2'de AKS, Windows Server'da AKS
Uygulama bileşenlerinin görevlerini kapsayıcı tabanlı mikro hizmetler yaklaşımında işlemek için birlikte çalışması gerekir. Kubernetes, uygulama iletişimlerini etkinleştiren ve uygulamalara şirket içinde veya dışında bağlanmanızı ve uygulamaları kullanıma sunmanızı sağlayan kaynaklar sağlar. Yüksek oranda kullanılabilir uygulamalar oluşturmak için uygulamalarınızın yük dengelemesini yapabilirsiniz.
Daha karmaşık uygulamalar, SSL/TLS sonlandırması veya birden çok bileşenin yönlendirmesi için giriş trafiğinin yapılandırılmasını gerektirebilir. Güvenlik için podlar ve düğümler arasında ağ trafiğinin akışını kısıtlamanız da gerekebilir.
Bu makalede Arc tarafından etkinleştirilen AKS'deki uygulamalarınıza ağ sağlayan temel kavramlar açıklanır:
- Kubernetes hizmetleri
- Giriş denetleyicisi
- Ağ ilkeleri
Kubernetes hizmetleri
Kubernetes, uygulama iş yükleri için ağ yapılandırmasını basitleştirmek amacıyla hizmetleri kullanarak bir dizi podu mantıksal olarak gruplandırarak ağ bağlantısı sağlar. Aşağıdaki hizmet türleri kullanılabilir:
Küme IP'si: Kubernetes kümesi içinde kullanmak üzere bir iç IP adresi oluşturur. Küme içindeki diğer iş yüklerini destekleyen yalnızca iç uygulamalar için Küme IP'sini kullanın.
NodePort: Temel alınan düğümde, uygulamaya düğüm IP adresi ve bağlantı noktası ile doğrudan erişilmesine olanak tanıyan bir bağlantı noktası eşlemesi oluşturur.
LoadBalancer: Bir Azure yük dengeleyici kaynağı oluşturur, bir dış IP adresi yapılandırılır ve istenen podları yük dengeleyici arka uç havuzuna bağlar. Müşterilerin trafiğinin uygulamaya ulaşmasına izin vermek için, istenen bağlantı noktalarında yük dengeleme kuralları oluşturulur.
Gelen trafiğin diğer denetimi ve yönlendirmesi için giriş denetleyicisi kullanabilirsiniz.
Not
Ağı başka bir hedef kümeyle paylaşan bir hedef küme dağıttığınızda yük dengeleyici IP adresi çakışması olasılığı vardır.
Aynı nesneyi paylaşan AksHciClusterNetwork
hedef kümelerde farklı bağlantı noktaları kullanan iki iş yükü dağıtırsanız bu durum oluşabilir. IP adreslerinin ve bağlantı noktası eşlemelerinin HA Proxy içinde ayrılma şekli nedeniyle, bu yinelenen bir IP adresi atamasına yol açabilir. Bu durumda, iş yüklerinizi yeniden dağıtana kadar bir veya iki iş yükü rastgele ağ bağlantısı sorunlarıyla karşılaşabilir. İş yüklerinizi yeniden dağıttığınızda, her iş yükünün ayrı bir hizmet IP adresi almasına neden olan bağlantı noktasını kullanabilir veya farklı AksHciClusterNetwork
nesneler kullanan hedef kümelerde iş yüklerinizi yeniden dağıtabilirsiniz.
ExternalName: Daha kolay uygulama erişimi için belirli bir DNS girdisi oluşturur. Yük dengeleyicilerin ve hizmetlerin IP adresleri, genel ağ kurulumunuza bağlı olarak iç veya dış adresler olabilir ve dinamik olarak atanabilir. Alternatif olarak, kullanılacak mevcut bir statik IP adresi de belirtebilirsiniz. Mevcut statik IP adresi genellikle bir DNS girdisine bağlıdır. İç yük dengeleyicilere yalnızca bir özel IP adresi atanır, bu nedenle İnternet'ten erişemezler.
Azure Yerel'de Kubernetes ağ temelleri
Uygulamalarınıza veya uygulama bileşenlerinin birbiriyle iletişim kurmasına izin vermek için Kubernetes, sanal ağa bir soyutlama katmanı sağlar. Kubernetes düğümleri sanal ağa bağlanır ve podlar için gelen ve giden bağlantı sağlayabilir. Her düğümde çalışan kube-proxy bileşeni bu ağ özelliklerini sağlar.
Kubernetes'te Hizmetler, podları mantıksal olarak gruplandırarak şunları sağlar:
- Tek bir IP adresi veya DNS adı ve belirli bir bağlantı noktası üzerinden doğrudan erişim.
- Aynı hizmeti veya uygulamayı barındıran birden çok pod arasında yük dengeleyici kullanarak trafiği dağıtın.
Azure Yerel platformu, "alt katman" ağını yüksek oranda kullanılabilir bir şekilde sağlayarak Azure Yerel kümelerinde AKS için sanal ağı basitleştirmeye de yardımcı olur.
AKS kümesi oluşturduğunuzda, temel alınan HAProxy
yük dengeleyici kaynağını da oluşturup yapılandıracağız. Bir Kubernetes kümesinde uygulama dağıtırken, podlarınız ve Kubernetes hizmetleriniz için IP adresleri bu yük dengeleyicide uç nokta olarak yapılandırılır.
IP adresi kaynakları
Aks Arc, uygulama iş yüklerinin ağ yapılandırmasını basitleştirmek için bir dağıtımda aşağıdaki nesnelere IP adresleri atar:
- Kubernetes kümesi API sunucusu: API sunucusu, Kubernetes API'sini kullanıma sunan Kubernetes denetim düzleminin bir bileşenidir. API sunucusu, Kubernetes denetim düzleminin ön ucudur. Statik IP adresleri, temel alınan ağ modeline bakılmadan her zaman API sunucularına ayrılır.
- Kubernetes düğümleri (sanal makineler): Kubernetes kümesi düğümler olarak adlandırılan bir grup çalışan makinesinden oluşur ve düğümler kapsayıcılı uygulamaları barındırır. Denetim düzlemi düğümlerine ek olarak, her kümenin en az bir çalışan düğümü vardır. Aks kümesi için Kubernetes düğümleri sanal makine olarak yapılandırılır. Bu sanal makineler Azure Yerel'de yüksek oranda kullanılabilir sanal makineler olarak oluşturulur. Daha fazla bilgi için bkz . Düğüm ağı kavramları.
- Kubernetes hizmetleri: Kubernetes'te Hizmetler, pod IP adreslerini mantıksal olarak gruplandırarak belirli bir bağlantı noktasında tek bir IP adresi veya DNS adı üzerinden doğrudan erişime izin verir. Hizmetler ayrıca yük dengeleyici kullanarak da trafik dağıtabilir. Statik IP adresleri, temel alınan ağ modelinden bağımsız olarak her zaman Kubernetes hizmetlerine ayrılır.
- HAProxy yük dengeleyiciler: HAProxy , gelen istekleri birden çok uç noktaya yayan bir TCP/HTTP yük dengeleyici ve ara sunucudur. Azure Yerel dağıtımındaki bir AKS'deki her iş yükü kümesinde özel bir sanal makine olarak dağıtılan ve yapılandırılan bir HAProxy yük dengeleyicisi vardır.
- Microsoft Şirket İçi Bulut Hizmeti: Bu, Kubernetes'i şirket içi Azure Yerel kümesinde veya Windows Server kümesinde barındıran sanallaştırılmış ortamın oluşturulmasını ve yönetilmesini sağlayan Azure Yerel bulut sağlayıcısıdır. Azure Yerel veya Windows Server kümenizin izlediği ağ modeli, Microsoft Şirket İçi Bulut Hizmeti tarafından kullanılan IP adresi ayırma yöntemini belirler. Microsoft Şirket İçi Bulut Hizmeti tarafından uygulanan ağ kavramları hakkında daha fazla bilgi edinmek için bkz . Düğüm ağı kavramları.
Kubernetes ağları
Azure Yerel'de AKS'de aşağıdaki ağ modellerinden birini kullanan bir küme dağıtabilirsiniz:
- Flannel Yer Paylaşımı ağı - Ağ kaynakları genellikle küme dağıtılırken oluşturulur ve yapılandırılır.
- Project Calico ağı - Bu model, ağ ilkeleri ve akış denetimi gibi ek ağ özellikleri sunar.
Her iki ağ uygulaması da veri merkezi ağının geri kalanıyla bağlantısı kesilmiş bir IP adresi ataması sağlayan bir katman ağ yapılandırma modeli kullanır.
Katman ağı hakkında daha fazla bilgi edinmek için bkz . Giriş: Windows için Kubernetes Katman Ağı.
Calico Network eklentisi ve ilkeleri hakkında daha fazla bilgi için Calico ağ ilkesini kullanmaya başlama bölümüne bakın.
Ağ modellerini karşılaştırma
Pazen
Not
Flannel CNI, Aralık 2023'te kullanımdan kaldırıldı.
Flannel, kapsayıcılar için özel olarak tasarlanmış bir sanal ağ katmanıdır. Flannel, konak ağını katmanlayan düz bir ağ oluşturur. Tüm kapsayıcılara/podlara bu katman ağında bir IP adresi atanır ve birbirlerinin IP adresine bağlanarak doğrudan iletişim kurarlar.
Calico
Calico kapsayıcılar, sanal makineler ve yerel konak tabanlı iş yükleri için açık kaynak ağ ve ağ güvenlik çözümüdür. Calico; Linux eBPF veri düzlemi, Linux ağ veri düzlemi ve Windows HNS veri düzlemi gibi birden çok veri düzlemi destekler.
Özellikler
Özellik | Pazen | Calico |
---|---|---|
Ağ İlkeleri | Hayır | Evet |
IPv6 | Hayır | Evet |
Kullanılan katmanlar | L2 (VxLAN) | L2 (VxLAN) |
Mevcut veya yeni sanal ağda küme dağıtma | Evet | Evet |
Windows Desteği | Evet | Evet |
Pod-Pod bağlantısı | Evet | Evet |
Pod-VM bağlantısı, aynı ağdaki VM | Hayır | Evet |
Pod-VM bağlantısı, farklı ağdaki VM | Evet | Evet |
Kubernetes Hizmetleri | Evet | Evet |
Yük dengeleyici aracılığıyla kullanıma sunma | Evet | Evet |
Ağlar | Çoklu daemon ile aynı kümedeki birçok ağ | Aynı kümedeki birçok ağ |
Dağıtım | Linux: DaemonSet | Linux: DaemonSet |
Windows: Hizmet | Windows: Hizmet | |
Komut satırı | yok | calicoctl |
Önemli
Şu anda, varsayılan seçim Calico'yı katman ağ modunda kullanmaktır. Flannel'i etkinleştirmek için PowerShell komutunun -primaryNetworkPlugin
parametresini kullanın New-AksHciCluster
ve değer olarak belirtinflannel
. Bu değer, kümeyi dağıttığınızda değiştirilemez ve hem Windows hem de Linux küme düğümleri için geçerlidir.
Örneğin:
New-AksHciCluster -name MyCluster -primaryNetworkPlugin 'flannel'
Sonraki adımlar
Bu makale, Azure Yerel'deki AKS düğümlerindeki kapsayıcılar için ağ kavramlarını kapsar. Azure Yerel kavramları hakkında AKS hakkında daha fazla bilgi için aşağıdaki makalelere bakın: