Kapsayıcı ağı kavramları
Şunlar için geçerlidir: Azure Stack HCI 22H2 üzerinde 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 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önlendirilmesi 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ğ iletişimi 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ümesinde kullanılmak ü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 düğümde, uygulamanın düğüm IP adresi ve bağlantı noktasıyla doğrudan erişmesini sağlayan 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ını sağlamak için istenen bağlantı noktalarında yük dengeleme kuralları oluşturulur.
Gelen trafiğin diğer denetimi ve yönlendirmesi için bir giriş denetleyicisi kullanabilirsiniz.
Not
Bir 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'si 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 statik IP adresini de belirtebilirsiniz. Mevcut statik IP adresi genellikle bir DNS girişine bağlıdır. İç yük dengeleyicilere yalnızca özel bir IP adresi atanır, bu nedenle İnternet'ten erişemezler.
Azure Stack HCI'de Kubernetes ağ temelleri
Uygulamalarınıza veya uygulama bileşenlerinin birbirleriyle 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 Stack HCI platformu, yüksek oranda kullanılabilir bir şekilde "alt katman" ağı sağlayarak Azure Stack HCI 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ırıyoruz. 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ükleri için ağ yapılandırmasını basitleştirmek için bir dağıtımdaki aşağıdaki nesnelere IP adresleri atar:
- Kubernetes küme 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üğüm adı verilen bir çalışan makine kümesinden 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 Stack HCI'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 trafiği dağıtabilir. Statik IP adresleri, temel alınan ağ modeline bakılmadan 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 Stack HCI dağıtımındaki bir AKS'deki her iş yükü kümesinde, özelleştirilmiş 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 Stack HCI 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 Stack HCI bulut sağlayıcısıdır. Azure Stack HCI 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 Stack HCI üzerinde 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
Flanel
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 kaynaklı bir 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 | Flanel | Calico |
---|---|---|
Ağ İlkeleri | Hayır | Yes |
IPv6 | Hayır | Yes |
Kullanılan katmanlar | L2 (VxLAN) | L2 (VxLAN) |
Mevcut veya yeni sanal ağda küme dağıtma | Yes | Yes |
Windows Desteği | Yes | Yes |
bağlantıyı Pod-Pod | Yes | Yes |
Pod-VM bağlantısı, aynı ağdaki VM | Hayır | Yes |
Pod-VM bağlantısı, farklı ağdaki VM | Yes | Yes |
Kubernetes Hizmetleri | Yes | Yes |
Yük dengeleyici aracılığıyla kullanıma sunma | Yes | Yes |
Ağlar | Birden çok daemon içeren 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, Yer paylaşımlı ağ modunda Calico kullanmaktır. Flannel'i etkinleştirmek için PowerShell komutunun New-AksHciCluster
parametresini kullanın -primaryNetworkPlugin
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.
Aşağıda bir örnek verilmiştir:
New-AksHciCluster -name MyCluster -primaryNetworkPlugin 'flannel'
Sonraki adımlar
Bu makale, Azure Stack HCI'deki AKS düğümlerindeki kapsayıcılar için ağ kavramlarını kapsar. Azure Stack HCI kavramları hakkında AKS hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin