Koncepty sítí kontejnerů

Platí pro: AKS ve Službě Azure Stack HCI 22H2, AKS na Windows Serveru

Komponenty aplikací musí spolupracovat, aby zpracovávaly své úlohy v přístupu založeném na kontejnerech mikroslužeb. Kubernetes poskytuje prostředky, které umožňují komunikaci aplikací a umožňují interní nebo externí připojení k aplikacím a jejich zveřejnění. Můžete vyrovnávat zatížení aplikací a vytvářet vysoce dostupné aplikace.

Složitější aplikace můžou vyžadovat konfiguraci příchozího přenosu dat pro ukončení protokolu SSL/TLS nebo směrování více komponent. Kvůli zabezpečení může být také potřeba omezit tok síťového provozu do podů a uzlů nebo mezi pody a uzly.

Tento článek představuje základní koncepty, které poskytují sítě pro vaše aplikace v AKS s podporou Arc:

  • Služby Kubernetes
  • Kontroler příchozího přenosu dat
  • Zásady sítě

Služby Kubernetes

Aby se zjednodušila konfigurace sítě pro úlohy aplikací, Kubernetes používá služby k logickému seskupení sady podů a k zajištění síťového připojení. K dispozici jsou následující typy služeb:

IP adresa clusteru: Vytvoří interní IP adresu pro použití v clusteru Kubernetes. Ip adresu clusteru používejte pouze pro interní aplikace, které podporují jiné úlohy v rámci clusteru.

Diagram znázorňující tok provozu IP adresy clusteru v clusteru AKS

NodePort: Vytvoří mapování portů na podkladovém uzlu, které umožňuje přímý přístup k aplikaci pomocí IP adresy a portu uzlu.

Diagram znázorňující tok provozu NodePort v clusteru AKS

LoadBalancer: Vytvoří prostředek Nástroje pro vyrovnávání zatížení Azure, nakonfiguruje externí IP adresu a připojí požadované pody k back-endovému fondu nástroje pro vyrovnávání zatížení. Aby se provoz zákazníků dostal do aplikace, vytvoří se pravidla vyrovnávání zatížení na požadovaných portech.

Diagram znázorňující tok provozu nástroje pro vyrovnávání zatížení v clusteru AKS

Pro další řízení a směrování příchozího provozu můžete použít kontroler příchozího přenosu dat.

Poznámka

Když nasadíte cílový cluster, který sdílí síť s jiným cílovým clusterem, existuje možnost konfliktu IP adres nástroje pro vyrovnávání zatížení. K tomu může dojít, pokud nasadíte dvě úlohy, které používají různé porty v cílových clusterech, které sdílejí stejný AksHciClusterNetwork objekt. Vzhledem ke způsobu přidělování IP adres a mapování portů v proxy vysoké dostupnosti to může vést k duplicitnímu přiřazení IP adres. Pokud k tomu dojde, může u jedné nebo obou úloh dorazit k náhodným problémům s připojením k síti, dokud úlohy znovu nenasadíte. Při opětovném nasazení úloh můžete buď použít stejný port, který způsobí, že každá úloha obdrží samostatnou IP adresu služby, nebo můžete úlohy znovu nasadit do cílových clusterů, které používají různé AksHciClusterNetwork objekty.

ExternalName: Vytvoří konkrétní položku DNS pro snadnější přístup k aplikacím. IP adresy pro nástroje pro vyrovnávání zatížení a služby můžou být interní nebo externí adresy v závislosti na celkovém nastavení sítě a je možné je dynamicky přiřazovat. Nebo můžete zadat existující statickou IP adresu, která se má použít. Existující statická IP adresa je často svázaná s položkou DNS. Interním nástrojům pro vyrovnávání zatížení je přiřazena pouze privátní IP adresa, takže k nim není možné přistupovat z internetu.

Základy sítí Kubernetes ve službě Azure Stack HCI

Kubernetes poskytuje virtuálním sítím abstraktní vrstvu, která umožňuje přístup k vašim aplikacím nebo vzájemné komunikaci komponent aplikací. Uzly Kubernetes jsou připojené k virtuální síti a můžou poskytovat příchozí a odchozí připojení pro pody. Tyto síťové funkce poskytuje komponenta kube-proxy spuštěná na každém uzlu.

Služby v Kubernetes logicky seskupují pody tak, aby umožňovaly:

  • Přímý přístup prostřednictvím jedné IP adresy nebo názvu DNS a konkrétního portu.
  • Distribuujte provoz pomocí nástroje pro vyrovnávání zatížení mezi více pody hostujícími stejnou službu nebo aplikaci.

Platforma Azure Stack HCI také pomáhá zjednodušit virtuální sítě pro AKS v clusterech Azure Stack HCI tím, že poskytuje "podkladovou" síť vysoce dostupným způsobem. Při vytváření clusteru AKS také vytvoříme a nakonfigurujeme základní HAProxy prostředek nástroje pro vyrovnávání zatížení. Při nasazování aplikací v clusteru Kubernetes se IP adresy konfigurují pro pody a služby Kubernetes jako koncové body v tomto nástroji pro vyrovnávání zatížení.

Prostředky IP adres

Aby se zjednodušila konfigurace sítě pro úlohy aplikací, přiřadí AKS Arc v nasazení IP adresy následujícím objektům:

  • Server rozhraní API clusteru Kubernetes: Server rozhraní API je součástí řídicí roviny Kubernetes, která zpřístupňuje rozhraní API Kubernetes. Server rozhraní API je front-end pro řídicí rovinu Kubernetes. Statické IP adresy se vždy přidělují serverům rozhraní API bez ohledu na základní síťový model.
  • Uzly Kubernetes (virtuální počítače): Cluster Kubernetes se skládá ze sady pracovních počítačů označovaných jako uzly a uzly hostují kontejnerizované aplikace. Kromě uzlů řídicí roviny má každý cluster alespoň jeden pracovní uzel. V případě clusteru AKS jsou uzly Kubernetes nakonfigurované jako virtuální počítače. Tyto virtuální počítače se vytvářejí jako virtuální počítače s vysokou dostupností v Azure Stack HCI. Další informace najdete v tématu Koncepty sítí uzlů.
  • Služby Kubernetes: Služby v Kubernetes logicky seskupují IP adresy podů, aby umožňovaly přímý přístup prostřednictvím jedné IP adresy nebo názvu DNS na konkrétním portu. Služby můžou také distribuovat provoz pomocí nástroje pro vyrovnávání zatížení. Statické IP adresy se vždy přidělují službám Kubernetes bez ohledu na základní síťový model.
  • Nástroje pro vyrovnávání zatížení HAProxy: HAProxy je nástroj pro vyrovnávání zatížení TCP/HTTP a proxy server, který rozděluje příchozí požadavky mezi více koncových bodů. Každý cluster úloh v nasazení AKS ve službě Azure Stack HCI má nástroj pro vyrovnávání zatížení HAProxy nasazený a nakonfigurovaný jako specializovaný virtuální počítač.
  • Místní cloudová služba Microsoftu: Toto je poskytovatel cloudu Azure Stack HCI, který umožňuje vytváření a správu virtualizovaného prostředí hostujícího Kubernetes v místním clusteru Azure Stack HCI nebo clusteru Windows Serveru. Síťový model následovaný clusterem Azure Stack HCI nebo Windows Server určuje metodu přidělování IP adres používanou místní cloudovou službou Microsoftu. Další informace o konceptech sítí implementovaných místní cloudovou službou Microsoftu najdete v tématu Koncepty sítí uzlů.

Sítě Kubernetes

V AKS ve službě Azure Stack HCI můžete nasadit cluster, který používá jeden z následujících modelů sítě:

  • Sítě flannel Overlay – síťové prostředky se obvykle vytvářejí a konfigurují při nasazení clusteru.
  • Project Calico networking – Tento model nabízí další síťové funkce, jako jsou zásady sítě a řízení toku.

Obě síťové implementace používají model konfigurace překryvné sítě, který poskytuje přiřazení IP adres, které jsou odpojené od zbytku sítě datacentra.

Další informace o překryvných sítích najdete v tématu Představení: Překryvné sítě Kubernetes pro Windows.

Další informace o modulu plug-in a zásadách sítě Calico najdete v článku Začínáme se zásadami sítě Calico.

Porovnání síťových modelů

Flanel

Flannel je vrstva virtuální sítě navržená speciálně pro kontejnery. Flannel vytvoří plochou síť, která překrývá síť hostitele. Všechny kontejnery nebo pody mají v této překryvné síti přiřazenou jednu IP adresu a komunikují přímo připojením k IP adrese druhé strany.

Kaliko

Calico je opensourcové řešení zabezpečení sítě a sítě pro kontejnery, virtuální počítače a nativní hostitelské úlohy. Calico podporuje několik rovin dat, včetně roviny dat eBPF v Linuxu, roviny dat sítě Linuxu a roviny dat Windows HNS.

Možnosti

Schopnost Flanel Kaliko
Zásady sítě No Yes
IPv6 No Yes
Použité vrstvy L2 (VxLAN) L2 (VxLAN)
Nasazení clusteru ve stávající nebo nové virtuální síti Yes Yes
Podpora pro Windows Yes Yes
Pod-Pod připojení Yes Yes
Připojení pod-VM, virtuální počítač ve stejné síti No Yes
Připojení pod-VM, virtuální počítač v jiné síti Yes Yes
Služby Kubernetes Yes Yes
Zveřejnění prostřednictvím nástroje pro vyrovnávání zatížení Yes Yes
Sítě Mnoho sítí ve stejném clusteru s více démony Mnoho sítí ve stejném clusteru
Nasazení Linux: DaemonSet Linux: DaemonSet
Windows: Služba Windows: Služba
Příkazový řádek žádné calicoctl

Důležité

V současné době se ve výchozím nastavení používá calico v překryvovém síťovém režimu. Pokud chcete povolit funkci Flannel, použijte -primaryNetworkPlugin parametr New-AksHciCluster příkazu PowerShellu a jako hodnotu zadejte flannel . Tuto hodnotu nelze po nasazení clusteru změnit a platí pro uzly clusteru s Windows i Linuxem.

Tady je příklad:

New-AksHciCluster -name MyCluster -primaryNetworkPlugin 'flannel'

Další kroky

Tento článek se zabývá koncepty sítí pro kontejnery v uzlech AKS v Azure Stack HCI. Další informace o AKS o konceptech Azure Stack HCI najdete v následujících článcích: