Sdílet prostřednictvím


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

  1. EnableAPIServerVnetIntegrationPreview Pomocí příkazu zaregistrujte příznak az feature register funkce.

    az feature register --namespace "Microsoft.ContainerService" --name "EnableAPIServerVnetIntegrationPreview"
    

    Zobrazení stavu Zaregistrované trvá několik minut.

  2. Pomocí příkazu ověřte stav az feature show registrace:

    az feature show --namespace "Microsoft.ContainerService" --name "EnableAPIServerVnetIntegrationPreview"
    
  3. 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/managedClusterskteré 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ů

az group create --location <location> --name <resource-group>

Vytvoření virtuální sítě

  1. 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
    
  2. 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
    
  3. 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

  1. Vytvořte spravovanou identitu pomocí az identity create příkazu.

    az identity create --resource-group <resource-group> --name <managed-identity-name> --location <location>
    
  2. 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>
    
  3. 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 integraci az 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 clusteru az 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.