Mengonfigurasi jaringan Azure CNI Overlay di Azure Kubernetes Service (AKS)

Artikel ini menjelaskan proses penyiapan, konfigurasi jaringan tumpukan ganda, dan contoh penyebaran beban kerja untuk Azure CNI Overlay di kluster Azure Kubernetes Service (AKS). Untuk gambaran umum jaringan Azure CNI Overlay, lihat Gambaran Umum jaringan Azure CNI Overlay di Azure Kubernetes Service (AKS).

Important

Mulai 30 November 2025, Azure Kubernetes Service (AKS) tidak lagi mendukung atau menyediakan pembaruan keamanan untuk Azure Linux 2.0. Gambar node Azure Linux 2.0 dibekukan pada rilis 202512.06.0. Mulai tanggal 31 Maret 2026, gambar simpul akan dihapus, dan Anda tidak akan dapat menskalakan kumpulan simpul Anda. Migrasikan ke versi Linux Azure yang didukung dengan meningkatkan kumpulan simpul Anda ke versi Kubernetes yang didukung atau bermigrasi ke osSku AzureLinux3. Untuk informasi selengkapnya, lihat masalah Penghentian GitHub dan pengumuman penghentian Pembaruan Azure. Untuk tetap mendapatkan informasi tentang pengumuman dan pembaruan, ikuti catatan rilis AKS.

Prerequisites

  • Sebuah langganan Azure. Jika Anda tidak memiliki langganan Azure, buatlah akun gratis sebelum Anda memulai.
  • Azure CLI versi 2.48.0 atau yang lebih baru. Untuk menginstal atau meningkatkan Azure CLI, lihat Menginstal Azure CLI.
  • Grup sumber daya Azure yang sudah ada. Jika Anda perlu membuatnya, lihat Membuat grup sumber daya.

Untuk jaringan tumpukan ganda, Anda memerlukan Kubernetes versi 1.26.3 atau yang lebih baru.

Parameter kunci untuk kluster Azure CNI Overlay AKS

Tabel berikut menjelaskan parameter kunci untuk mengonfigurasi jaringan Azure CNI Overlay di kluster AKS:

Pengaturan Description
--network-plugin Atur ke azure untuk menggunakan jaringan Azure Container Networking Interface (CNI).
--network-plugin-mode Atur ke overlay untuk mengaktifkan jaringan Azure CNI Overlay. Pengaturan ini hanya berlaku ketika --network-plugin=azure.
--pod-cidr Tentukan blok pod Classless Inter-Domain Routing (CIDR) kustom untuk kluster. Defaultnya adalah 10.244.0.0/16.

Perilaku default untuk plugin jaringan tergantung pada apakah Anda secara eksplisit mengatur --network-plugin:

  • Jika Anda tidak menentukan --network-plugin, AKS akan secara otomatis menggunakan Azure CNI Overlay.
  • Jika Anda menentukan --network-plugin=azure dan menghilangkan --network-plugin-mode, AKS sengaja menggunakan mode jaringan virtual (subnet simpul) untuk kompatibilitas mundur.

Membuat kluster Azure CNI Overlay AKS

Buat kluster Azure CNI Overlay AKS dengan menggunakan perintah az aks create dengan --network-plugin=azure dan --network-plugin-mode=overlay. Jika Anda tidak menentukan nilai untuk --pod-cidr, AKS menetapkan nilai 10.244.0.0/16default .

az aks create \
  --name $CLUSTER_NAME \
  --resource-group $RESOURCE_GROUP \
  --location $REGION \
  --network-plugin azure \
  --network-plugin-mode overlay \
  --pod-cidr 192.168.0.0/16 \
  --generate-ssh-keys

Menambahkan kumpulan simpul baru ke subnet khusus

Tambahkan kumpulan simpul ke subnet yang berbeda dalam jaringan virtual yang sama untuk mengontrol alamat IP simpul komputer virtual (VM) untuk lalu lintas jaringan ke jaringan virtual atau sumber daya jaringan virtual yang di-peering.

Tambahkan kumpulan simpul baru ke kluster dengan menggunakan az aks nodepool add perintah dan tentukan ID sumber daya subnet dengan --vnet-subnet-id parameter . Contohnya:

az aks nodepool add \
  --resource-group $RESOURCE_GROUP \
  --cluster-name $CLUSTER_NAME \
  --name $NODE_POOL_NAME \
  --node-count 1 \
  --mode system \
  --vnet-subnet-id $SUBNET_RESOURCE_ID

Mengenai kluster AKS Azure CNI Overlay dengan jaringan dual-stack.

Anda dapat menyebarkan kluster Azure CNI Overlay AKS dalam mode tumpukan ganda dengan jaringan virtual Azure. Dalam konfigurasi ini, node menerima alamat IPv4 dan IPv6 dari subnet jaringan virtual Azure. Pod menerima alamat IPv4 dan IPv6 dari ruang alamat yang berbeda ke subnet jaringan virtual Azure dari simpul. Terjemahan alamat jaringan (NAT) kemudian dikonfigurasi sehingga Pod dapat menjangkau sumber daya pada jaringan virtual Azure. Alamat IP sumber lalu lintas adalah NAT ke alamat IP utama node dari keluarga yang sama (IPv4 ke IPv4 dan IPv6 ke IPv6).

Note

Anda juga dapat menyebarkan kluster jaringan tumpukan ganda dengan menggunakan Azure CNI Powered by Cilium. Untuk informasi selengkapnya, lihat Jaringan tumpukan ganda dengan Azure CNI Powered by Cilium.

Batasan jaringan tumpukan ganda

Fitur berikut tidak didukung dengan jaringan tumpukan ganda:

Parameter kunci untuk jaringan tumpukan ganda

Tabel berikut menjelaskan parameter kunci untuk mengonfigurasi jaringan tumpukan ganda di kluster Azure CNI Overlay AKS:

Pengaturan Description
--ip-families Mengambil daftar keluarga IP yang dipisahkan koma untuk diaktifkan pada kluster. Hanya ipv4 dan ipv4,ipv6 yang didukung.
--pod-cidrs Mengambil daftar rentang IP notasi Classless Inter-Domain Routing (CIDR) yang dipisahkan koma untuk menetapkan IP pod. Jumlah dan urutan rentang dalam daftar ini harus cocok dengan nilai yang disediakan untuk --ip-families. Jika Anda tidak menyediakan nilai apa pun, parameter menggunakan nilai 10.244.0.0/16,fd12:3456:789a::/64default .
--service-cidrs Mengambil daftar rentang IP dalam notasi CIDR yang dipisahkan dengan koma untuk penetapan IP layanan. Jumlah dan urutan rentang dalam daftar ini harus cocok dengan nilai yang disediakan untuk --ip-families. Jika Anda tidak menyediakan nilai apa pun, parameter menggunakan nilai 10.0.0.0/16,fd12:3456:789a:1::/108default . Subnet IPv6 yang ditetapkan ke --service-cidrs tidak boleh lebih besar dari /108.

Membuat kluster Azure CNI Overlay AKS dengan jaringan tumpukan ganda (Linux)

  1. Buat grup sumber daya Azure untuk kluster dengan menggunakan az group create perintah :

    az group create --location $REGION --name $RESOURCE_GROUP
    
  2. Buat kluster AKS tumpukan ganda dengan menggunakan perintah az aks create dengan parameter --ip-families ditetapkan ke ipv4,ipv6:

    az aks create \
      --location $REGION \
      --resource-group $RESOURCE_GROUP \
      --name $CLUSTER_NAME \
      --network-plugin azure \
      --network-plugin-mode overlay \
      --ip-families ipv4,ipv6 \
      --generate-ssh-keys
    

Membuat kluster Azure CNI Overlay AKS dengan jaringan tumpukan ganda (Windows)

Important

Fitur pratinjau AKS tersedia berdasarkan layanan mandiri. Pratinjau disediakan "apa adanya" dan "sebagaimana tersedia", dan 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 selengkapnya, lihat artikel dukungan berikut ini:

Sebelum Anda membuat klaster Azure CNI Overlay AKS dengan jaringan dual-stack dan kumpulan node Windows, Anda perlu menginstal ekstensi Azure CLI aks-preview dan mendaftarkan flag fitur AzureOverlayDualStackPreview dalam langganan Anda.

Memasang ekstensi aks-preview Azure CLI

  1. aks-preview Instal ekstensi dengan menggunakan az extension add perintah :

    az extension add --name aks-preview
    
  2. Perbarui ke versi terbaru ekstensi dengan menggunakan az extension update perintah :

    az extension update --name aks-preview
    

Daftarkan AzureOverlayDualStackPreview penanda fitur

  1. Daftarkan flag fitur AzureOverlayDualStackPreview menggunakan perintah az feature register

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

    Dibutuhkan beberapa menit agar status ditampilkan Registered.

  2. Verifikasikan status pendaftaran dengan menggunakan perintah az feature show:

    az feature show --namespace "Microsoft.ContainerService" --name "AzureOverlayDualStackPreview"
    
  3. Saat status mencerminkan Registered, refresh pendaftaran penyedia sumber daya Microsoft.ContainerService dengan menggunakan perintah az provider register.

    az provider register --namespace Microsoft.ContainerService
    

