Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Cluster Azure Kubernetes Service (AKS) nakonfigurovaný s integrací sítě VNet API Serveru projektuje koncový bod rozhraní API přímo do delegované podsítě ve virtuální síti, kam je služba AKS nasazena. Integrace VNet API serveru umožňuje síťovou komunikaci mezi API serverem a uzly klastru bez nutnosti privátního propojení nebo tunelu. Server rozhraní API je k dispozici za interní virtuální IP vyrovnávačem zatížení v delegované podsíti, kterou uzly využívají díky své konfiguraci. Pomocí integrace virtuální sítě serveru API můžete zajistit, aby síťový provoz mezi vaším serverem API a fondy uzlů zůstal pouze v privátní síti.
Připojení k serveru rozhraní API
Řídicí rovina nebo server rozhraní API je v předplatném Azure spravovaném AKS. Váš klastr nebo pool uzlů je ve vašem předplatném Azure. Server a virtuální počítače, které tvoří uzly klastra, spolu mohou komunikovat prostřednictvím VIP serveru API a IP adres podů, jež se promítají do delegované podsítě.
Integrace virtuální sítě API Serveru je podporována pro veřejné nebo privátní clustery. Můžete přidat nebo odebrat veřejný přístup po zprovoznění clustru. Na rozdíl od integrovaných clusterů mimo virtuální síť vždy uzly agenta komunikují přímo s privátní IP adresou interního nástroje pro vyrovnávání zatížení (ILB) serveru API bez použití DNS. Veškerý provoz od uzlů k serveru API je uchováván v privátním síťovém prostředí a pro připojení serveru API k uzlu není vyžadován žádný tunel. Klienti mimo cluster, kteří potřebují komunikovat se serverem rozhraní API, to můžou dělat normálně, pokud je povolený přístup k veřejné síti. Pokud je přístup k veřejné síti zakázaný, měli byste postupovat podle stejné metodologie nastavení privátního DNS jako standardní privátní clustery.
Požadavky
- Musíte mít nainstalované Azure CLI verze 2.73.0 nebo novější. Verzi můžete zkontrolovat pomocí
az --versionpříkazu.
Omezení
- Integrace virtuální sítě s rozhraním API Server nepodporuje šifrování virtuální sítě. Clustery nasazené na AKS uzlové typy v3 nebo starší (které nepodporují šifrování virtuální sítě) jsou povoleny, ale provoz nebude šifrován. Clustery nasazené na AKS SKU uzlů v4 nebo novějších (které podporují šifrování virtuální sítě) jsou blokované, protože šifrované virtuální sítě nejsou kompatibilní s integrací virtuální sítě serveru API. Podrobnosti najdete v tématu Podporované skladové položky virtuálních počítačů AKS .
Availability
- Integrace virtuální sítě API Serveru je dostupná ve všech oblastech veřejného cloudu GA s výjimkou katarcentral.
Vytvoření clusteru AKS s integrací virtuální sítě API Serveru pomocí spravované virtuální sítě
Clustery AKS můžete nakonfigurovat s integrací virtuální sítě API Serveru ve spravované virtuální síti nebo v režimu vlastní virtuální sítě. Můžete je vytvořit jako veřejné clustery (s přístupem k serveru ROZHRANÍ API dostupným prostřednictvím veřejné IP adresy) nebo privátních clusterů (kde je server rozhraní API přístupný pouze prostřednictvím privátního připojení virtuální sítě). Můžete také přepínat mezi veřejným a privátním stavem bez opětovného nasazení clusteru.
Vytvoření skupiny zdrojů
Vytvořte skupinu prostředků pomocí příkazu
az group create.az group create --location westus2 --name <resource-group>
Nasazení veřejného clusteru
Nasaďte veřejný cluster AKS s integrací virtuální sítě API Serveru pro spravovanou
az aks createvirtuální síť pomocí příkazu s příznakem--enable-api-server-vnet-integration.az aks create --name <cluster-name> \ --resource-group <resource-group> \ --location <location> \ --network-plugin azure \ --enable-apiserver-vnet-integration \ --generate-ssh-keys
Nasazení privátního clusteru
Nasaďte privátní cluster AKS s integrací API Serveru do virtuální sítě pro spravovanou VNet pomocí příkazu s příznaky
az aks createa--enable-api-server-vnet-integration.az aks create --name <cluster-name> \ --resource-group <resource-group> \ --location <location> \ --network-plugin azure \ --enable-private-cluster \ --enable-apiserver-vnet-integration \ --generate-ssh-keys
Vytvořte privátní AKS cluster s integrací VNet API Serveru pomocí vlastní virtuální sítě.
Pokud používáte bring-your-own VNet (vlastní virtuální síť), musíte vytvořit a delegovat podsíť serveru API do Microsoft.ContainerService/managedClusters, které udělí oprávnění službě AKS k vložení podů serveru API a interního nástroje pro vyrovnávání zatížení do této podsítě. Podsíť nemůžete použít pro žádné jiné úlohy, ale můžete ji použít pro více clusterů AKS umístěných ve stejné virtuální síti. Minimální podporovaná velikost podsítě serveru API je /28.
Identita clusteru potřebuje oprávnění k podsíti serveru API i podsíti uzlu. Nedostatek oprávnění v podsíti serveru API může způsobit selhání provisioningu.
Výstraha
Cluster AKS si v adresní prostoru podsítě vyhrazuje alespoň 9 IP adres. Nedostatek IP adres může bránit škálování API serveru a způsobit jeho výpadek.
Vytvoření skupiny zdrojů
- Vytvořte skupinu prostředků pomocí příkazu
az group create.
az group create --location <location> --name <resource-group>
Vytvoření virtuální sítě
Vytvořte virtuální síť pomocí
az network vnet createpříkazu.az network vnet create --name <vnet-name> \ --resource-group <resource-group> \ --location <location> \ --address-prefixes 172.19.0.0/16Pomocí příkazu vytvořte podsíť
az network vnet subnet createserveru API.az network vnet subnet create --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <apiserver-subnet-name> \ --delegations Microsoft.ContainerService/managedClusters \ --address-prefixes 172.19.0.0/28Vytvořte podsíť clusteru
az network vnet subnet createpomocí příkazu.az network vnet subnet create --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <cluster-subnet-name> \ --address-prefixes 172.19.1.0/24
Vytvoření spravované identity a udělení oprávnění k virtuální síti
Vytvořte spravovanou identitu pomocí
az identity createpříkazu.az identity create --resource-group <resource-group> --name <managed-identity-name> --location <location>Pomocí příkazu
az role assignment createpřiřaďte roli Network Contributor podsíti serveru API.az role assignment create --scope <apiserver-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>Pomocí příkazu
az role assignment createpřiřaďte roli Přispěvatel sítě k podsíti clusteru.az role assignment create --scope <cluster-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>
Nasazení veřejného clusteru
Nasazení veřejného clusteru AKS s integrací VNet s API serverem pomocí příkazu
az aks creates příznakem--enable-api-server-vnet-integration.az aks create --name <cluster-name> \ --resource-group <resource-group> \ --location <location> \ --network-plugin azure \ --enable-apiserver-vnet-integration \ --vnet-subnet-id <cluster-subnet-resource-id> \ --apiserver-subnet-id <apiserver-subnet-resource-id> \ --assign-identity <managed-identity-resource-id> \ --generate-ssh-keys
Nasazení privátního clusteru
Nasazení privátního clusteru AKS s integrací API Serveru do virtuální sítě pomocí příkazu
az aks creates příznaky--enable-api-server-vnet-integrationa--enable-private-cluster.az aks create --name <cluster-name> \ --resource-group <resource-group> \ --location <location> \ --network-plugin azure \ --enable-private-cluster \ --enable-apiserver-vnet-integration \ --vnet-subnet-id <cluster-subnet-resource-id> \ --apiserver-subnet-id <apiserver-subnet-resource-id> \ --assign-identity <managed-identity-resource-id> \ --generate-ssh-keys
Převod existujícího clusteru AKS na integraci virtuální sítě serveru API
Výstraha
Integrace virtuální sítě API Serveru je jednosměrná funkce citlivá na kapacitu.
Vyžaduje se ruční restartování.
Po povolení integrace virtuální sítě serveru API pomocíaz aks update --enable-apiserver-vnet-integrationmusíte kvůli přechodu prostředků řídicí roviny okamžitě restartovat cluster, aby se změna projevila. Toto restartování není automatizované. Zpoždění restartování zvyšuje riziko nedostupnosti kapacity, což může zabránit spuštění serveru rozhraní API. Restartování clusteru také zajišťuje, aby se všechny uzly spolehlivě znovu připojily k novému koncovému bodu API serveru.Kapacita se ověří, ale není rezervovaná.
AKS ověří regionální kapacitu, když povolíte funkci v existujícím clusteru, ale toto ověření nevyrezervuje kapacitu. Pokud se restartování zpozdí a kapacita do té doby přestane být dostupná, cluster se po zastavení nebo restartování nemusí spustit. Clustery, které tuto funkci povolily před obecnou dostupností (GA), nebo které se od povolení ještě nerestartovaly, neprojdou ověřením kapacity.Funkci nelze zakázat.
Po povolení je tato funkce trvalá. Integraci virtuální sítě serveru API nelze zakázat.
Tento upgrade provádí upgrade verze obrazů uzlů ve všech fondech uzlů a restartuje všechny úlohy během jejich průběžného upgradu.
Výstraha
Převod clusteru na integraci s virtuální sítí API serveru vede ke změně IP adresy serveru API, zatímco název hostitele zůstává stejný. Pokud je IP adresa serveru rozhraní API nakonfigurovaná v jakýchkoli pravidlech brány firewall nebo skupiny zabezpečení sítě, možná bude potřeba tato pravidla aktualizovat.
Aktualizujte svůj cluster na integraci VNet serveru API pomocí příkazu
az aks updates příznakem--enable-apiserver-vnet-integration.az aks update --name <cluster-name> \ --resource-group <resource-group> \ --enable-apiserver-vnet-integration \ --apiserver-subnet-id <apiserver-subnet-resource-id>
Povolení nebo zakázání režimu privátního clusteru v existujícím clusteru s integrací virtuální sítě API Serveru
Clustery AKS nakonfigurované s integrací virtuální sítě API Serveru můžou mít povolený nebo zakázaný režim přístupu k veřejné síti nebo privátní cluster bez opětovného nasazení clusteru. Název hostitele serveru API se nezmění, ale veřejné položky DNS se v případě potřeby upraví nebo odeberou.
Poznámka:
--disable-private-cluster je aktuálně ve verzi Preview. Další informace najdete v tématu Referenční informace a úrovně podpory.
Povolení režimu privátního clusteru
Režim privátního clusteru povolte pomocí příkazu
az aks updates příznakem--enable-private-cluster.az aks update --name <cluster-name> \ --resource-group <resource-group> \ --enable-private-cluster \ --enable-apiserver-vnet-integration \ --apiserver-subnet-id <apiserver-subnet-resource-id>
Zakázání režimu privátního clusteru
Zakažte režim privátního clusteru pomocí příkazu
az aks updates příznakem--disable-private-cluster.az aks update --name <cluster-name> \ --resource-group <resource-group> \ --disable-private-cluster
Připojení ke clusteru pomocí kubectl
Nakonfigurujte
kubectlpro připojení ke svému clusteru pomocí příkazuaz aks get-credentials.az aks get-credentials --resource-group <resource-group> --name <cluster-name>
Zveřejnění serveru rozhraní API prostřednictvím služby Private Link
Pomocí služby Azure Private Link můžete zveřejnit koncový bod serveru rozhraní API privátního clusteru s integrací virtuální sítě API Serveru. Následující kroky ukazují, jak vytvořit službu Private Link (PLS) ve virtuální síti clusteru a připojit se k ní z jiné virtuální sítě nebo předplatného pomocí privátního koncového bodu.
Vytvoření privátního clusteru pro integraci sítě VNet s rozhraním API Server
Vytvořte privátní klastr AKS s integrací virtuální sítě API Serveru pomocí
az aks createpříkazu s příznaky--enable-api-server-vnet-integrationa--enable-private-cluster.az aks create --name <cluster-name> \ --resource-group <resource-group> \ --location <location> \ --enable-private-cluster \ --enable-apiserver-vnet-integration
Další pokyny k nastavení služby Private Link s integrací virtuální sítě serveru API najdete v tématu Integrace privátního propojení s virtuální sítí API Serveru.
Pravidla zabezpečení NSG
Ve výchozím nastavení je povolený veškerý provoz v rámci virtuální sítě. Pokud jste ale přidali pravidla NSG pro omezení provozu mezi různými podsítěmi, ujistěte se, že pravidla zabezpečení NSG povolují následující typy komunikace:
| Cíl | Zdroj | Protokol | Přístav | Používání |
|---|---|---|---|---|
| CIDR pro podsíť serveru API | Podsíť clusteru | protokol TCP | 443 a 4443 | Vyžaduje se k povolení komunikace mezi uzly a serverem rozhraní API. |
| CIDR pro podsíť serveru API | Azure Load Balancer | protokol TCP | 9988 | Vyžaduje se k povolení komunikace mezi Azure Load Balancerem a serverem rozhraní API. Můžete také povolit veškerou komunikaci mezi Nástrojem pro vyrovnávání zatížení Azure a podsítím serveru API CIDR. |
Další kroky
- Přidružené osvědčené postupy najdete v tématu Osvědčené postupy pro připojení k síti a zabezpečení v AKS.
- Pokyny k nastavení privátního propojení s integrací virtuální sítě API Serveru najdete v tématu Integrace privátního propojení s virtuální sítí API Serveru.