AKS(Azure Kubernetes Service)에 대한 네트워크 가시성 설정 - Azure Managed Prometheus 및 Grafana

AKS 네트워크 가시성은 AKS 클러스터의 네트워크 트래픽 데이터를 수집하는 데 사용됩니다. 네트워크 가시성을 사용하면 중앙 집중식 플랫폼에서 애플리케이션 및 네트워크 상태를 모니터링할 수 있습니다. Prometheus는 AKS 네트워크 가시성 메트릭을 수집하고 Grafana는 이를 시각화합니다. Cilium 및 비 Cilium 데이터 평면이 모두 지원됩니다. 이 문서에서는 네트워크 가시성 추가 기능을 사용하도록 설정하고 Azure 관리형 Prometheus 및 Grafana를 사용하여 스크랩된 메트릭을 시각화하는 방법을 알아봅니다.

AKS 네트워크 가시성에 대한 자세한 내용은 AKS(Azure Kubernetes Service) 네트워크 가시성이란?을 참조하세요.

필수 조건

  • 이 문서의 단계에 필요한 Azure CLI의 최소 버전은 2.44.0입니다. az --version을 실행하여 버전을 찾습니다. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.

클러스터 만들기

참고 항목

Kubernetes 버전 >= 1.29의 경우 네트워크 가시성은 Azure Managed Prometheus를 사용하는 클러스터에 포함됩니다. 메트릭 스크래핑은 AMA 메트릭 프로필을 통해 정의됩니다.

낮은 Kubernetes 버전의 경우 네트워크 가시성 기능을 사용하도록 설정하려면 추가 단계가 필요합니다.

리소스 그룹 만들기

리소스 그룹은 Azure 리소스가 배포 및 관리되는 논리적 컨테이너입니다. az group create 명령을 사용하여 리소스 그룹을 만듭니다. 다음 예제에서는 eastus 위치에 myResourceGroup이라는 리소스 그룹을 만듭니다.

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

AKS 클러스터 만들기

az aks create를 사용하여 AKS 클러스터를 만듭니다. 다음 예에서는 각각 myResourceGroup 리소스 그룹에 myAKSCluster라는 AKS 클러스터를 만듭니다.

예 1: 비 Cilium

Cilium 이외의 AKS 클러스터를 만들려면 다음 예에서 az aks create를 사용합니다.

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 \
    --kubernetes-version 1.29

예 2: Cilium

다음 예에서는 az aks create를 사용하여 Cilium AKS 클러스터를 만듭니다.

az aks create \
    --name myAKSCluster \
    --resource-group myResourceGroup \
    --generate-ssh-keys \
    --location eastus \
    --max-pods 250 \
    --network-plugin azure \
    --network-plugin-mode overlay \
    --network-dataplane cilium \
    --node-count 2 \
    --pod-cidr 192.168.0.0/16

Azure 관리형 Prometheus 및 Grafana

다음 예제를 사용하여 AKS 클러스터에 대해 Prometheus 및 Grafana를 설치하고 사용하도록 설정합니다.

Azure Monitor 리소스 만들기

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

Grafana 인스턴스 만들기

az grafana create를 사용하여 Grafana 인스턴스를 만듭니다. Grafana 인스턴스의 이름은 고유해야 합니다. myGrafana를 Grafana 인스터스의 고유한 이름으로 바꿉니다.

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

Grafana 및 Azure Monitor 리소스 ID를 변수에 배치

az grafana show를 사용하여 Grafana 리소스 ID를 변수에 배치합니다. az resource show를 사용하여 Azure Monitor 리소스 ID를 변수에 배치합니다. myGrafana를 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)

az aks update를 사용하여 Azure Monitor 및 Grafana 리소스를 AKS 클러스터에 연결합니다.

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

클러스터 자격 증명 가져오기

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

Grafana를 사용하여 시각화

참고 항목

다음 섹션에서는 Azure 관리형 Prometheus 및 Grafana를 배포해야 합니다.

  1. 다음 예제를 사용하여 Azure Monitor Pod가 실행 중인지 확인합니다.

    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. 웹 브라우저에서 Grafana 인스턴스로 이동합니다.

  3. 샘플 대시보드를 만들었습니다. 대시보드 > Azure Managed Prometheus > Kubernetes / 네트워킹 / 클러스터에서 찾을 수 있습니다.

  4. Kubernetes / 네트워킹 / 클러스터 Grafana 대시보드에 메트릭이 표시되는지 확인합니다. 메트릭이 표시되지 않으면 오른쪽 위 드롭다운 상자에서 시간 범위를 마지막 15분으로 변경합니다.


리소스 정리

이 애플리케이션을 계속 사용하지 않려면 다음 예제와 함께 이 문서에서 만든 AKS 클러스터 및 기타 리소스를 삭제합니다.

  az group delete \
    --name myResourceGroup

다음 단계

이 방법 문서에서는 AKS 클러스터에 대해 AKS 네트워크 가시성을 설정하는 방법을 알아보았습니다.