Penyiapan Network Observability untuk Azure Kubernetes Service (AKS) - Prometheus dan Grafana terkelola Azure

Observabilitas Jaringan AKS digunakan untuk mengumpulkan data lalu lintas jaringan kluster AKS Anda. Network Observability memungkinkan platform terpusat untuk memantau aplikasi dan kesehatan jaringan. Prometheus mengumpulkan metrik Observabilitas Jaringan AKS, dan Grafana memvisualisasikannya. Baik Cilium maupun sarana data non-Cilium didukung. Dalam artikel ini, pelajari cara mengaktifkan add-on Network Observability dan menggunakan Prometheus dan Grafana terkelola Azure untuk memvisualisasikan metrik yang diekstrak.

Penting

Observabilitas Jaringan AKS saat ini dalam PRATINJAU. Lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure untuk persyaratan hukum yang berlaku pada fitur Azure dalam versi beta, pratinjau, atau belum dirilis secara umum.

Untuk informasi selengkapnya tentang Observabilitas Jaringan AKS, lihat Apa itu Azure Kubernetes Service (AKS) Network Observability?.

Prasyarat

  • Versi minimum Azure CLI yang diperlukan untuk langkah-langkah dalam artikel ini adalah 2.44.0. Jalankan az --version untuk menemukan versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.

Memasang ekstensi aks-preview Azure CLI

Penting

Fitur pratinjau AKS tersedia berdasarkan layanan mandiri. Pratinjau disediakan "apa adanya" dan "sebagaimana tersedia," dan mereka dikecualikan dari perjanjian tingkat layanan dan garansi terbatas. Pratinjau AKS sebagian dicakup oleh dukungan pelanggan berdasarkan upaya terbaik. Dengan demikian, fitur-fitur ini tidak dimaksudkan untuk penggunaan produksi. Untuk informasi lebih lanjut, lihat artikel dukungan berikut ini:

# 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

Daftarkan NetworkObservabilityPreview bendera fitur

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

Gunakan az feature show untuk memeriksa status pendaftaran bendera fitur:

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

Tunggu hingga fitur mengatakan Terdaftar sebelum mendahului artikel.

{
  "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"
}

Saat fitur terdaftar, refresh pendaftaran penyedia sumber daya Microsoft.ContainerService dengan daftar penyedia az:

az provider register -n Microsoft.ContainerService

Buat grup sumber daya

Grup sumber daya adalah kontainer logis yang disebarkan dan dikelola oleh sumber daya Azure. Buat grup sumber daya dengan perintah az group create . Contoh berikut ini menampilkan cara membuat grup sumber daya bernama myResourceGroup di lokasi eastus:

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

Catatan

Untuk Kubernetes versi 1.29 atau yang lebih tinggi, pengamatan jaringan diaktifkan dengan profil metrik AMA dan bendera AFEC (NetworkObservabilityPreview) hingga mencapai ketersediaan umum.

Dimulai dengan Kubernetes versi 1.29, tag --enable-network-observability tidak lagi diperlukan saat membuat atau memperbarui kluster Azure Kubernetes Service (AKS).

Untuk kluster AKS yang menjalankan Kubernetes versi 1.28 atau yang lebih lama, mengaktifkan pengamatan jaringan memerlukan tag --enable-network-observability selama pembuatan atau pembaruan kluster.

Membuat kluster AKS

Buat kluster AKS dengan az aks create. Contoh berikut membuat kluster AKS bernama myAKSCluster di grup sumber daya myResourceGroup :

Kluster non-Cilium mendukung pengaktifan Network Observability pada kluster yang ada atau selama pembuatan kluster baru.

Gunakan az aks create dalam contoh berikut untuk membuat kluster AKS dengan Network Observability dan non-Cilium.

Kluster baru

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

Kluster yang ada

Gunakan pembaruan az aks untuk mengaktifkan Network Observability untuk kluster yang ada.

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

Prometheus dan Grafana terkelola Azure

Gunakan contoh berikut untuk menginstal dan mengaktifkan Prometheus dan Grafana untuk kluster AKS Anda.

Buat sumber daya Azure Monitor

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

Membuat instans Grafana

Gunakan az grafana create untuk membuat instans Grafana. Nama instans Grafana harus unik. Ganti myGrafana dengan nama unik untuk instans Grafana Anda.

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

Tempatkan ID sumber daya Grafana dan Azure Monitor dalam variabel

Gunakan az grafana show untuk menempatkan ID sumber daya Grafana dalam variabel. Gunakan az resource show untuk menempatkan ID sumber daya Azure Monitor dalam variabel. Ganti myGrafana dengan nama instans Grafana Anda.

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)

Gunakan pembaruan az aks untuk menautkan sumber daya Azure Monitor dan Grafana ke kluster AKS Anda.

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

Mendapatkan kredensial kluster

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

Mengaktifkan visualisasi pada Grafana

Catatan

Bagian berikut memerlukan penyebaran Prometheus dan Grafana terkelola Azure.

  1. Gunakan contoh berikut untuk memverifikasi pod Azure Monitor berjalan.

    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. Pilih Dasbor dari menu navigasi kiri, buka dasbor Kubernetes/ Jaringan di bawah folder Prometheus Terkelola.

  3. Periksa apakah Metrik di dasbor Kubernetes / Networking Grafana terlihat. Jika metrik tidak ditampilkan, ubah rentang waktu menjadi 15 menit terakhir di kotak dropdown kanan atas.

Membersihkan sumber daya

Jika Anda tidak akan terus menggunakan aplikasi ini, hapus kluster AKS dan sumber daya lain yang dibuat dalam artikel ini dengan contoh berikut:

  az group delete \
    --name myResourceGroup

Langkah berikutnya

Dalam artikel panduan ini, Anda mempelajari cara menginstal dan mengaktifkan AKS Network Observability untuk kluster AKS Anda.