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.
Important
A partir del 30 de septiembre de 2028, Azure Kubernetes Service (AKS) ya no admite Azure Network Policy Manager (NPM) en nodos de Linux . Para evitar interrupciones del servicio, debe migrar los clústeres de AKS que ejecutan nodos de Linux de NPM a la directiva de red de Cilium antes de la fecha de fin del servicio. Para obtener más información sobre esta retirada de servicio, consulte el anuncio de retirada de las actualizaciones de Azure. Para mantenerse informado sobre los anuncios y actualizaciones, siga las notas de lanzamiento de AKS.
Identificación de clústeres afectados
Para buscar clústeres de AKS con grupos de nodos de Linux mediante Azure Network Policy Manager (NPM), ejecute la consulta de Azure Resource Graph que muestra todos los clústeres de AKS donde agentPool.osType != "Windows" y properties.networkProfile.networkPolicy == "azure".
Important
A partir del 31 de marzo de 2028, Azure Kubernetes Service (AKS) ya no admite redes kubenet. Para evitar interrupciones del servicio, actualice a redes de superposición de Azure Container Networking Interface (CNI) antes de la fecha de fin del servicio. Para obtener más información sobre esta retirada, consulte la Incidencia sobre retirada de GitHub y el Anuncio de la retirada de las actualizaciones de Azure. Para mantenerse informado sobre los anuncios y actualizaciones, siga las notas de lanzamiento de AKS.
Instale un motor de directivas de red y cree directivas de red de Kubernetes para controlar el flujo de tráfico entre pods en clústeres de AKS mediante la CLI de Azure o Terraform.
Información general sobre la directiva de red
De forma predeterminada, todos los pods de un clúster de AKS pueden enviar y recibir tráfico sin limitaciones. Para mejorar la seguridad, puede definir reglas que controlen el flujo de tráfico.
Una directiva de red es una especificación de Kubernetes que define las directivas de acceso para la comunicación entre pods. Cuando se usan directivas de red, se define un conjunto ordenado de reglas para enviar y recibir tráfico. Las reglas se aplican a una colección de pods que coinciden con uno o varios selectores de etiquetas.
Las reglas de directiva de red se definen como manifiestos de YAML y se pueden incluir en manifiestos más amplios que también crean una implementación o un servicio.
Opciones de directivas de red en AKS
Azure proporciona tres motores de directivas de red para aplicar directivas de red:
- Cilium (para clústeres de AKS mediante Azure CNI Powered by Cilium)
- administrador de directivas de red (NPM) de Azure
- Calico (una solución de seguridad de red y red de código abierto fundada por Tigera)
Se recomienda usar Cilium, que proporciona una sólida compatibilidad con directivas nativas de Kubernetes, características extendidas, como el filtrado de FQDN y directivas de capa 7, y un plan de datos basado en eBPF que ofrece un mejor rendimiento, escalabilidad y seguridad en comparación con las soluciones basadas en IPTables.
Para aplicar las directivas especificadas, Azure NPM usa IPTables para nodos de Linux. Las directivas se traducen en conjuntos de pares de IP permitidas y no permitidas. El sistema programa estos pares como IPTable reglas de filtro.
Diferencias entre los motores de directivas de red: Cilium, Azure NPM y Calico
| Motor de directivas de red | Plataformas compatibles | Opciones de redes admitidas | Cumplimiento de la especificación de Kubernetes | Otras características | Support |
|---|---|---|---|---|---|
| Cilium | Linux | CNI de Azure | Admite todos los tipos de políticas | FQDN, L3/4, L7 | Equipo de soporte técnico e ingeniería de Azure |
| Azure NPM | Linux | CNI de Azure | Admite todos los tipos de políticas | N/A | Equipo de soporte técnico e ingeniería de Azure |
| Calico | Linux, Windows Server 2019, Windows Server 2022 | Azure CNI (Linux, Windows Server 2019, Windows Server 2022) y kubenet (Linux) | Admite todos los tipos de políticas | AKS no prueba ni admite características más allá de la aplicación de directivas networking.k8s.io. |
Equipo de soporte técnico e ingeniería de Azure |
limitaciones de Azure Network Policy Manager
Azure NPM tiene las siguientes limitaciones:
- No se admite el escalado más allá de 250 nodos y 20 000 pods . Si intenta escalar más allá de estos límites, puede experimentar errores de memoria insuficiente (OOM). Para mejorar la escalabilidad y la compatibilidad con IPv6, se recomienda usar o actualizar a Azure CNI Powered by Cilium para el motor de directivas de red.
- No se admite IPv6. De lo contrario, es totalmente compatible con las especificaciones de directiva de red en Linux.
- A partir del 30 de septiembre de 2026, Azure Kubernetes Service (AKS) ya no admite Azure Network Policy Manager (NPM) en nodos de Windows.
Problemas conocidos con Azure Network Policy Manager
Es posible que se produzcan algunos problemas de conectividad temporales en nuevas conexiones hacia/desde los pods en nodos afectados al editar o eliminar una política de red de tamaño considerable. Alcanzar esta condición de carrera nunca afecta a las conexiones activas.
Si se produce esta condición de carrera para un nodo, el pod de Azure NPM en ese nodo entra en un estado en el que no puede actualizar las reglas de seguridad, lo que podría provocar una conectividad inesperada para nuevas conexiones a o desde pods en el nodo afectado. Para mitigar el problema, el pod de Azure NPM se reinicia automáticamente aproximadamente 15 segundos después de entrar en este estado. Mientras Azure NPM se reinicia en el nodo afectado, elimina todas las reglas de seguridad y, a continuación, vuelve a aplicar las reglas de seguridad para todas las directivas de red. Mientras se vuelven a aplicar todas las reglas de seguridad, existe la posibilidad de que se produzca una conectividad temporal e inesperada para nuevas conexiones a o desde pods en el nodo afectado.
Para limitar la posibilidad de alcanzar esta condición de carrera, puede reducir el tamaño de la directiva de red. Este problema es más probable que se produzca para una directiva de red con varias secciones ipBlock. Es menos probable que una directiva de red con cuatro o menosipBlock secciones alcance el problema.
Limitaciones de Calico
- AKS no admite la ejecución de Calico administrado por AKS junto con Calico Cloud o Calico Enterprise, ya que esta combinación puede provocar conflictos y comportamientos no deseados. Si usa Calico Cloud o Enterprise, Microsoft recomienda encarecidamente deshabilitar Calico administrado por AKS. Póngase en contacto con Tigera para obtener soporte técnico con esos productos.
- Calico administrado por AKS solo admite
networking.k8s.iopolíticas de red. Si piensa usarprojectcalico.org/v3políticas, considere la posibilidad de migrar a una solución autohospedada, como Calico Cloud, Calico Enterprise o BYOCNI.
Servicios y directivas de red del equilibrador de carga
El enrutamiento del servicio Kubernetes para los servicios entrantes y salientes suele implicar la reescritura de las direcciones IP de origen y destino en el tráfico que se está procesando, incluido el tráfico que entra en el clúster desde un LoadBalancer servicio. Este comportamiento de reescritura significa que es posible que las directivas de red no procesen correctamente el tráfico que se recibe o se envía a un servicio externo. Para más información, consulte la documentación de directivas de red de Kubernetes.
Para restringir qué orígenes pueden enviar tráfico a un servicio de equilibrador de carga, use spec.loadBalancerSourceRanges para configurar el bloqueo de tráfico que se aplica antes de que se produzcan reescrituras. Para más información, consulte la documentación del equilibrador de carga estándar de AKS.
Antes de empezar
Es preciso que esté instalada y configurada la versión 2.0.61 de la CLI de Azure u otra versión posterior. Busque la versión con el comando az --version. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.
En lugar de usar una identidad asignada por el sistema, también puede usar una identidad asignada por el usuario. Para más información, consulte Uso de identidades administradas.
- Terraform instalado, versión 1.6 o posterior.
- La CLI de Azure instalada y autenticada. Busque la versión con el comando
az --version. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure. Use el CLI de Azure para conectarse al clúster después de que Terraform lo cree. -
kubectl instalado. Puede instalarlo localmente mediante el
az aks install-clicomando . Se usakubectlpara verificar el comportamiento de la directiva de red.
Creación de un clúster de AKS con Azure Network Policy Manager (Linux)
Establezca variables de entorno para el nombre del grupo de recursos, el nombre del clúster y la ubicación. Reemplace los valores según sea necesario.
export RESOURCE_GROUP=myResourceGroup export CLUSTER_NAME=myAKSCluster export LOCATION=eastusCree el grupo de recursos mediante el
az group createcomando .az group create --resource-group $RESOURCE_GROUP --location $LOCATIONCree un clúster de AKS usando
az aks createy especifiqueazureparanetwork-pluginynetwork-policy.az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --node-count 1 \ --network-plugin azure \ --network-policy azure \ --generate-ssh-keysPrecaución
Azure Network Policy Manager (NPM) para nodos de Linux se retirará el 30 de septiembre de 2028. En el caso de las nuevas implementaciones, se recomienda usar Azure CNI Powered by Cilium con la directiva de red de Cilium. Para migrar clústeres existentes, consulte Migración de NPM a directiva de red de Cilium.
Creación de un clúster de AKS con Calico
Cree un clúster de AKS mediante el az aks create comando . Especifique --network-plugin azure y --network-policy calico. Al especificar --network-policy calico, habilitas Calico tanto en los grupos de nodos de Linux como en los de Windows.
Si tiene previsto agregar grupos de nodos de Windows al clúster, incluya los parámetros windows-admin-username y windows-admin-password que cumplan con los requisitos de contraseña de Windows Server. Para crear un nombre de usuario que se utilice como credenciales de administrador para los contenedores de Windows Server en el clúster, el siguiente comando te pedirá que introduzcas un nombre de usuario. Configúrelo como WINDOWS_USERNAME.
echo "Please enter the username to use as administrator credentials for Windows Server containers on your cluster: " && read WINDOWS_USERNAME
Important
En este momento, el uso de políticas de red de Calico con nodos de Windows está disponible en nuevos clústeres que utilizan Kubernetes versión 1.20 o posterior con Calico 3.17.2 y requiere el uso de Azure CNI para redes. Los nodos de Windows en clústeres de AKS con Calico habilitado también tienen habilitada la dirección IP flotante de forma predeterminada.
En el caso de los clústeres que solo tienen grupos de nodos de Linux que ejecutan Kubernetes 1.20 con versiones anteriores de Calico, la versión de Calico se actualiza automáticamente a la versión 3.17.2.
Instalación de Azure Network Policy Manager o Calico en un clúster existente
Warning
Tenga en cuenta la siguiente información al instalar Azure NPM o Calico en un clúster existente:
- El proceso de actualización hace que cada conjunto de nodos se reimagen simultáneamente. No se admite la actualización de cada grupo de nodos por separado.
- Dentro de cada grupo de nodos, los nodos siguen el mismo proceso de restablecimiento de imagen que las operaciones estándar de actualización de la versión de Kubernetes. Este comportamiento significa que los nodos de buffer se agregan temporalmente para minimizar la interrupción de las aplicaciones en ejecución durante el proceso de reimagen del nodo. Las interrupciones que puedan producirse son similares a las que se pueden producir durante una actualización de imagen de nodo o una actualización de la versión de Kubernetes.
La siguiente información se aplica a las actualizaciones de kubenet con Calico a Azure CNI Overlay con Calico:
- En los clústeres kubenet con Calico habilitado, Calico se utiliza tanto como CNI como motor de directivas de red.
- En los clústeres de Azure CNI, Calico solo se usa para la aplicación de directivas de red, no como CNI. Esto puede provocar un breve retraso entre cuando se inicia el pod y cuando Calico permite el tráfico saliente desde el pod.
Actualice un clúster existente para instalar Azure NPM o Calico mediante el az aks update comando y especificando azure o calico para el --network-policy parámetro . En el siguiente comando de ejemplo se muestra cómo instalar azure NPM:
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--network-policy azure
Actualización de un clúster existente con Azure NPM o Calico a Cilium
En el caso de los clústeres que ya usan Azure CNI, actualice el plano de datos de red a Cilium. Los clústeres de Kubenet deben migrar primero a Azure CNI Overlay y, a continuación, actualizar el plano de datos de red a Cilium en una operación independiente. Revise los requisitos previos y siga los pasos descritos en Actualización de un clúster existente para Azure CNI Powered by Cilium.
Conexión al clúster de AKS
Configure kubectl para conectarse al clúster ejecutando 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 $RESOURCE_GROUP --name $CLUSTER_NAME
Comprobación de la configuración de directivas de red
Para comenzar la comprobación de la directiva de red, creará una aplicación de ejemplo y establecerá reglas de tráfico.
Cree un espacio de nombres denominado
demopara ejecutar los pods de ejemplo usando el comandokubectl create namespace.kubectl create namespace demoCree un pod denominado
serverpara servir en el puerto TCP 80 mediante elkubectl runcomando .kubectl run server -n demo --image=k8s.gcr.io/e2e-test-images/agnhost:2.33 --labels="app=server" --port=80 --command -- /agnhost serve-hostname --tcp --http=false --port "80"Cree un pod denominado
clientpara ejecutar Bash mediante elkubectl runcomando .kubectl run -it client -n demo --image=k8s.gcr.io/e2e-test-images/agnhost:2.33 --command -- bashNote
Si desea programar el cliente o servidor en un nodo determinado, agregue el siguiente bit antes del
--commandargumento en el comando de creaciónkubectl rundel pod:--overrides='{"spec": { "nodeSelector": {"kubernetes.io/os": "linux|windows"}}}'.En una ventana independiente, obtenga la dirección IP del
serverpod mediante elkubectl get podcomando .kubectl get pod --output=wide -n demoLa salida debería ser similar a la salida de ejemplo siguiente:
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES server 1/1 Running 0 30s 10.224.0.72 akswin22000001 <none> <none>
Prueba de la conectividad con directivas de red
Sugerencia
Para probar la conectividad sin directivas de red, ejecute el siguiente comando en el shell de cliente: /agnhost connect <server-ip>:80 --timeout=3s --protocol=tcp. Reemplace por <server-ip> la dirección IP del pod del servidor. Si la conexión se realiza correctamente, no hay ninguna salida.
Cree un archivo denominado
demo-policy.yamly pegue el siguiente manifiesto de YAML:apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: demo-policy namespace: demo spec: podSelector: matchLabels: app: server ingress: - from: - podSelector: matchLabels: app: client ports: - port: 80 protocol: TCPAplique el manifiesto de directiva de red mediante el
kubectl applycomando .kubectl apply -f demo-policy.yamlEn el shell de cliente, compruebe la conectividad con el servidor mediante el siguiente
/agnhostcomando:/agnhost connect <server-ip>:80 --timeout=3s --protocol=tcpLa conectividad con el tráfico se bloquea porque el servidor está etiquetado con
app=server, pero el cliente no está etiquetado. La salida debería ser similar a la salida de ejemplo siguiente:TIMEOUTEtiqueta el
clienty comprueba la conectividad con el servidor con el comandokubectl label.kubectl label pod client -n demo app=clientSi la conexión se realiza correctamente, no hay ninguna salida.
Migración a Calico autoadministrado
AKS solo admite Calico para las directivas de red estándar de Kubernetes y no prueba otras características. Si quiere pasar a Calico autoadministrado, siga las instrucciones de Tigera en Migración de Calico administrado por Azure a Calico autoadministrado. En la documentación de Tigera se indica que para Calico autoadministrado se usa --network-policy none, igual que en la sección de desinstalación.
Desinstalación de Azure Network Policy Manager o Calico
Note
Tenga en cuenta la siguiente información al desinstalar Azure NPM o Calico de un clúster:
- El proceso de desinstalación no quita definiciones de recursos personalizados (CRD) ni recursos personalizados (RC) usados por Calico. Todos estos CRD y RR tienen nombres que terminan con projectcalico.org o tigera.io. Puede quitar manualmente estos CRDs y las CRs asociadas después de desinstalar Calico exitosamente.
- La actualización no quita ningún recurso de directiva de red en el clúster, pero las directivas ya no se aplican después del proceso de desinstalación.
Quite Azure Network Policy Manager o Calico de un clúster existente mediante el az aks update comando y especifique none para el --network-policy parámetro .
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--network-policy none
Cambio de la directiva de red del clúster
En los pasos siguientes se muestra cómo cambiar la directiva de red existente de un clúster a Calico. El procedimiento requiere que la directiva de red cambie a none y, a continuación, cambie a calico.
Los comandos usan variables especificadas anteriormente en este artículo Creación de un clúster de AKS con Azure Network Policy Manager (Linux). De lo contrario, reemplace $RESOURCE_GROUP y $CLUSTER_NAME por el nombre y el grupo de recursos del clúster.
Ejecute el siguiente comando para mostrar la directiva de red existente del clúster.
az aks show \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --query "networkProfile" \ --output tableEjecute el siguiente comando para establecer la directiva de red en
none.az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --network-policy noneEjecute el siguiente comando para establecer la directiva de red en
calico.az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --network-policy calico
Limpieza de recursos
En este artículo, ha creado un espacio de nombres y dos pods, y ha aplicado una directiva de red. Si ya no necesita estos recursos, puede eliminarlos.
Elimine los recursos mediante el kubectl delete comando .
kubectl delete namespace demo
Si ha seguido los pasos de este artículo para crear un clúster de AKS, use el az group delete comando para eliminar el grupo de recursos de AKS y su grupo de recursos relacionado con un nombre que comience por MC_.
az group delete --resource-group $RESOURCE_GROUP --no-wait --yes
Creación de un clúster de AKS con una directiva de red de Cilium mediante Terraform
En esta sección se muestra cómo usar Terraform para implementar un clúster de AKS que usa Azure CNI Powered by Cilium para la aplicación de directivas de red y redes y, a continuación, usar un recurso de Kubernetes NetworkPolicy para controlar el tráfico de pod a pod.
Note
El código de ejemplo de esta sección se encuentra en el repositorio de Azure terraform GitHub. Puedes ver el archivo de registro que contiene los resultados de las pruebas de las versiones actuales y anteriores de Terraform.
Consulte más artículos y código de ejemplo en el que se muestra cómo usar Terraform para administrar recursos de Azure.
En este ejemplo se implementa:
- Un grupo de recursos.
- Un clúster de AKS que usa la red superpuesta de Azure CNI con Cilium como motor de directivas de red y plano de datos de red.
Cree un directorio para probar y ejecutar el código de Terraform de ejemplo y convertirlo en el directorio actual.
Cree un archivo llamado
main.tfe inserte el siguiente código:terraform { required_version = ">= 1.6.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 4.0" } } } provider "azurerm" { features {} } resource "azurerm_resource_group" "example" { name = "rg-aks-network-policy-example" location = "eastus" } resource "azurerm_kubernetes_cluster" "example" { name = "aks-network-policy-example" location = azurerm_resource_group.example.location resource_group_name = azurerm_resource_group.example.name dns_prefix = "aksnetpolicyexample" default_node_pool { name = "default" node_count = 1 vm_size = "Standard_D2s_v3" upgrade_settings { drain_timeout_in_minutes = 0 max_surge = "10%" node_soak_duration_in_minutes = 0 } } identity { type = "SystemAssigned" } network_profile { network_plugin = "azure" network_plugin_mode = "overlay" network_policy = "cilium" network_data_plane = "cilium" load_balancer_sku = "standard" } }Para inicializar Terraform, ejecute el
terraform initcomando . Este comando descarga el proveedor de Azure necesario para administrar recursos de Azure con Terraform.terraform initDé formato y valide la configuración mediante la ejecución de los
terraform fmtcomandos yterraform validate.terraform fmt terraform validateCree un plan de ejecución de Terraform ejecutando el
terraform plancomando . Este comando muestra los recursos que Terraform crea o modifica en la suscripción de Azure.terraform planAplique el plan de ejecución de Terraform ejecutando el comando
terraform apply. Este comando crea los recursos definidos en su archivomain.tfen su suscripción de Azure.terraform apply
Conexión al clúster de AKS mediante Terraform
Instale la herramienta de línea de comandos de Kubernetes ejecutando el
az aks install-clicomando y, a continuación, compruebe la instalación.az aks install-cli kubectl version --clientConfigure
kubectlpara conectarlo a su clúster ejecutando 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-aks-network-policy-example \ --name aks-network-policy-examplePara comprobar que el clúster se está ejecutando, ejecute el
kubectl get nodescomando .kubectl get nodes
Comprobación de la configuración de directivas de red mediante Terraform
Para comprobar la configuración de la directiva de red, cree una aplicación de ejemplo y establezca reglas de tráfico.
Cree un espacio de nombres denominado
demopara ejecutar los pods de ejemplo usando el comandokubectl create namespace.kubectl create namespace demoCree un pod denominado
serverpara servir en el puerto TCP 80 mediante la ejecución delkubectl runcomando .kubectl run server \ -n demo \ --image=k8s.gcr.io/e2e-test-images/agnhost:2.33 \ --labels="app=server" \ --port=80 \ --command -- /agnhost serve-hostname --tcp --http=false --port "80"Cree un pod denominado
clientpara ejecutar Bash mediante elkubectl runcomando .kubectl run -it client \ -n demo \ --image=k8s.gcr.io/e2e-test-images/agnhost:2.33 \ --command -- bashEn una ventana independiente, obtenga la dirección IP del
serverpod mediante elkubectl get podcomando .kubectl get pod --output=wide -n demoUtilice la dirección IP del pod
servercuando pruebe la conectividad desde la shellclienten la siguiente sección.
Prueba de la conectividad con directivas de red mediante Terraform
El ejemplo incluye un manifiesto de Kubernetes NetworkPolicy que permite tráfico entrante hacia pods con la etiqueta app=server únicamente desde pods con la etiqueta app=client a través del puerto TCP 80.
Cree un archivo llamado
network-policy.yamle inserte el siguiente código:apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: demo-policy namespace: demo spec: podSelector: matchLabels: app: server policyTypes: - Ingress ingress: - from: - podSelector: matchLabels: app: client ports: - protocol: TCP port: 80Aplique la directiva de red mediante el
kubectl applycomando .kubectl apply -f network-policy.yamlEn el
clientintérprete de comandos, compruebe la conectividad con el servidor mediante el siguiente/agnhostcomando:/agnhost connect <server-ip>:80 --timeout=3s --protocol=tcpLa conectividad se bloquea porque el servidor está etiquetado con
app=server, pero el cliente no está etiquetado. La salida debería ser similar a la salida de ejemplo siguiente:TIMEOUTEtiquete
clienty compruebe la conectividad con el servidor mediante el comandokubectl label.kubectl label pod client -n demo app=clientEn el
clientshell, vuelva a probar la conectividad con el servidor mediante el mismo/agnhostcomando:/agnhost connect <server-ip>:80 --timeout=3s --protocol=tcpSi la conexión se realiza correctamente, no hay ninguna salida.
Compruebe la directiva de red mediante los
kubectl get networkpolicycomandos ykubectl describe networkpolicy.kubectl get networkpolicy -n demo kubectl describe networkpolicy demo-policy -n demoLa salida muestra que los pods etiquetados
app=serverestán seleccionados, se permite el tráfico de entrada en el puerto TCP 80 y solo los pods etiquetadosapp=clientpueden iniciar conexiones.
Limpieza de recursos mediante Terraform
En esta sección, ha creado un espacio de nombres, dos pods y una directiva de red. Si ya no necesita estos recursos de Kubernetes, elimínelos antes de quitar la infraestructura de Azure subyacente.
Use el kubectl delete comando para eliminar los recursos.
kubectl delete namespace demo
Warning
El comando siguiente quita el grupo de recursos, el clúster de AKS y todos los demás recursos asociados al grupo de recursos creado para este ejemplo. Si ha implementado otros recursos dentro de este grupo de recursos, el comando también los elimina.
Quite los recursos de Azure mediante el terraform destroy comando .
terraform destroy