Share via


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.

AKS kümesindeki küme IP trafiği akışını gösteren diyagram.

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.

AKS kümesindeki NodePort trafik akışını gösteren diyagram.

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.

AKS kümesindeki yük dengeleyici trafik akışını gösteren diyagram.

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: