Udostępnij przez


Tworzenie klastra automatycznego aprowizowania węzłów (NAP) w niestandardowej sieci wirtualnej w usłudze Azure Kubernetes Service (AKS)

W tym artykule pokazano, jak utworzyć sieć wirtualną i podsieć, utworzyć tożsamość zarządzaną z uprawnieniami dostępu do sieci wirtualnej i utworzyć klaster usługi Azure Kubernetes Service (AKS) w niestandardowej sieci wirtualnej z włączoną automatyczną aprowizowaniem węzłów (NAP).

Wymagania wstępne

Ograniczenia

Tworzenie sieci wirtualnej i podsieci

Ważne

W przypadku korzystania z niestandardowej sieci wirtualnej z użyciem NAP (Network Access Protection), należy pamiętać o następujących informacjach:

  • Należy utworzyć i delegować podsieć serwera interfejsu API do Microsoft.ContainerService/managedClusters, co przyznaje usłudze AKS uprawnienia do wstrzykiwania zasobników serwera API i wewnętrznego modułu równoważenia obciążenia do tej podsieci. Nie można użyć podsieci dla innych obciążeń, ale można jej użyć w przypadku wielu klastrów usługi AKS znajdujących się w tej samej sieci wirtualnej. Minimalny obsługiwany rozmiar podsieci serwera interfejsu API to /28.
  • Cały ruch w sieci wirtualnej jest domyślnie dozwolony. Jeśli jednak dodano reguły grupy zabezpieczeń sieci w celu ograniczenia ruchu między różnymi podsieciami, musisz upewnić się, że skonfigurowałeś odpowiednie uprawnienia. Aby uzyskać więcej informacji, zobacz dokumentację sieciowej grupy zabezpieczeń.
  1. Utwórz sieć wirtualną przy użyciu az network vnet create polecenia .

    az network vnet create \
        --name $VNET_NAME \
        --resource-group $RG_NAME \
        --location $LOCATION \
        --address-prefixes 172.19.0.0/16
    
  2. Utwórz podsieć przy użyciu polecenia az network vnet subnet create i deleguj ją do Microsoft.ContainerService/managedClusters.

    az network vnet subnet create \
        --resource-group $RG_NAME \
        --vnet-name $VNET_NAME \
        --name $SUBNET_NAME \
        --delegations Microsoft.ContainerService/managedClusters \
        --address-prefixes 172.19.0.0/28
    

Tworzenie tożsamości zarządzanej i nadawanie jej uprawnień dostępu do sieci wirtualnej

  1. Utwórz tożsamość zarządzaną przy użyciu az identity create polecenia .

    az identity create \
        --resource-group $RG_NAME \
        --name $IDENTITY_NAME \
        --location $LOCATION
    
  2. Pobierz identyfikator główny tożsamości zarządzanej i ustaw go jako zmienną środowiskową przy użyciu polecenia [az identity show][az-identity-show].

    IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group $RG_NAME --name $IDENTITY_NAME --query principalId -o tsv)
    
  3. Przypisz rolę Współautor sieci do tożsamości zarządzanej, używając polecenia az role assignment create.

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

Utwórz klaster AKS z automatyczną aprowizacją węzłów (NAP) w niestandardowej sieci wirtualnej

  1. Utwórz klaster usługi AKS z włączoną funkcją Network Access Protection (NAP) w swojej niestandardowej sieci wirtualnej przy użyciu polecenia az aks create. Upewnij się, że flaga --node-provisioning-mode jest ustawiona na Auto, aby włączyć NAP.

    Następujące polecenie ustawia również wartość --network-plugin na azure, --network-plugin-mode na overlay, i --network-dataplane na cilium. Aby uzyskać więcej informacji na temat konfiguracji sieci obsługiwanych w ramach Network Access Protection (NAP), zobacz Konfigurowanie sieci na potrzeby automatycznej aprowizacji węzłów w usłudze 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/$CUSTOM_VNET_NAME/subnets/$SUBNET_NAME" \
        --node-provisioning-mode Auto
    

    Po kilku minutach polecenie zostanie wykonane i zwróci informacje o klastrze w formacie JSON.

  2. Skonfiguruj kubectl, aby nawiązać połączenie z klastrem Kubernetes za pomocą polecenia az aks get-credentials. To polecenie pobiera poświadczenia i konfiguruje Kubernetes CLI do ich użycia.

    az aks get-credentials \
        --resource-group $RG_NAME \
        --name $CLUSTER_NAME
    
  3. Zweryfikuj połączenie z klastrem, używając polecenia kubectl get. Ta komenda zwraca listę węzłów klastra.

    kubectl get nodes
    

Dalsze kroki

Aby uzyskać więcej informacji o automatycznym aprowizowaniu węzłów w AKS, zobacz następujące artykuły: