Azure Kubernetes Service'te (AKS) özel bir sanal ağda düğüm otomatik sağlama (NAP) kümesi oluşturma

Bu makalede, özel bir sanal ağda (VNet) düğüm otomatik sağlama (NAP) etkinleştirilmiş bir Azure Kubernetes Service (AKS) kümesi oluşturma gösterilmektedir. Bir sanal ağ ve alt ağ oluşturup sanal ağa yönetilen kimlik erişimi verirsiniz.

Önkoşullar

Sınırlamalar

Ortam değişkenlerini ayarlama ve kaynak grubu oluşturma

  1. Bu makale boyunca kullanılan ortam değişkenlerini ayarlayın. Yer tutucu değerlerini kendi değerlerinizle değiştirin.

    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. komutunu kullanarak az account set Azure aboneliğinizi seçin.

    az account set --subscription $SUBSCRIPTION_ID
    
  3. az group create komutunu kullanarak bir kaynak grubu oluşturun.

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

Sanal ağ ve alt ağ oluşturma

  1. az network vnet create komutunu kullanarak bir VNet oluşturun.

    az network vnet create \
        --name $VNET_NAME \
        --resource-group $RG_NAME \
        --location $LOCATION \
        --address-prefixes 172.19.0.0/16
    
  2. komutunu kullanarak az network vnet subnet create bir düğüm alt ağı oluşturun.

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

Yönetilen kimlik oluşturma ve sanal ağ izinleri atama

  1. komutunu kullanarak az identity create yönetilen kimlik oluşturun.

    az identity create \
        --resource-group $RG_NAME \
        --name $IDENTITY_NAME \
        --location $LOCATION
    
  2. Yönetilen kimliğin az identity show asıl kimliğini almak ve bir ortam değişkenine kaydetmek için komutunu kullanın.

    IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group $RG_NAME --name $IDENTITY_NAME --query principalId -o tsv)
    
  3. komutunu kullanarak yönetilen kimliğe Ağ Katkıda Bulunanı rolünü atayın az role assignment create . parametresi, --assignee-principal-type yönetilen kimlik oluşturulduktan sonra çoğaltma gecikmelerinden kaynaklanan hataları önler.

    Important

    Sanal ağ kapsamındaki Ağ Katılımcısı rolü geniş izinler verir. Üretimde bu yaklaşımı kullanmadan önce özel alt ağ yapılandırmaları için RBAC kurulumunu gözden geçirin ve kapsamlı alt ağ izinleri atamayı göz önünde bulundurun.

    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
    

NAP'yi etkinleştirme ve kümeye bağlanma

Önceki bölümlerde oluşturduğunuz yönetilen kimliği, sanal ağı ve düğüm alt asını kullanın. Küme, Sınırlamalar bölümünde açıklandığı gibi bir Standart Load Balancer kullanmalıdır.

  1. komutunu kullanarak az aks create özel sanal ağınızda NAP'nin etkinleştirildiği bir AKS kümesi oluşturun. Aşağıdaki tabloda komutta kullanılan NAP ve ağ parametreleri açıklanmaktadır:

    Parametre Değer Description
    --node-provisioning-mode Auto Kümede NAP'yi etkinleştirir.
    --network-plugin azure Küme ağı için Azure CNI kullanır.
    --network-plugin-mode overlay Pod ağı için Azure CNI Katman kullanır.
    --network-dataplane cilium Cilium veri düzlemini kullanır.

    Daha fazla bilgi için bkz. Azure Kubernetes Service (AKS)'da düğüm otomatik sağlama (NAP) için ağ yapılandırmalarına genel bakış.

    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
    

    Küme oluşturma işlemi tamamlandığında, komut küme hakkında JSON biçimli bilgileri döndürür.

  2. kubectl'yi, az aks get-credentials komutunu kullanarak Kubernetes kümenize bağlanmak için yapılandırın. Bu komut, kimlik bilgilerini indirir ve Kubernetes CLI'yi bunları kullanacak şekilde yapılandırır.

    az aks get-credentials \
        --resource-group $RG_NAME \
        --name $CLUSTER_NAME
    
  3. Kümelenize olan bağlantınızı kubectl get komutunu kullanarak doğrulayın. Bu komut, küme düğümlerinin bir listesini döndürür.

    kubectl get nodes
    

Sonraki Adımlar

AKS'de düğüm otomatik sağlama hakkında daha fazla bilgi için aşağıdaki makalelere bakın: