Configuração da Observabilidade de Rede para o Serviço de Kubernetes do Azure (AKS) - Prometheus e Grafana gerenciados pelo Azure

A Observabilidade da Rede do AKS é usada para coletar os dados do tráfego de rede do cluster do AKS. A Observabilidade da Rede permite uma plataforma centralizada para monitorar a integridade dos aplicativos e da rede. O Prometheus coleta métricas de Observabilidade da Rede do AKS e o Grafana as visualiza. Ambos os planos de dados Cilium e Não Cilium são suportados. Neste artigo, saiba como habilitar o complemento Observabilidade de Rede e usar o Prometheus e o Grafana gerenciados pelo Azure para visualizar as métricas extraídas.

Importante

A Observabilidade de Rede do AKS está atualmente em VERSÃO PRÉVIA. Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.

Para obter mais informações sobre a Observabilidade de Rede do AKS, confira O que é a Observabilidade de Rede do Serviço Azure Kubernetes (AKS)?.

Pré-requisitos

  • A versão mínima do CLI do Azure necessária para as etapas deste artigo é 2.44.0. Execute az --version para encontrar a versão. Se você precisa instalar ou atualizar, consulte Instalar a CLI do Azure.

Instale a extensão aks-preview da CLI do Azure

Importante

As versões prévias do recurso AKS estão disponíveis em uma base de autoatendimento e aceitação. As versões prévias são fornecidas "como estão" e "conforme disponíveis" e são excluídas dos contratos de nível de serviço e da garantia limitada. As versões prévias do AKS são parcialmente cobertas pelo suporte ao cliente em uma base de melhor esforço. Dessa forma, esses recursos não são destinados ao uso em produção. Para obter mais informações, consulte os seguintes artigos:

# Install the aks-preview extension
az extension add --name aks-preview

# Update the extension to make sure you have the latest version installed
az extension update --name aks-preview

Registrar o sinalizador de recurso NetworkObservabilityPreview

az feature register --namespace "Microsoft.ContainerService" --name "NetworkObservabilityPreview"

Use az feature show para verificar o status de registro do sinalizador de recurso:

az feature show --namespace "Microsoft.ContainerService" --name "NetworkObservabilityPreview"

Aguarde até que o recurso informe Registrado antes de prosseguir com o artigo.

{
  "id": "/subscriptions/23250d6d-28f0-41dd-9776-61fc80805b6e/providers/Microsoft.Features/providers/Microsoft.ContainerService/features/NetworkObservabilityPreview",
  "name": "Microsoft.ContainerService/NetworkObservabilityPreview",
  "properties": {
    "state": "Registering"
  },
  "type": "Microsoft.Features/providers/features"
}

Quando o recurso for registrado, atualize o registro do provedor de recursos Microsoft.ContainerService com o provedor de recursos az:

az provider register -n Microsoft.ContainerService

Criar um grupo de recursos

Um grupo de recursos é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados. Crie um grupo de recursos com o comando az group create. O exemplo a seguir cria um grupo de recursos chamado myResourceGroup na localização eastus:

az group create \
    --name myResourceGroup \
    --location eastus

Observação

Para a versão 1.29 ou mais recente do Kubernetes, a observabilidade de rede é habilitada com o perfil de métricas AMA e o sinalizador AFEC (NetworkObservabilityPreview) até que esteja em disponibilidade geral.

A partir da versão 1.29 do Kubernetes, a marca --enable-network-observability não é mais necessária ao criar ou atualizar um cluster do Serviço de Kubernetes do Azure (AKS).

Para clusters AKS que rodam a versão 1.28 ou anterior do Kubernetes, é necessário ativar a observabilidade de rede com a marca --enable-network-observability durante a criação ou atualização do cluster.

Criar cluster AKS

Criar um cluster do AKS com az aks create. O exemplo a seguir cria um cluster do AKS denominado myAKSCluster no grupo de recursos myResourceGroup:

Os clusters Não Cilium têm suporte para a ativação da Observabilidade da Rede em um cluster existente ou durante a criação de um novo cluster.

Use az aks create no exemplo a seguir para criar um cluster do AKS com Observabilidade de Rede e não Cilium.

Novo cluster

az aks create \
    --name myAKSCluster \
    --resource-group myResourceGroup \
    --location eastus \
    --generate-ssh-keys \
    --network-plugin azure \
    --network-plugin-mode overlay \
    --pod-cidr 192.168.0.0/16 \
    --enable-network-observability

Cluster existente

Use az aks update para habilitar a Observabilidade de Rede em um cluster existente.

az aks update \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --enable-network-observability 

Prometheus e Grafana gerenciados pelo Azure

Use o exemplo a seguir para instalar e ativar o Prometheus e o Grafana em seu cluster do AKS.

Criar um recurso do Azure Monitor

az resource create \
    --resource-group myResourceGroup \
    --namespace microsoft.monitor \
    --resource-type accounts \
    --name myAzureMonitor \
    --location eastus \
    --properties '{}'

Criar uma instância do Grafana

Use az grafana create para criar uma instância do Grafana. O nome da instância do Grafana deve ser exclusivo. Substitua myGrafana por um nome exclusivo para sua instância Grafana.

az grafana create \
    --name myGrafana \
    --resource-group myResourceGroup 

Coloque as IDs dos recursos do Grafana e do Azure Monitor em variáveis

Use az grafana show para colocar a ID do recurso Grafana em uma variável. Use az resource show para colocar a ID do recurso Azure Monitor em uma variável. Substitua myGrafana pelo nome da sua instância do Grafana.

grafanaId=$(az grafana show \
                --name myGrafana \
                --resource-group myResourceGroup \
                --query id \
                --output tsv)

azuremonitorId=$(az resource show \
                    --resource-group myResourceGroup \
                    --name myAzureMonitor \
                    --resource-type "Microsoft.Monitor/accounts" \
                    --query id \
                    --output tsv)

Use az aks update para vincular os recursos do Azure Monitor e do Grafana ao seu cluster do AKS.

az aks update \
    --name myAKSCluster \
    --resource-group myResourceGroup \
    --enable-azure-monitor-metrics \
    --azure-monitor-workspace-resource-id $azuremonitorId \
    --grafana-resource-id $grafanaId

Obter credenciais do cluster

az aks get-credentials --name myAKSCluster --resource-group myResourceGroup

Habilitar a visualização no Grafana

Observação

A seção a seguir requer implantações do Prometheus e do Grafana gerenciadas pelo Azure.

  1. Use o exemplo a seguir para verificar se os pods do Azure Monitor estão em execução.

    kubectl get po -owide -n kube-system | grep ama-
    
    ama-metrics-5bc6c6d948-zkgc9          2/2     Running   0 (21h ago)   26h
    ama-metrics-ksm-556d86b5dc-2ndkv      1/1     Running   0 (26h ago)   26h
    ama-metrics-node-lbwcj                2/2     Running   0 (21h ago)   26h
    ama-metrics-node-rzkzn                2/2     Running   0 (21h ago)   26h
    ama-metrics-win-node-gqnkw            2/2     Running   0 (26h ago)   26h
    ama-metrics-win-node-tkrm8            2/2     Running   0 (26h ago)   26h
    
  2. Selecione Painéis no menu de navegação à esquerda, abra o painel Kubernetes/Rede na pasta Prometheus Gerenciado.

  3. Verifique se as Métricas no painel do Grafana Kubernetes/Rede estão visíveis. Se as métricas não forem mostradas, altere o intervalo de tempo para os últimos 15 minutos na caixa suspensa superior direita.

Limpar os recursos

Se você não pretende continuar utilizando esse aplicativo, exclua o cluster do AKS e os outros recursos criados neste artigo com o exemplo a seguir:

  az group delete \
    --name myResourceGroup

Próximas etapas

Nesse artigo de instruções, você aprendeu a instalar e ativar a Observabilidade de Rede do AKS para o cluster do AKS.