Esdeveniment
Crear aplicacions i agents d'IA
17 de març, 21 - 21 de març, 10
Uneix-te a la sèrie de trobades per crear solucions d'IA escalables basades en casos d'ús del món real amb altres desenvolupadors i experts.
Registreu-vos-hi araAquest navegador ja no s’admet.
Feu l’actualització al Microsoft Edge per aprofitar les característiques més recents, les actualitzacions de seguretat i l’assistència tècnica.
En Azure Kubernetes Service, los nodos de la misma configuración se agrupan en grupos de nodos. Estos grupos de nodos contienen las máquinas virtuales subyacentes que ejecutan las aplicaciones. Cuando crea un clúster de AKS, define el número de nodos y su tamaño (SKU) inicial, lo cual crea un grupo de nodos del sistema.
Para admitir aplicaciones con diferentes necesidades de proceso o almacenamiento, puede crear grupos de nodos de usuario. Los grupos de nodos del sistema tienen el propósito principal de hospedar los pods críticos del sistema, como CoreDNS y konnectivity
. Los grupos de nodos de usuario tienen el propósito principal de hospedar los pods de aplicación. Por ejemplo, puede usar más grupos de nodos de usuario para proporcionar GPU para aplicaciones de proceso intensivo o acceso a almacenamiento SSD de alto rendimiento. Sin embargo, si solo desea tener un grupo en su clúster de AKS, puede programar pods de aplicación en grupos de nodos de sistema.
Nota
Esta característica permite un mayor control sobre la creación y administración de varios grupos de nodos y requiere comandos distintos para las operaciones de creación, actualización y eliminación (CRUD). Anteriormente, las operaciones de clúster a través de az aks create
o az aks update
usaban la API managedCluster y eran la única forma de cambiar el plano de control y un grupo de nodo único. Esta característica expone un conjunto de operaciones independiente para los grupos de agentes a través de la API agentPool y requiere el uso del conjunto de comandos az aks nodepool
para ejecutar operaciones en un grupo de nodos individual.
Este artículo le muestra cómo crear uno o más grupos de nodos en un clúster de AKS.
az --version
para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.Se aplican las siguientes limitaciones cuando crea clústeres de AKS que admiten varios grupos de nodos:
Important
Si ejecuta un único grupo de nodos del sistema para el clúster de AKS en un entorno de producción, se recomienda usar al menos tres nodos para el grupo de nodos. Si un nodo deja de funcionar, la redundancia se ve comprometida. Puede mitigar este riesgo si tiene más nodos del grupo de nodos del sistema.
Cree un grupo de recursos de Azure con el comando az group create
.
az group create --name $RESOURCE_GROUP_NAME --location $LOCATION
Cree un clúster de AKS con un grupo de nodo único mediante el comando az aks create
.
az aks create \
--resource-group $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--vm-set-type VirtualMachineScaleSets \
--node-count 2 \
--location $LOCATION \
--load-balancer-sku standard \
--generate-ssh-keys
La operación de creación del clúster tarda unos minutos.
Cuando el clúster esté listo, obtenga las credenciales del clúster mediante el comando az aks get-credentials
.
az aks get-credentials --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME
El clúster creado en el paso anterior tiene un grupo de nodo único. En esta sección, se agrega un segundo grupo de nodos al clúster.
Cree un grupo de nodos nuevo mediante el comando az aks nodepool add
. En el ejemplo siguiente se crea un grupo de nodos denominado mynodepool que ejecuta tres nodos:
az aks nodepool add \
--resource-group $RESOURCE_GROUP_NAME \
--cluster-name $CLUSTER_NAME \
--name $NODE_POOL_NAME \
--node-count 3
Compruebe el estado de los grupos de nodos mediante el comando az aks node pool list
y especifique el nombre del clúster y del grupo de recursos.
az aks nodepool list --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME
En la siguiente salida de ejemplo se puede ver que mynodepool se ha creado correctamente con tres nodos. Cuando se creó el clúster de AKS en el paso anterior, también se creó un grupo de nodos predeterminado denominado nodepool1 con 2 nodos.
[
{
...
"count": 3,
...
"name": "mynodepool",
"orchestratorVersion": "1.15.7",
...
"vmSize": "Standard_DS2_v2",
...
},
{
...
"count": 2,
...
"name": "nodepool1",
"orchestratorVersion": "1.15.7",
...
"vmSize": "Standard_DS2_v2",
...
}
]
El procesador ARM64 proporciona proceso de bajo consumo para las cargas de trabajo de Kubernetes. Para crear un grupo de nodos de ARM64, deberá elegir una máquina virtual de la serie Dpsv5, Dplsv5 o Epsv5.
Agregue un grupo de nodos ARM64 al clúster existente mediante el az aks nodepool add
.
az aks nodepool add \
--resource-group $RESOURCE_GROUP_NAME \
--cluster-name $CLUSTER_NAME \
--name $ARM_NODE_POOL_NAME \
--node-count 3 \
--node-vm-size Standard_D2pds_v5
El host del contenedor de Linux en Azure para AKS es una distribución de Linux de código abierto disponible como host del contenedor de AKS. Proporciona alta confiabilidad, seguridad y coherencia. Solo incluye el conjunto mínimo de paquetes necesarios para ejecutar cargas de trabajo de contenedor, lo que mejora los tiempos de arranque y el rendimiento general.
Agregue un grupo de nodos de Azure Linux al clúster existente mediante el comando az aks nodepool add
y especifique --os-sku AzureLinux
.
az aks nodepool add \
--resource-group $RESOURCE_GROUP_NAME \
--cluster-name $CLUSTER_NAME \
--name $AZ_LINUX_NODE_POOL_NAME \
--os-sku AzureLinux
Puede migrar los nodos existentes de Ubuntu a Linux en Azure mediante uno de los métodos siguientes:
Una carga de trabajo puede requerir la división de los nodos de clúster en grupos independientes para el aislamiento lógico. Las subredes independientes dedicadas a cada grupo de nodos en el clúster pueden ayudar a admitir este aislamiento, que puede abordar requisitos como tener un espacio de direcciones de red virtual no contiguo para dividir entre grupos de nodos.
Nota
Asegúrese de que su versión de la CLI de Azure sea la 2.35.0
o posterior.
aks-preview
extensión de la CLI de Azure (versión 0.5.66 y superior) ahora permite ejecutar el comando az aks update
con solo los argumentos -g <resourceGroup> -n <clusterName>
necesarios. Este comando realiza una operación de actualización sin hacer ningún cambio, lo que puede recuperar un clúster bloqueado en un estado de error.Agregue un grupo de nodos con una subred única en el clúster existente mediante el comando az aks nodepool add
y especifique --vnet-subnet-id
.
az aks nodepool add \
--resource-group $RESOURCE_GROUP_NAME \
--cluster-name $CLUSTER_NAME \
--name $NODE_POOL_NAME \
--node-count 3 \
--vnet-subnet-id $SUBNET_RESOURCE_ID
Para más información sobre cómo habilitar el Estándar federal de procesamiento de información (FIPS) para el clúster de AKS, consulte Habilitación del estándar federal de proceso de información (FIPS) para grupos de nodos de Azure Kubernetes Service (AKS).
A partir de la versión 1.20 de Kubernetes y versiones posteriores, puede especificar containerd
como el entorno de ejecución del contenedor para los grupos de nodos de Windows Server 2019. A partir de Kubernetes 1.23, containerd
es el valor predeterminado y el único entorno de ejecución de contenedor para Windows.
Important
Cuando se utiliza containerd
con grupos de nodos de Windows Server 2019:
--node-vm-size
es Standard_D2s_v3, que era el tamaño mínimo recomendado para los grupos de nodos de Windows Server 2019 en las versiones anteriores a Kubernetes 1.20. El tamaño mínimo recomendado para grupos de nodos de Windows Server 2019 cuando se usa containerd
es Standard_D4s_v3. Al establecer el parámetro --node-vm-size
, compruebe la lista de tamaños de máquina virtual restringidos.containerd
y tolerancias o selectores de nodos con las implementaciones para garantizar que las cargas de trabajo se programan correctamente.Agregue un grupo de nodos de Windows Server con containerd
en el clúster existente mediante el az aks nodepool add
.
Nota
Si no especifica el encabezado personalizado WindowsContainerRuntime=containerd
, el grupo de nodos sigue usando containerd
como entorno de ejecución de contenedor de manera predeterminada.
az aks nodepool add \
--resource-group $RESOURCE_GROUP_NAME \
--cluster-name $CLUSTER_NAME \
--os-type Windows \
--name $CONTAINER_D_NODE_POOL_NAME \
--node-vm-size Standard_D4s_v3 \
--kubernetes-version 1.20.5 \
--aks-custom-headers WindowsContainerRuntime=containerd \
--node-count 1
Actualice un grupo de nodos específico de Docker a containerd
mediante el comando az aks nodepool upgrade
.
az aks nodepool upgrade \
--resource-group $RESOURCE_GROUP_NAME \
--cluster-name $CLUSTER_NAME \
--name $CONTAINER_D_NODE_POOL_NAME \
--kubernetes-version 1.20.7 \
--aks-custom-headers WindowsContainerRuntime=containerd
Actualice todos los grupos de nodos de Docker a containerd
mediante el comando az aks nodepool upgrade
.
az aks nodepool upgrade \
--resource-group $RESOURCE_GROUP_NAME \
--cluster-name $CLUSTER_NAME \
--kubernetes-version 1.20.7 \
--aks-custom-headers WindowsContainerRuntime=containerd
Agregue un grupo de nodos que use discos de sistema operativo efímeros a un clúster existente mediante el comando az aks nodepool add
con la marca --node-osdisk-type
establecida en Ephemeral
.
Nota
--node-osdisk-type
con el comando az aks create
.--node-osdisk-type Managed
para hacerlo.az aks nodepool add --name $EPHEMERAL_NODE_POOL_NAME --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME -s Standard_DS3_v2 --node-osdisk-type Ephemeral
Important
El sistema operativo efímero permite implementar imágenes de instancias y de máquinas virtuales cuyo tamaño máximo sea equivalente al de la memoria caché de máquina virtual. La configuración predeterminada del disco de sistema operativo del nodo predeterminada en AKS usa 128 GB, lo cual significa que necesitará una máquina virtual con una memoria caché cuyo tamaño sea superior a 128 GB. La máquina virtual Standard_DS2_v2 tiene un tamaño de caché de 86 GB, que no es lo suficientemente grande. La SKU de las máquinas virtuales Standard_DS3_v2 tienen un tamaño de caché de 172 GB, que es lo suficientemente grande. También puede reducir el tamaño predeterminado del disco del sistema operativo mediante --node-osdisk-size
, pero tenga en cuenta que el tamaño mínimo de las imágenes de AKS es de 30 GB.
Si ya no necesita un grupo de nodo, puede eliminarlo y quitar los nodos de máquinas virtuales subyacentes.
Atenció
Cuando se elimina un grupo de nodos, AKS no realiza acordono y purga, y no hay ninguna opción de recuperación para la pérdida de datos que puede producirse al eliminar un grupo de nodos. Si no se pueden programar pods en otros grupos de nodos, esas aplicaciones dejarán de estar disponibles. Asegúrese de que no elimina un grupo de nodos si las aplicaciones en uso no disponen de copias de seguridad de los datos o de la posibilidad de ejecutarse en otros grupos de nodos del clúster. Para minimizar la interrupción de los pods de reprogramación que se ejecutan actualmente en el grupo de nodos que quiere eliminar, realice un acordonamiento y purga en todos los nodos del grupo de nodos antes de eliminarlos.
Elimine un grupo de nodos mediante el comando az aks nodepool delete
y especifique el nombre del grupo de nodos.
az aks nodepool delete --resource-group $RESOURCE_GROUP_NAME --cluster-name $CLUSTER_NAME --name $NODE_POOL_NAME --no-wait
Tarda unos minutos en eliminar los nodos y el grupo de nodos.
En este artículo ha aprendido a crear grupos de varios nodos en un clúster de AKS. Para obtener más información sobre cómo administrar varios grupos de nodos, consulte Administración de varios grupos de nodos para un clúster en Azure Kubernetes Service (AKS).
Comentaris de Azure Kubernetes Service
Azure Kubernetes Service és un projecte de codi obert. Seleccioneu un enllaç per enviar comentaris:
Esdeveniment
Crear aplicacions i agents d'IA
17 de març, 21 - 21 de març, 10
Uneix-te a la sèrie de trobades per crear solucions d'IA escalables basades en casos d'ús del món real amb altres desenvolupadors i experts.
Registreu-vos-hi araFormació
Mòdul
Optimización de los costos de proceso en Azure Kubernetes Service (AKS) - Training
Explore las estrategias que puede usar en Azure para optimizar el proceso de desarrollo de aplicaciones nativas de nube con Azure Kubernetes Service (AKS).