Membuat kluster Azure CNI Overlay AKS dual-stack dan menambahkan kumpulan simpul Windows

  1. Buat kluster dengan Azure CNI Overlay dengan menggunakan az aks create perintah :

    az aks create \
      --name $CLUSTER_NAME \
      --resource-group $RESOURCE_GROUP \
      --location $REGION \
      --network-plugin azure \
      --network-plugin-mode overlay \
      --ip-families ipv4,ipv6 \
      --generate-ssh-keys
    
  2. Tambahkan kumpulan simpul Windows ke kluster dengan menggunakan az aks nodepool add perintah :

    az aks nodepool add \
      --resource-group $RESOURCE_GROUP \
      --cluster-name $CLUSTER_NAME \
      --os-type Windows \
      --name $WINDOWS_NODE_POOL_NAME \
      --node-count 2
    

Menyebarkan contoh beban kerja ke kluster Azure CNI Overlay AKS

Sebarkan kluster AKS CNI Overlay dual-stack dengan alamat IPv4/IPv6 pada node mesin virtual. Contoh ini menyebarkan server web NGINX dan mengeksposnya dengan menggunakan LoadBalancer layanan dengan alamat IPv4 dan IPv6.

Note

Sebaiknya gunakan add-on perutean aplikasi untuk masuk di kluster AKS. Namun, untuk tujuan demonstrasi, contoh ini menyebarkan NGINX server web tanpa tambahan perutean aplikasi. Untuk informasi selengkapnya tentang tambahan ini, lihat NGINX Ingress yang dikelola dengan ekstensi perutean aplikasi.

Mengekspos beban kerja dengan menggunakan LoadBalancer layanan

Mengekspos penyebaran NGINX dengan menggunakan kubectl perintah atau manifes YAML.

Important

Saat ini ada dua batasan yang berkaitan dengan layanan IPv6 di AKS:

  • Azure Load Balancer mengirimkan pemeriksaan kesehatan ke tujuan IPv6 dari alamat lokal tautan. Di kumpulan simpul Azure Linux, Anda tidak dapat merutekan lalu lintas ini ke pod, sehingga lalu lintas yang mengalir ke layanan IPv6 yang disebarkan dengan externalTrafficPolicy: Cluster gagal.
  • Anda harus menyebarkan layanan IPv6 dengan externalTrafficPolicy: Local, yang menyebabkan kube-proxy merespons pemeriksaan di node.
  1. Mengekspos penyebaran NGINX dengan menggunakan kubectl expose deployment nginx perintah :

    kubectl expose deployment nginx --name=nginx-ipv4 --port=80 --type=LoadBalancer
    kubectl expose deployment nginx --name=nginx-ipv6 --port=80 --type=LoadBalancer --overrides='{"spec":{"ipFamilies": ["IPv6"]}}'
    

    Output Anda harus menampilkan layanan yang diekspos. Contohnya:

    service/nginx-ipv4 exposed
    service/nginx-ipv6 exposed
    
  2. Setelah penyebaran diekspos dan LoadBalancer layanan diprovisikan sepenuhnya, dapatkan alamat IP layanan dengan menggunakan kubectl get services perintah :

    kubectl get services
    

    Keluaran Anda harus menampilkan layanan beserta alamat IP yang telah ditetapkan. Contohnya:

    NAME         TYPE           CLUSTER-IP               EXTERNAL-IP         PORT(S)        AGE
    nginx-ipv4   LoadBalancer   10.0.88.78               20.46.24.24         80:30652/TCP   97s
    nginx-ipv6   LoadBalancer   fd12:3456:789a:1::981a   2603:1030:8:5::2d   80:32002/TCP   63s
    
  3. Dapatkan IP layanan dengan menggunakan kubectl get services perintah dan atur ke variabel lingkungan:

    SERVICE_IP=$(kubectl get services nginx-ipv6 -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
    
  4. Verifikasi fungsionalitas dengan menggunakan permintaan curl dari host yang mendukung IPv6. (Azure Cloud Shell tidak mampu IPv6.)

    curl -s "http://[${SERVICE_IP}]" | head -n5
    

    Output Anda seharusnya menampilkan HTML untuk halaman selamat datang NGINX. Contohnya:

    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    <style>
    

Untuk mempelajari selengkapnya tentang jaringan Azure CNI Overlay di AKS, lihat artikel berikut ini: