Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se muestra cómo crear un clúster de Azure Kubernetes Service (AKS) con el aprovisionamiento automático de nodos (NAP) habilitado en una red virtual personalizada (VNet). Cree una red virtual y una subred y, a continuación, conceda a una identidad administrada acceso a la red virtual.
Prerrequisitos
- Una suscripción de Azure. En caso de no tener ninguna, puede crear una cuenta gratuita.
- Versión
2.76.0o posterior de la CLI de Azure. Para encontrar la versión, ejecuteaz --version. Para obtener más información sobre la instalación o actualización de CLI de Azure, consulte Instalación de CLI de Azure. - Un entorno de Bash, como Azure Cloud Shell. Si ejecuta los comandos localmente, inicie sesión con el
az logincomando . - El cliente de línea de comandos de Kubernetes,
kubectl.kubectlya está instalado en Azure Cloud Shell. Para instalarlo localmente, use elaz aks install-clicomando . -
Microsoft.Authorization/roleAssignments/writepermiso, como el rol de administrador de Access Control basado en roles, para asignar el rol Colaborador de red. - Familiaridad con los conceptos descritos en Introducción al aprovisionamiento automático de nodos (NAP) en AKS e Información general sobre las configuraciones de red para el aprovisionamiento automático de nodos (NAP) en Azure Kubernetes Service (AKS).
Limitaciones
- Al crear un clúster NAP en una red virtual (VNet) personalizada, debe usar un equilibrador de carga estándar. El Load Balancer básico no es compatible.
- Para revisar otras limitaciones y características no admitidas para NAP, consulte el artículo Introducción al aprovisionamiento automático de nodos (NAP) en AKS .
Establecimiento de variables de entorno y creación de un grupo de recursos
Establezca las variables de entorno que se usan en este artículo. Reemplace los valores de los marcadores de posición por sus propios valores.
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>"Seleccione la suscripción Azure mediante el
az account setcomando .az account set --subscription $SUBSCRIPTION_IDCree un grupo de recursos con el comando
az group create.az group create \ --name $RG_NAME \ --location $LOCATION
Creación de una red virtual y una subred
Cree una red virtual mediante el
az network vnet createcomando .az network vnet create \ --name $VNET_NAME \ --resource-group $RG_NAME \ --location $LOCATION \ --address-prefixes 172.19.0.0/16Cree una subred de nodo mediante el
az network vnet subnet createcomando .az network vnet subnet create \ --resource-group $RG_NAME \ --vnet-name $VNET_NAME \ --name $SUBNET_NAME \ --address-prefixes 172.19.0.0/24
Creación de una identidad administrada y asignación de permisos de red virtual
Crear una identidad administrada usando el comando
az identity create.az identity create \ --resource-group $RG_NAME \ --name $IDENTITY_NAME \ --location $LOCATIONUse el
az identity showcomando para obtener el identificador de entidad de seguridad de la identidad administrada y guardarlo en una variable de entorno.IDENTITY_PRINCIPAL_ID=$(az identity show --resource-group $RG_NAME --name $IDENTITY_NAME --query principalId -o tsv)Asigne el rol Colaborador de red a la identidad administrada mediante el
az role assignment createcomando . El--assignee-principal-typeparámetro evita errores causados por retrasos de replicación después de crear la identidad administrada.Important
El rol Colaborador de red en el ámbito de la red virtual concede permisos amplios. Antes de usar este enfoque en producción, revise la configuración de RBAC para las configuraciones de subred personalizadas y considere la posibilidad de asignar permisos de subred con ámbito.
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
Habilitación de NAP y conexión al clúster
Use la identidad administrada, la red virtual y la subred de nodo que creó en las secciones anteriores. El clúster debe usar un Standard Load Balancer, como se describe en Limitaciones.
Cree un clúster de AKS con NAP habilitado en la red virtual personalizada mediante el
az aks createcomando . En la tabla siguiente se describen los parámetros NAP y de red que se usan en el comando :Parámetro Value Description --node-provisioning-modeAutoHabilita NAP en el clúster. --network-pluginazureUsa Azure CNI para las redes de clúster. --network-plugin-modeoverlayUsa Azure superposición de CNI para redes de pods. --network-dataplaneciliumUsa el plano de datos de Cilium. Para obtener más información, consulte Introducción a las configuraciones de red para el aprovisionamiento automático de nodos (NAP) en 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-keysCuando finaliza la creación del clúster, el comando devuelve información con formato JSON sobre el clúster.
Para configurar
kubectlpara conectarse a su clúster de Kubernetes, use el comandoaz 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_NAMECompruebe 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:
- Información general sobre las configuraciones de red para el aprovisionamiento automático de nodos (NAP) en Azure Kubernetes Service (AKS)
- Configuración de grupos de nodos para el aprovisionamiento automático de nodos en AKS
- Configuración de directivas de interrupción para el aprovisionamiento automático de nodos en AKS