Vytvořte cluster pro automatické zřizování uzlů (NAP) v privátní virtuální síti v Azure Kubernetes Service (AKS)

V tomto článku se dozvíte, jak vytvořit cluster Azure Kubernetes Service (AKS) s povoleným automatickým zřizováním uzlů (NAP) ve vlastní virtuální síti. Vytvoříte virtuální síť a podsíť a pak udělíte spravované identitě přístup k virtuální síti.

Požadavky

Omezení

Nastavení proměnných prostředí a vytvoření skupiny prostředků

  1. Nastavte proměnné prostředí použité v tomto článku. Zástupné hodnoty nahraďte vlastními hodnotami.

    export SUBSCRIPTION_ID="<subscription-id>"
    export RG_NAME="<resource-group-name>"
    export LOCATION="<location>"
    export VNET_NAME="<vnet-name>"
    export SUBNET_NAME="<subnet-name>"
    export IDENTITY_NAME="<managed-identity-name>"
    export CLUSTER_NAME="<cluster-name>"
    
  2. Pomocí příkazu vyberte své Azure předplatnéaz account set.

    az account set --subscription $SUBSCRIPTION_ID
    
  3. Vytvořte skupinu prostředků pomocí příkazu az group create.

    az group create \
        --name $RG_NAME \
        --location $LOCATION
    

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

  1. Vytvořte virtuální síť pomocí az network vnet create příkazu.

    az network vnet create \
        --name $VNET_NAME \
        --resource-group $RG_NAME \
        --location $LOCATION \
        --address-prefixes 172.19.0.0/16
    
  2. Vytvořte podsíť uzlu pomocí az network vnet subnet create příkazu.

    az network vnet subnet create \
        --resource-group $RG_NAME \
        --vnet-name $VNET_NAME \
        --name $SUBNET_NAME \
        --address-prefixes 172.19.0.0/24
    

Vytvoření spravované identity a přiřazení oprávnění virtuální sítě

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

    az identity create \
        --resource-group $RG_NAME \
        --name $IDENTITY_NAME \
        --location $LOCATION
    
  2. az identity show Pomocí příkazu získejte ID objektu zabezpečení spravované identity a uložte ho do proměnné prostředí.

    IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group $RG_NAME --name $IDENTITY_NAME --query principalId -o tsv)
    
  3. Pomocí příkazu přiřaďte roli Přispěvatel sítě spravované identitě az role assignment create . Parametr --assignee-principal-type zabraňuje selháním způsobeným zpožděním replikace po vytvoření spravované identity.

    Important

    Role Přispěvatel sítě v oboru virtuální sítě uděluje široká oprávnění. Před použitím tohoto přístupu v produkčním prostředí zkontrolujte nastavení RBAC pro vlastní konfigurace podsítě a zvažte přiřazení oprávnění omezené podsítě.

    az role assignment create \
        --scope "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RG_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME" \
        --role "Network Contributor" \
        --assignee-object-id $IDENTITY_PRINCIPAL_ID \
        --assignee-principal-type ServicePrincipal
    

Povolení architektury NAP a připojení ke clusteru

Použijte spravovanou identitu, virtuální síť a podsíť uzlu, kterou jste vytvořili v předchozích částech. Cluster musí používat Standard Load Balancer, jak je popsáno v omezeních.

  1. Vytvořte cluster AKS s povoleným NAP ve vlastním virtuálním síti pomocí příkazu az aks create . Následující tabulka popisuje parametry architektury NAP a sítě použité v příkazu:

    Parameter Hodnota Description
    --node-provisioning-mode Auto Povolí architekturu NAP v clusteru.
    --network-plugin azure Používá Azure CNI pro sítě clusteru.
    --network-plugin-mode overlay Používá Azure překrytí CNI pro sítě podů.
    --network-dataplane cilium Používá rovinu dat Cilium.

    Další informace najdete v tématu Přehled síťových konfigurací pro automatické zřizování uzlů (NAP) v Azure Kubernetes Service (AKS).

    az aks create \
        --name $CLUSTER_NAME \
        --resource-group $RG_NAME \
        --location $LOCATION \
        --assign-identity "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RG_NAME/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$IDENTITY_NAME" \
        --network-dataplane cilium \
        --network-plugin azure \
        --network-plugin-mode overlay \
        --vnet-subnet-id "/subscriptions/$SUBSCRIPTION_ID/resourceGroups/$RG_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$SUBNET_NAME" \
        --node-provisioning-mode Auto \
        --generate-ssh-keys
    

    Po dokončení vytváření clusteru vrátí příkaz informace o clusteru ve formátu JSON.

  2. Nakonfigurujte kubectl pro připojení ke svému Kubernetes clusteru pomocí příkazu az aks get-credentials. Tento příkaz stahuje přihlašovací údaje a konfiguruje Kubernetes CLI pro jejich použití.

    az aks get-credentials \
        --resource-group $RG_NAME \
        --name $CLUSTER_NAME
    
  3. Ověřte připojení k vašemu clusteru pomocí příkazu kubectl get. Tento příkaz vrátí seznam uzlů clusteru.

    kubectl get nodes
    

Další kroky

Pro více informací o automatickém zřizování uzlů v AKS si přečtěte následující články: