Compartir a través de


Creación de un clúster de aprovisionamiento automático de nodos (NAP) en una red virtual personalizada en Azure Kubernetes Service (AKS)

En este artículo se muestra cómo crear una red virtual (VNet) y una subred, crear una identidad administrada con permisos para acceder a la red virtual y crear un clúster de Azure Kubernetes Service (AKS) en la red virtual personalizada con el aprovisionamiento automático de nodos (NAP) habilitado.

Prerrequisitos

Limitaciones

Creación de una red virtual y una subred

Importante

Al usar una red virtual personalizada con NAP, tenga en cuenta la siguiente información:

  • Debe crear y delegar una subred del servidor de API en Microsoft.ContainerService/managedClusters, lo cual otorga permisos al servicio AKS para inyectar los pods del servidor de API y el equilibrador de carga interno en esa subred. No puede usar la subred para ninguna otra carga de trabajo, pero puede usarla para varios clústeres de AKS ubicados en la misma red virtual. El tamaño mínimo admitido de subred del servidor de API es /28.
  • De manera predeterminada, se permite todo el tráfico dentro de la red virtual. Sin embargo, si ha agregado reglas de grupo de seguridad de red (NSG) para restringir el tráfico entre diferentes subredes, debe asegurarse de configurar los permisos adecuados. Para más información, consulte la documentación del grupo de seguridad de red.
  1. Cree una red virtual mediante el az network vnet create comando .

    az network vnet create \
        --name $VNET_NAME \
        --resource-group $RG_NAME \
        --location $LOCATION \
        --address-prefixes 172.19.0.0/16
    
  2. Cree una subred mediante el az network vnet subnet create comando y deleguela en 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
    

Creación de una identidad administrada y concesión de permisos para acceder a la red virtual

  1. Crear una identidad administrada usando el comando az identity create.

    az identity create \
        --resource-group $RG_NAME \
        --name $IDENTITY_NAME \
        --location $LOCATION
    
  2. Obtenga el identificador principal de la identidad administrada y asígnelo a una variable de entorno mediante el comando [az identity show][az-identity-show].

    IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group $RG_NAME --name $IDENTITY_NAME --query principalId -o tsv)
    
  3. Asigne el rol Colaborador de red a la identidad administrada mediante el az role assignment create comando .

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

Creación de un clúster de AKS con aprovisionamiento automático de nodos (NAP) en una red virtual personalizada

  1. Cree un clúster de AKS con NAP habilitado en la red virtual personalizada mediante el az aks create comando . Asegúrese de establecer la marca --node-provisioning-mode en Auto para habilitar NAP.

    El siguiente comando también configura --network-plugin en azure, --network-plugin-mode en overlay y --network-dataplane en cilium. Para más información sobre las configuraciones de red compatibles con NAP, consulte Configuración de redes para el aprovisionamiento automático de nodos en 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
    

    Transcurridos unos minutos, el comando se completa y devuelve información en formato JSON sobre el clúster.

  2. Para configurar kubectl para conectarse a su clúster de Kubernetes, use el comando az aks get-credentials. Con este comando se descargan las credenciales y se configura la CLI de Kubernetes para usarlas.

    az aks get-credentials \
        --resource-group $RG_NAME \
        --name $CLUSTER_NAME
    
  3. Compruebe la conexión al clúster con el comando kubectl get. Este comando devuelve una lista de los nodos del clúster.

    kubectl get nodes
    

Pasos siguientes

Para obtener más información sobre el aprovisionamiento automático de nodos en AKS, consulte los siguientes artículos: