다음을 통해 공유


AKS(Azure Kubernetes Service)의 사용자 지정 가상 네트워크에 NAP(노드 자동 프로비저닝) 클러스터 만들기

이 문서에서는 VNet(가상 네트워크) 및 서브넷을 만들고, VNet에 액세스할 수 있는 권한이 있는 관리 ID를 만들고, NAP(노드 자동 프로비저닝)를 사용하도록 설정된 사용자 지정 VNet에서 AKS(Azure Kubernetes Service) 클러스터를 만드는 방법을 보여 줍니다.

필수 조건

제한점

가상 네트워크 및 서브넷 만들기

중요합니다

NAP에서 사용자 지정 VNet을 사용하는 경우 다음 정보를 염두에 두어야 합니다.

  • API 서버 서브넷을 만들고 위임해야 합니다. 이 서브넷은 해당 서브넷 Microsoft.ContainerService/managedClusters에 API 서버 Pod 및 내부 부하 분산 장치를 삽입할 수 있는 AKS 서비스 권한을 부여합니다. 다른 워크로드에는 서브넷을 사용할 수 없지만 동일한 VNet에 있는 여러 AKS 클러스터에 사용할 수 있습니다. 지원되는 최소 API 서버 서브넷 크기는 /28입니다.
  • 기본적으로 VNet 내의 모든 트래픽이 허용됩니다. 그러나 서로 다른 서브넷 간의 트래픽을 제한하는 NSG(네트워크 보안 그룹) 규칙을 추가한 경우 적절한 권한을 구성해야 합니다. 자세한 내용은 네트워크 보안 그룹 설명서를 참조하세요.
  1. 명령을 사용하여 VNet을 만듭니다 az network vnet create .

    az network vnet create \
        --name $VNET_NAME \
        --resource-group $RG_NAME \
        --location $LOCATION \
        --address-prefixes 172.19.0.0/16
    
  2. az network vnet subnet create 명령을 사용하여 서브넷을 만들고 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
    

관리 ID를 만들고 VNet에 액세스할 수 있는 권한을 부여합니다.

  1. az identity create 명령을 사용하여 관리 ID를 만듭니다.

    az identity create \
        --resource-group $RG_NAME \
        --name $IDENTITY_NAME \
        --location $LOCATION
    
  2. 관리 ID의 보안 주체 ID를 가져오고 [az identity show][az-identity-show] 명령을 사용하여 환경 변수로 설정합니다.

    IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group $RG_NAME --name $IDENTITY_NAME --query principalId -o tsv)
    
  3. 명령을 사용하여 관리 ID에 네트워크 참가자 역할을 할당합니다 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
    

사용자 지정 VNet에서 NAP(노드 자동 프로비저닝)를 사용하여 AKS 클러스터 만들기

  1. 명령을 사용하여 사용자 지정 VNet에서 NAP를 사용하도록 설정된 AKS 클러스터를 만듭니다 az aks create . NAP를 활성화하려면 플래그를 --node-provisioning-mode에서 Auto로 설정해야 합니다.

    다음 명령은 또한 --network-pluginazure로, --network-plugin-modeoverlay로, --network-dataplanecilium로 설정합니다. NAP에서 지원되는 네트워킹 구성에 대한 자세한 내용은 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
    

    몇 분 후 명령이 완료되면 클러스터에 대한 JSON 형식 정보가 반환됩니다.

  2. kubectl 명령을 사용하여 Kubernetes 클러스터에 연결하도록 az aks get-credentials을 구성합니다. 이 명령은 자격 증명을 다운로드하고 이를 사용하도록 Kubernetes CLI를 구성합니다.

    az aks get-credentials \
        --resource-group $RG_NAME \
        --name $CLUSTER_NAME
    
  3. kubectl get 명령을 사용하여 클러스터에 대한 연결을 확인합니다. 이 명령은 클러스터 노드 목록을 반환합니다.

    kubectl get nodes
    

다음 단계

AKS의 노드 자동 프로비저닝에 대한 자세한 내용은 다음 문서를 참조하세요.