Assegure o tráfego entre pods com políticas de rede no Azure Kubernetes Service (AKS)

Important

A partir de 30 de setembro de 2028, o Azure Kubernetes Service (AKS) deixou de suportar o Azure Network Policy Manager (NPM) em nós Linux . Para evitar interrupções no serviço, é necessário migrar clusters AKS que executam nós Linux do NPM para a Cilium Network Policy até à data de término do suporte. Para mais informações sobre esta reforma, consulte o anúncio de reforma do Azure Updates. Para se manter informado sobre anúncios e atualizações, siga as notas de lançamento do AKS.

Identificar aglomerados afetados

Para encontrar clusters AKS com pools de nós Linux usando o Azure Network Policy Manager (NPM), execute a consulta Azure Resource Graph que lista todos os clusters AKS onde agentPool.osType != "Windows" e properties.networkProfile.networkPolicy == "azure".

Important

A partir de 31 de março de 2028, o Azure Kubernetes Service (AKS) deixou de suportar a rede kubenet. Para evitar interrupções no serviço, atualize para a rede sobreposta Azure Container Networking Interface (CNI ) antes da data de fim do suporte. Para mais informações sobre esta descontinuação, consulte o problema do GitHub e o anúncio de descontinuação do Azure Updates. Para se manter informado sobre anúncios e atualizações, siga as notas de lançamento do AKS.

Instale um motor de políticas de rede e crie políticas de rede Kubernetes para controlar o fluxo de tráfego entre pods em clusters AKS usando a CLI do Azure ou Terraform.

Visão geral da política de rede

Por padrão, todos os pods em um cluster AKS podem enviar e receber tráfego sem limitações. Para melhorar a segurança, você pode definir regras que controlam o fluxo de tráfego.

A política de rede é uma especificação do Kubernetes que define políticas de acesso para comunicação entre pods. Ao usar diretivas de rede, você define um conjunto ordenado de regras para enviar e receber tráfego. Você aplica as regras a uma coleção de pods que correspondem a um ou mais seletores de rótulo.

Defines as regras da política de rede como manifestos YAML, e podes incluí-las em manifestos mais amplos que também criam uma implementação ou serviço.

Opções de política de rede no AKS

O Azure fornece três motores de políticas de rede para aplicar políticas de rede:

  • Cilium (para os clusters AKS que usam Azure CNI Powered by Cilium)
  • Azure Gestor de Política de Rede (NPM)
  • Calico (uma solução open-source de rede e segurança de rede fundada pela Tigera)

Recomendamos a utilização do Cilium, que oferece suporte robusto para políticas nativas do Kubernetes, funcionalidades estendidas como políticas de Camada 7 e filtragem FQDN, e um plano de dados baseado em eBPF que oferece melhor desempenho, escalabilidade e segurança em comparação com soluções baseadas em IPTables.

Para aplicar as políticas especificadas, o Azure NPM utiliza IPTables nos nós em Linux. As políticas são convertidas em conjuntos de pares de IP permitidos e não permitidos. O sistema programa estes pares como IPTable regras de filtro.

Diferenças entre motores de políticas de rede: Cilium, Azure NPM e Calico

Motor de política de rede Plataformas suportadas Opções de rede suportadas Conformidade com especificações Kubernetes Outras funcionalidades Support
Cilium Linux Azure CNI Suporta todos os tipos de apólices FQDN, L3/4, L7 Equipa de suporte e engenharia Azure
Azure NPM Linux Azure CNI Suporta todos os tipos de apólices N/A Equipa de suporte e engenharia Azure
Calico Linux, Windows Server 2019, Windows Server 2022 Azure CNI (Linux, Windows Server 2019, Windows Server 2022) e kubenet (Linux) Suporta todos os tipos de apólices O AKS não testa nem suporta funcionalidades para além da aplicação de políticas networking.k8s.io. Equipa de suporte e engenharia Azure

Limitações do Azure Network Policy Manager

O Azure NPM tem as seguintes limitações:

  • Escalar para além de 250 nós e 20.000 pods não é suportado. Se você tentar dimensionar além desses limites, você pode enfrentar erros de falta de memória (OOM). Para melhor escalabilidade e suporte a IPv6, recomendamos usar ou atualizar para o Azure CNI Powered by Cilium como motor de políticas de rede.
  • O IPv6 não é suportado. Caso contrário, ele suporta totalmente as especificações de política de rede no Linux.
  • A partir de 30 de setembro de 2026, o Azure Kubernetes Service (AKS) deixa de suportar o Azure Network Policy Manager (NPM) nos nós Windows.

Problemas conhecidos com o Azure Network Policy Manager

Pode ter problemas temporários de conectividade para novas ligações para/desde pods em nós afetados ao editar ou eliminar uma política de rede "suficientemente grande". Atingir essa condição de corrida nunca afeta as conexões ativas.

Se essa condição de corrida ocorrer para um nó, o pod do Azure NPM nesse nó entrará em um estado em que não pode atualizar as regras de segurança, o que pode levar a uma conectividade inesperada para novas conexões de/para pods no nó afetado. Para atenuar o problema, o pod do Azure NPM reinicia automaticamente ~15 segundos após entrar nesse estado. Enquanto o Azure NPM está reinicializando no nó afetado, ele exclui todas as regras de segurança e, em seguida, reaplica as regras de segurança para todas as políticas de rede. Enquanto todas as regras de segurança estão sendo reaplicadas, há uma chance de conectividade temporária e inesperada para novas conexões de/para pods no nó afetado.

Para limitar a chance de atingir essa condição de corrida, você pode reduzir o tamanho da diretiva de rede. É mais provável que esse problema aconteça para uma diretiva de rede com várias ipBlock seções. Uma política de rede com quatro ou menosipBlock secções é menos provável que afete o problema.

Limitações do Calico

  • A AKS não suporta a utilização da Calico gerida por AKS juntamente com a Calico Cloud ou a Calico Enterprise, pois esta combinação pode causar conflitos e comportamentos não intencionais. Se usar Calico Cloud ou Enterprise, a Microsoft recomenda vivamente desativar o Calico gerido por AKS. Contacte a Tigera para apoio com estes produtos.
  • A Calico gerida pela AKS apenas suporta networking.k8s.io políticas de rede. Se pretende usar políticas projectcalico.org/v3, considere migrar para uma solução auto-hospedada, como Calico Cloud, Calico Enterprise ou BYOCNI.

Serviços de balanceador de carga e políticas de rede

O encaminhamento de serviços Kubernetes para serviços de entrada e saída envolve frequentemente a reescrita dos IPs de origem e destino do tráfego que está a ser processado, incluindo o tráfego que entra no cluster a partir de um LoadBalancer serviço. Este comportamento de reescrita significa que as políticas de rede podem não processar corretamente o tráfego recebido ou enviado para um serviço externo. Para mais informações, consulte a documentação das Políticas de Rede Kubernetes.

Para restringir que fontes podem enviar tráfego para um serviço de balanceador de carga, use spec.loadBalancerSourceRanges para configurar o bloqueio de tráfego que se aplica antes de ocorrerem quaisquer reescritas. Para mais informações, consulte a documentação do balanceador de carga AKS Standard.

Antes de começar

Você precisa da CLI do Azure versão 2.0.61 ou posterior instalada e configurada. Encontre a versão usando o az --version comando. Se precisar de instalar ou atualizar, veja Install CLI do Azure (Instalar o CLI do Azure).

Em vez de usar uma identidade atribuída pelo sistema, você também pode usar uma identidade atribuída pelo usuário. Para obter mais informações, consulte Usar identidades gerenciadas.

  • Terraform instalado, versão 1.6 ou posterior.
  • CLI do Azure instalada e autenticada. Encontre a versão usando o az --version comando. Se precisar de instalar ou atualizar, veja Install CLI do Azure (Instalar o CLI do Azure). Utiliza a CLI do Azure para te ligares ao cluster depois de o Terraform o criar.
  • Kubectl instalado. Você pode instalá-lo localmente usando o az aks install-cli comando. Utiliza kubectl para verificar o comportamento da política de rede.

Crie um cluster AKS com Azure Network Policy Manager (Linux)

  1. Defina variáveis de ambiente para o nome do grupo de recursos, nome do cluster e localização. Substitua os valores conforme necessário.

    export RESOURCE_GROUP=myResourceGroup
    export CLUSTER_NAME=myAKSCluster
    export LOCATION=eastus
    
  2. Cria o grupo de recursos usando o az group create comando.

    az group create --resource-group $RESOURCE_GROUP --location $LOCATION
    
  3. Crie um cluster AKS usando o az aks create e especifique azure para o network-plugin e network-policy.

    az aks create \
        --resource-group $RESOURCE_GROUP \
        --name $CLUSTER_NAME \
        --node-count 1 \
        --network-plugin azure \
        --network-policy azure \
        --generate-ssh-keys
    

    Atenção

    O Azure Network Policy Manager (NPM) para nós nodes Linux será retirado em 30 de setembro de 2028. Para novas implementações, recomendamos usar o Azure CNI Powered by Cilium com a Política de Rede Cilium. Para migrar clusters existentes, consulte Migrar de NPM para Política de Rede Cilium.

Criar um cluster AKS com a Calico

Crie um cluster AKS usando o az aks create comando. Especificar --network-plugin azure e --network-policy calico. Quando especificas --network-policy calico, ativas o Calico tanto nos pools de nós Linux como do Windows.

Se planeia adicionar conjuntos de nós do Windows ao seu cluster, inclua os parâmetros windows-admin-username e windows-admin-password que satisfaçam os requisitos de palavra-passe do Windows Server. Para criar um nome de utilizador para usar como credenciais de administrador para os seus contentores do Windows Server no seu cluster, o seguinte comando indica-lhe um nome de utilizador. Defina-o como WINDOWS_USERNAME.

echo "Please enter the username to use as administrator credentials for Windows Server containers on your cluster: " && read WINDOWS_USERNAME

Important

Neste momento, a utilização de políticas de rede Calico com nós Windows está disponível em novos clusters usando Kubernetes versão 1.20 ou posterior com Calico 3.17.2 e requer que utilize a rede Azure CNI. Os nós do Windows em clusters AKS com o Calico ativado também têm o IP flutuante ativado por padrão.

Para clusters com apenas pools de nós Linux executando o Kubernetes 1.20 com versões anteriores do Calico, a versão do Calico atualiza automaticamente para 3.17.2.

Instale o Azure Network Policy Manager ou Calico num cluster existente

Warning

Tenha em mente as seguintes informações ao instalar Azure NPM ou Calico num cluster existente:

  • O processo de atualização aciona cada pool de nós para ser recriado simultaneamente. Não é possível atualizar cada pool de nós separadamente.
  • Dentro de cada pool de nós, os nós seguem o mesmo processo de reimagem que as operações padrão de atualização de versões do Kubernetes. Este comportamento significa que nós buffer são temporariamente adicionados para minimizar a perturbação nas aplicações em execução durante o processo de reimagem dos nós. Quaisquer perturbações que possam ocorrer são semelhantes às que pode encontrar durante uma atualização da imagem do nó ou da versão do Kubernetes.

A seguinte informação aplica-se a upgrades de kubenet com Calico para Azure CNI Overlay com Calico:

  • Em clusters kubenet com Calico ativado, o Calico é usado tanto como CNI como motor de políticas de rede.
  • Nos clusters CNI do Azure, o Calico é usado apenas para imposição de política de rede, não como CNI. Isso pode causar um pequeno atraso entre o início do pod e o momento em que o Calico permite o tráfego de saída do pod.

Atualize um cluster existente para instalar Azure NPM ou Calico usando o az aks update comando e especificação azure ou calico para o --network-policy parâmetro. O seguinte comando de exemplo mostra como instalar qualquer um dos NPM do Azure:

az aks update \
  --resource-group $RESOURCE_GROUP \
  --name $CLUSTER_NAME \
  --network-policy azure

Atualizar um cluster existente com Azure NPM ou Calico para Cilium

Para clusters que já usam o Azure CNI, atualize o plano de dados da rede para Cilium. Os clusters Kubenet devem primeiro migrar para o Azure CNI Overlay e depois atualizar o plano de dados da rede para o Cilium como uma operação separada. Revise os pré-requisitos e siga os passos em Atualizar um cluster existente para Azure CNI Powered by Cilium.

Conectar-se ao cluster AKS

Configure kubectl para ligar ao seu cluster usando o comando az aks get-credentials. Este comando baixa credenciais e configura a CLI do Kubernetes para usá-las.

az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME

Verificar a configuração da política de rede

Para iniciar a verificação da diretiva de rede, crie um aplicativo de exemplo e defina regras de tráfego.

  1. Crie um namespace nomeado demo para executar os pods de exemplo usando o kubectl create namespace comando.

    kubectl create namespace demo
    
  2. Crie um pod nomeado server para servir na porta TCP 80 usando o kubectl run comando.

    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"
    
  3. Cria um pod chamado client para correr Bash usando o kubectl run comando.

    kubectl run -it client -n demo --image=k8s.gcr.io/e2e-test-images/agnhost:2.33 --command -- bash
    

    Note

    Se quiser programar o cliente ou servidor num nó específico, adicione este bit antes do argumento --command no comando de criação do pod kubectl run: --overrides='{"spec": { "nodeSelector": {"kubernetes.io/os": "linux|windows"}}}'.

  4. Numa janela separada, obtenha o endereço IP do server pod usando o kubectl get pod comando.

    kubectl get pod --output=wide -n demo
    

    Sua saída deve ser semelhante à saída de exemplo a seguir:

    NAME     READY   STATUS    RESTARTS   AGE   IP            NODE             NOMINATED NODE   READINESS GATES
    server   1/1     Running   0          30s   10.224.0.72   akswin22000001   <none>           <none>
    

Testar a conectividade utilizando políticas de rede

Sugestão

Para testar a conectividade sem políticas de rede, execute o seguinte comando na shell do cliente: /agnhost connect <server-ip>:80 --timeout=3s --protocol=tcp. Substitui <server-ip> pelo endereço IP do servidor pod. Se a conexão correr bem, não terá saída.

  1. Crie um arquivo chamado demo-policy.yaml e cole o seguinte manifesto 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: TCP
    
  2. Aplique o manifesto da política de rede usando o kubectl apply comando.

    kubectl apply -f demo-policy.yaml
    
  3. No shell do cliente, verifique a conectividade com o servidor usando o seguinte /agnhost comando:

    /agnhost connect <server-ip>:80 --timeout=3s --protocol=tcp
    

    A conectividade com o tráfego é bloqueada porque o servidor está rotulado com app=server, mas o cliente não está rotulado. Sua saída deve ser semelhante à saída de exemplo a seguir:

    TIMEOUT
    
  4. Identifique o client e verifique a conectividade com o servidor com o comando kubectl label.

    kubectl label pod client -n demo app=client
    

    Se a conexão correr bem, não terá saída.

Migrar para a Calico autogerida

O AKS só suporta Calico para políticas de rede padrão do Kubernetes e não testa outras funcionalidades. Se quiser passar para a Calico autogerida, siga as instruções da Tigera em Migrar da Calico gerida pela Azure para a Calico autogerida. A documentação da Tigera menciona que para a Calico autogerida se define --network-policy none como na secção de desinstalação.

Desinstalar o Azure Network Policy Manager ou o Calico

Note

Tenha em mente as seguintes informações ao desinstalar o Azure NPM ou o Calico de um cluster:

  • O processo de desinstalação não remove Definições Personalizadas de Recursos (CRDs) e Recursos Personalizados (CRs) usados pela Calico. Estes CRDs e CRs têm todos nomes que terminam em projectcalico.org ou tigera.io. Pode remover manualmente estes CRDs e CRs associados após ter desinstalado com sucesso o Calico.
  • A atualização não remove quaisquer recursos de políticas de rede no cluster, mas as políticas deixaram de ser aplicadas após o processo de desinstalação.

Remover o Azure Network Policy Manager ou o Calico de um cluster existente usando o az aks update comando e a especificação none para o --network-policy parâmetro.

az aks update \
  --resource-group $RESOURCE_GROUP \
  --name $CLUSTER_NAME \
  --network-policy none

Alterar política de rede do cluster

Os passos seguintes mostram como alterar a política de rede existente de um cluster para Calico. O procedimento exige que a política de rede seja alterada para none e depois alterada para calico.

Os comandos utilizam variáveis especificadas anteriormente neste artigo: Crie um cluster AKS com o Azure Network Policy Manager (Linux). Caso contrário, substitua $RESOURCE_GROUP e $CLUSTER_NAME pelo grupo de recursos e nome do cluster.

  1. Execute o comando seguinte para mostrar a política de rede existente do cluster.

    az aks show \
      --resource-group $RESOURCE_GROUP \
      --name $CLUSTER_NAME \
      --query "networkProfile" \
      --output table
    
  2. Execute o seguinte comando para definir a política de rede para none.

    az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --network-policy none
    
  3. Execute o seguinte comando para definir a política de rede para calico.

    az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --network-policy calico
    

Limpar recursos

Neste artigo, você criou um namespace e dois pods e aplicou uma diretiva de rede. Se já não precisares destes recursos, podes apagá-los.

Apaga os recursos usando o kubectl delete comando.

kubectl delete namespace demo

Se seguiu os passos deste artigo para criar um cluster AKS, use o az group delete comando para eliminar o grupo de recursos AKS e o seu grupo de recursos relacionados, com um nome que começa por MC_.

az group delete --resource-group $RESOURCE_GROUP --no-wait --yes

Criar um cluster AKS com política de rede Cilium usando o Terraform

Esta secção mostra como usar o Terraform para implementar um cluster AKS que utiliza Azure CNI Powered by Cilium para rede e aplicação de políticas de rede e, em seguida, usar um recurso do Kubernetes NetworkPolicy para controlar o tráfego entre pods.

Note

O código de exemplo desta secção encontra-se no repositório Azure Terraform GitHub. Você pode visualizar o arquivo de log que contém os resultados do teste das versões atual e anterior do Terraform.

Veja mais artigos e código de exemplo mostrando como usar o Terraform para gerenciar recursos do Azure.

Este exemplo implementa:

  • Um grupo de recursos.
  • Um cluster do AKS que utiliza a rede Azure CNI Overlay com o Cilium como motor de políticas de rede e plano de dados da rede.
  1. Crie um diretório para testar e executar o código de exemplo do Terraform, e torne-o o diretório atual.

  2. Crie um arquivo chamado main.tfe insira o seguinte 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"
      }
    }
    
  3. Inicializar o Terraform executando o terraform init comando. Este comando descarrega o fornecedor Azure necessário para gerir os recursos Azure com o Terraform.

    terraform init
    
  4. Formate e valide a configuração executando os terraform fmt comandos e terraform validate .

    terraform fmt
    terraform validate
    
  5. Crie um plano de execução do Terraform executando o terraform plan comando. Este comando mostra-lhe os recursos que o Terraform cria ou modifica na sua subscrição do Azure.

    terraform plan
    
  6. Aplica o plano de execução do Terraform executando o terraform apply comando. Este comando cria os recursos definidos no seu main.tf ficheiro na sua subscrição do Azure.

    terraform apply
    

Liga-te ao cluster AKS usando o Terraform

  1. Instale a ferramenta de linha de comandos do Kubernetes executando o az aks install-cli comando e depois verifique a instalação.

    az aks install-cli
    kubectl version --client
    
  2. Configure kubectl para se ligar ao seu cluster executando o az aks get-credentials comando. Este comando baixa credenciais e configura a CLI do Kubernetes para usá-las.

    az aks get-credentials \
        --resource-group rg-aks-network-policy-example \
        --name aks-network-policy-example
    
  3. Verifica se o cluster está a funcionar executando o kubectl get nodes comando.

    kubectl get nodes
    

Verificar a configuração da política de rede usando o Terraform

Para verificar a configuração da política de rede, crie uma aplicação de exemplo e defina regras de tráfego.

  1. Crie um namespace nomeado demo para executar os pods de exemplo usando o kubectl create namespace comando.

    kubectl create namespace demo
    
  2. Crie um pod nomeado server para servir na porta TCP 80 executando o kubectl run comando.

    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"
    
  3. Cria um pod nomeado client para correr Bash usando o kubectl run comando.

    kubectl run -it client \
      -n demo \
      --image=k8s.gcr.io/e2e-test-images/agnhost:2.33 \
      --command -- bash
    
  4. Numa janela separada, obtenha o endereço IP do server pod usando o kubectl get pod comando.

    kubectl get pod --output=wide -n demo
    

    Use o endereço IP do pod server ao testar a conectividade a partir da shell client na secção seguinte.

Teste a conectividade com políticas de rede usando o Terraform

O exemplo inclui um manifesto do Kubernetes NetworkPolicy que permite tráfego de entrada para pods com o rótulo app=server apenas a partir de pods com o rótulo app=client, na porta 80/TCP.

  1. Crie um arquivo chamado network-policy.yamle insira o seguinte 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: 80
    
  2. Aplica a política de rede usando o kubectl apply comando.

    kubectl apply -f network-policy.yaml
    
  3. No client shell, teste a conectividade ao servidor usando o seguinte /agnhost comando:

    /agnhost connect <server-ip>:80 --timeout=3s --protocol=tcp
    

    A conectividade está bloqueada porque o servidor está rotulado com app=server, mas o cliente não está rotulado. Sua saída deve ser semelhante à saída de exemplo a seguir:

    TIMEOUT
    
  4. Rotule o client e verifique a conectividade com o servidor utilizando o comando kubectl label.

    kubectl label pod client -n demo app=client
    
  5. No client shell, teste novamente a conectividade ao servidor usando o mesmo /agnhost comando:

    /agnhost connect <server-ip>:80 --timeout=3s --protocol=tcp
    

    Se a conexão correr bem, não terá saída.

  6. Verifica a política de rede usando os kubectl get networkpolicy comandos e kubectl describe networkpolicy .

    kubectl get networkpolicy -n demo
    kubectl describe networkpolicy demo-policy -n demo
    

    A saída mostra que os pods rotulados app=server estão selecionados, o tráfego de entrada é permitido na porta TCP 80, e apenas os pods rotulados app=client podem iniciar ligações.

Limpar recursos usando o Terraform

Nesta secção, criou um namespace, dois pods e uma política de rede. Se já não precisar destes recursos Kubernetes, elimine-os antes de remover a infraestrutura do Azure subjacente.

Use o kubectl delete comando para eliminar os recursos.

kubectl delete namespace demo

Warning

O comando seguinte remove o grupo de recursos, o cluster AKS e todos os outros recursos associados ao grupo de recursos criado para esta amostra. Se implementaste outros recursos dentro desse grupo de recursos, o comando também os apaga.

Remova os recursos do Azure usando o terraform destroy comando.

terraform destroy