Vytvoření clusteru Azure Kubernetes Service s integrací virtuální sítě API Serveru (Preview)
Cluster Azure Kubernetes Service (AKS) nakonfigurovaný s integrací virtuální sítě API Serveru projektuje koncový bod serveru ROZHRANÍ API přímo do delegované podsítě ve virtuální síti, ve které je nasazená služba AKS. Integrace virtuální sítě API Serveru umožňuje síťovou komunikaci mezi serverem ROZHRANÍ API a uzly clusteru bez nutnosti privátního propojení nebo tunelu. Server rozhraní API je k dispozici za interní VIRTUÁLNÍ IP sadou nástroje pro vyrovnávání zatížení v delegované podsíti, kterou jsou uzly nakonfigurované tak, aby využívaly. 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 se nachází v předplatném Azure spravovaném službou AKS. Váš cluster nebo fond uzlů je ve vašem předplatném Azure. Server a virtuální počítače, které tvoří uzly clusteru, spolu můžou komunikovat prostřednictvím VIRTUÁLNÍ IP adresy serveru rozhraní API a IP adres podů, které se promítnou do delegované podsítě.
Integrace virtuální sítě API Serveru je podporována pro veřejné nebo privátní clustery. Po zřízení clusteru můžete přidat nebo odebrat veřejný přístup. 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 serveru api na server se uchovává v privátních sítích a pro připojení k uzlu se nevyžaduje žá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.
Regionální dostupnost
Integrace virtuální sítě API Serveru je dostupná ve všech globálních oblastech Azure.
Požadavky
- Azure CLI s rozšířením aks-Preview 0.5.97 nebo novějším
- Pokud používáte ARM nebo REST API, musí být verze rozhraní API AKS 2022-04-02-preview nebo novější.
Instalace rozšíření Azure CLI aks-Preview
Důležité
Funkce AKS ve verzi Preview jsou k dispozici na samoobslužné bázi. Verze Preview jsou poskytovány "tak, jak jsou" a "dostupné", a jsou vyloučené ze smluv o úrovni služeb a omezené záruky. Verze Preview AKS jsou částečně pokryty zákaznickou podporou na základě maximálního úsilí. Proto tyto funkce nejsou určené pro produkční použití. Další informace najdete v následujících článcích podpory:
Nainstalujte rozšíření aks-preview pomocí
az extension add
příkazu.az extension add --name aks-preview
Pomocí příkazu aktualizujte na nejnovější verzi rozšíření vydaného.
az extension update
az extension update --name aks-preview
Registrace příznaku funkce EnableAPIServerVnetIntegrationPreview
EnableAPIServerVnetIntegrationPreview
Pomocí příkazu zaregistrujte příznakaz feature register
funkce.az feature register --namespace "Microsoft.ContainerService" --name "EnableAPIServerVnetIntegrationPreview"
Zobrazení stavu Zaregistrované trvá několik minut.
Pomocí příkazu ověřte stav
az feature show
registrace:az feature show --namespace "Microsoft.ContainerService" --name "EnableAPIServerVnetIntegrationPreview"
Jakmile se stav projeví jako zaregistrovaný, aktualizujte registraci poskytovatele prostředků Microsoft.ContainerService pomocí
az provider register
příkazu.az provider register --namespace Microsoft.ContainerService
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ů
Pomocí příkazu vytvořte skupinu
az group create
prostředků.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 create
virtuá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í virtuální sítě API Serveru pro spravovanou
az aks create
virtuální síť pomocí příkazu s příznaky--enable-api-server-vnet-integration
a--enable-private-cluster
příznakem.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ření privátního clusteru AKS s integrací virtuální sítě API Serveru pomocí vlastní virtuální sítě
Pokud používáte vlastní virtuální síť, musíte vytvořit a delegovat podsíť serveru API, do Microsoft.ContainerService/managedClusters
které se udělí oprávnění služby 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í zřizování.
Upozorňující
Cluster AKS si v adresní prostoru podsítě vyhrazuje alespoň 9 IP adres. Nedostatek IP adres může bránit škálování serveru ROZHRANÍ API a způsobit výpadek serveru API.
Vytvoření skupiny zdrojů
- Pomocí příkazu vytvořte skupinu
az group create
prostředků.
az group create --location <location> --name <resource-group>
Vytvoření virtuální sítě
Vytvořte virtuální síť pomocí
az network vnet create
příkazu.az network vnet create --name <vnet-name> \ --resource-group <resource-group> \ --location <location> \ --address-prefixes 172.19.0.0/16
Pomocí příkazu vytvořte podsíť
az network vnet subnet create
serveru 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/28
Vytvořte podsíť clusteru
az network vnet subnet create
pomocí 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 create
příkazu.az identity create --resource-group <resource-group> --name <managed-identity-name> --location <location>
Pomocí příkazu přiřaďte roli Přispěvatel sítě k podsíti
az role assignment create
serveru API.az role assignment create --scope <apiserver-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>
Pomocí příkazu přiřaďte roli Přispěvatel sítě k podsíti clusteru
az role assignment create
.az role assignment create --scope <cluster-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>
Nasazení veřejného clusteru
Nasaďte veřejný cluster AKS s integrací virtuální sítě API Serveru pomocí
az aks create
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 \ --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
Nasaďte privátní cluster AKS s integrací virtuální sítě API Serveru pomocí
az aks create
příkazu s příznaky--enable-api-server-vnet-integration
a--enable-private-cluster
příznakem.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
Existující veřejné nebo privátní clustery AKS můžete převést na clustery integrace virtuální sítě serveru API tak, že zadáte podsíť serveru API, která splňuje výše uvedené požadavky. Mezi tyto požadavky patří: ve stejné virtuální síti jako uzly clusteru, oprávnění udělená identitě clusteru AKS, nepoužívané jinými prostředky, jako je privátní koncový bod, a velikost alespoň /28. Převodem clusteru je jednosměrná migrace. Clustery nemůžou mít po povolení povolené integrace virtuální sítě s rozhraním API Server zakázané.
Tento upgrade provede upgrade verze image uzlu ve všech fondech uzlů a restartuje všechny úlohy během postupného upgradu image.
Upozorňující
Převodem clusteru na virtuální síť API Serveru se změní IP adresa serveru API, i když název hostitele zůstane 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.
Pomocí příkazu s příznakem
--enable-apiserver-vnet-integration
aktualizujte cluster na integraciaz aks update
virtuální sítě API Serveru.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
Pomocí příkazu s příznakem povolte režim privátního
az aks update
clusteru--enable-private-cluster
.az aks update --name <cluster-name> \ --resource-group <resource-group> \ --enable-private-cluster
Zakázání režimu privátního clusteru
Pomocí příkazu s příznakem zakažte režim privátního
az aks update
clusteru--disable-private-cluster
.az aks update --name <cluster-name> \ --resource-group <resource-group> \ --disable-private-cluster
Připojení ke clusteru pomocí kubectl
Nakonfigurujte
kubectl
připojení ke clusteruaz aks get-credentials
pomocí příkazu.az aks get-credentials --resource-group <resource-group> --name <cluster-name>
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 | Port | Používání |
---|---|---|---|---|
CIDR podsítě serveru API | Podsíť clusteru | TCP | 443 a 4443 | Vyžaduje se k povolení komunikace mezi uzly a serverem rozhraní API. |
CIDR podsítě serveru API | Azure Load Balancer | TCP | 9988 | Vyžaduje se k povolení komunikace mezi Azure Load Balancerem a serverem rozhraní API. Můžete také povolit všechny communicatios mezi Azure Load Balancer a podsítí 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.
Azure Kubernetes Service