Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Un inconveniente de la CNI tradicional es el agotamiento de las direcciones IP Pod a medida que crece el clúster de AKS, de modo que se vuelve necesario recompilar todo el clúster en una subred más grande. La nueva capacidad de asignación dinámica de direcciones IP de Azure CNI soluciona este problema al asignar direcciones IP de pods de una subred que es independiente de la subred que hospeda el clúster de AKS.
Esto reporta las siguientes ventajas:
En este artículo se muestra cómo usar las redes de Azure CNI para la asignación dinámica de direcciones IP y la compatibilidad mejorada con subredes en AKS.
Revise los requisitos previos para configurar redes básicas de Azure CNI en AKS, ya que los mismos requisitos previos se aplican a este artículo.
Revise los parámetros de implementación para configurar redes básicas de Azure CNI en AKS, ya que se aplican los mismos parámetros.
No se admiten los clústeres de AKS Engine y de implementación personal.
CLI de Azure, versión 2.37.0
o posteriores.
Si tiene un clúster existente, debe habilitar Container Insights para supervisar el uso de subredes IP. Puede habilitar Container Insights con el comando az aks enable-addons
, tal como se muestra en el ejemplo siguiente:
az aks enable-addons --addons monitoring --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME
Planear el direccionamiento IP es mucho más sencillo con esta característica. Dado que los nodos y pods se escalan de manera independiente, los espacios de direcciones también se pueden planear por separado. Dado que las subredes de pod se pueden configurar en la granularidad de un grupo de nodos, siempre podrá agregar una nueva subred cuando agregue un grupo de nodos. Los pods de sistema de un grupo de clústeres/nodos también reciben direcciones IP de la subred de pod, por lo que es necesario tener en cuenta este comportamiento.
Las direcciones IP se asignan a los nodos en lotes de 16. La asignación de IP de la subred del pod debe planearse con un mínimo de 16 direcciones IP por nodo en el clúster; los nodos solicitarán 16 direcciones IP al inicio y luego otro lote de 16 siempre que haya <8 direcciones IP sin asignar en su asignación.
La planeación de las direcciones IP para los servicios Kubernetes y el puente de Docker permanecen sin cambios.
Para ver y comprobar los recursos de NodeNetworkConfiguration (NNC) responsables de estas asignaciones de IP, puede ejecutar el siguiente comando:
kubectl get nodenetworkconfigs -n kube-system -o wide
Los valores de pods por nodo al usar Azure CNI con asignación dinámica de direcciones IP difieren ligeramente del comportamiento de CNI tradicional:
CNI | Valor predeterminado | Configurable en la implementación |
---|---|---|
Azure CNI tradicional | 30 | Sí (hasta 250) |
Azure CNI con asignación dinámica de direcciones IP | 250 | Sí (hasta 250) |
Todas las demás instrucciones relacionadas con la configuración del máximo de pods por nodo siguen siendo las mismas.
Los parámetros de implementación para configurar redes básicas de Azure CNI en AKS son válidos, con dos excepciones:
El uso de la asignación dinámica de direcciones IP y la compatibilidad mejorada con subredes en el clúster es similar al método predeterminado para configurar un clúster de Azure CNI. En el ejemplo siguiente se describe cómo crear una nueva red virtual con una subred para nodos y una subred para pods, y cómo crear un clúster que usa Azure CNI con asignación dinámica de direcciones IP y compatibilidad mejorada con subredes. Asegúrese de reemplazar las variables como $subscription
con sus propios valores.
Cree la red virtual con dos subredes.
RESOURCE_GROUP_NAME="myResourceGroup"
VNET_NAME="myVirtualNetwork"
LOCATION="westcentralus"
SUBNET_NAME_1="nodesubnet"
SUBNET_NAME_2="podsubnet"
# Create the resource group
az group create --name $RESOURCE_GROUP_NAME --location $LOCATION
# Create our two subnet network
az network vnet create --resource-group $RESOURCE_GROUP_NAME --location $LOCATION --name $VNET_NAME --address-prefixes 10.0.0.0/8 -o none
az network vnet subnet create --resource-group $RESOURCE_GROUP_NAME --vnet-name $VNET_NAME --name $SUBNET_NAME_1 --address-prefixes 10.240.0.0/16 -o none
az network vnet subnet create --resource-group $RESOURCE_GROUP_NAME --vnet-name $VNET_NAME --name $SUBNET_NAME_2 --address-prefixes 10.241.0.0/16 -o none
Cree el clúster. Para ello, haga referencia a la subred de nodo con --vnet-subnet-id
y la subred de pod con --pod-subnet-id
y haga referencia al complemento de supervisión.
CLUSTER_NAME="myAKSCluster"
SUBSCRIPTION="aaaaaaa-aaaaa-aaaaaa-aaaa"
az aks create \
--name $CLUSTER_NAME \
--resource-group $RESOURCE_GROUP_NAME \
--location $LOCATION \
--max-pods 250 \
--node-count 2 \
--network-plugin azure \
--vnet-subnet-id /subscriptions/$SUBSCRIPTION/resourceGroups/$RESOURCE_GROUP_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$SUBNET_NAME_1 \
--pod-subnet-id /subscriptions/$SUBSCRIPTION/resourceGroups/$RESOURCE_GROUP_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$SUBNET_NAME_2 \
--enable-addons monitoring \
--generate-ssh-keys
Al agregar un grupo de nodos, haga referencia a la subred de nodo mediante --vnet-subnet-id
y la subred de pod mediante --pod-subnet-id
. En el ejemplo siguiente se crean dos nuevas subredes a las que se hace referencia durante la creación de un nuevo grupo de nodos:
SUBNET_NAME_3="node2subnet"
SUBNET_NAME_4="pod2subnet"
NODE_POOL_NAME="mynodepool"
az network vnet subnet create --resource-group $RESOURCE_GROUP_NAME --vnet-name $VNET_NAME --name $SUBNET_NAME_3 --address-prefixes 10.242.0.0/16 -o none
az network vnet subnet create --resource-group $RESOURCE_GROUP_NAME --vnet-name $VNET_NAME --name $SUBNET_NAME_4 --address-prefixes 10.243.0.0/16 -o none
az aks nodepool add --cluster-name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME --name $NODE_POOL_NAME \
--max-pods 250 \
--node-count 2 \
--vnet-subnet-id /subscriptions/$SUBSCRIPTION/resourceGroups/$RESOURCE_GROUP_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$SUBNET_NAME_3 \
--pod-subnet-id /subscriptions/$SUBSCRIPTION/resourceGroups/$RESOURCE_GROUP_NAME/providers/Microsoft.Network/virtualNetworks/$VNET_NAME/subnets/$SUBNET_NAME_4 \
--no-wait
Azure CNI proporciona la capacidad de supervisar el uso de subred IP. Para habilitar la supervisión del uso de subred IP, siga estos pasos:
Descargue o haga grep del archivo denominado container-azm-ms-agentconfig.yaml desde GitHub.
Buscar en integraciones de azure_subnet_ip_usage
. Establezca enabled
en true
.
Guarde el archivo.
Establezca las variables para la suscripción, el grupo de recursos y el clúster. Considere los ejemplos siguientes:
az account set --subscription $SUBSCRIPTION
az aks get-credentials --name $CLUSTER_NAME --resource-group $RESOURCE_GROUP_NAME
kubectl apply -f container-azm-ms-agentconfig.yaml
. Esto reiniciará el pod y, después de 5 a 10 minutos, las métricas estarán visibles.¿Puedo asignar varias subredes de pod a un grupo de clústeres/nodos?
Solo se puede asignar una subred a un grupo de clústeres o nodos. Sin embargo, varios clústeres o grupos de nodos pueden compartir una sola subred.
¿Puedo asignar subredes de pod de una red virtual diferente?
No, la subred de pod debe ser de la misma red virtual que el clúster.
¿Algunos de los grupos de nodos de un clúster pueden usar el CNI tradicional mientras otros usan el nuevo CNI?
Todo el clúster debe usar un solo tipo de CNI.
Más información acerca de las redes en AKS en los siguientes artículos:
Comentarios de Azure Kubernetes Service
Azure Kubernetes Service es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios:
Eventos
Compilación de Intelligent Apps
17 mar, 21 - 21 mar, 10
Únase a la serie de reuniones para crear soluciones de inteligencia artificial escalables basadas en casos de uso reales con compañeros desarrolladores y expertos.
Regístrese ahoraCursos
Módulo
Configuración de redes de Azure CNI en Azure Kubernetes Service (AKS) - Training
En este módulo, obtendrá información sobre Azure Container Networking Interface (CNI) y cómo configurarla en Azure Kubernetes Service (AKS).
Certificación
Microsoft Certified: Azure Network Engineer Associate - Certifications
Muestre el diseño, la implementación y el mantenimiento de la infraestructura de red de Azure, el tráfico de equilibrio de carga, el enrutamiento de red, etc.
Documentación
Aprenda a configurar las redes de superposición de Azure CNI en Azure Kubernetes Service (AKS), incluida la implementación de un clúster de AKS en una red virtual y subredes existentes.
Configuración de redes de Azure CNI en Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Obtenga información sobre cómo configurar redes de Azure CNI (avanzadas) en Azure Kubernetes Service (AKS).
Obtenga información sobre los requisitos y limitaciones de las redes de Azure CNI en Azure Kubernetes Service (AKS).