Mulai Cepat: Membuat kluster otomatis Azure Kubernetes Service (AKS)

Berlaku untuk: ✔️ AKS Otomatis

Azure Kubernetes Service (AKS) Otomatis adalah pengalaman Kubernetes terkelola yang mengotomatiskan pengaturan dan operasi kluster AKS dan menyematkan konfigurasi praktik terbaik. AKS Automatic juga menyertakan [Pod readiness SLA][azure-sla] yang menjamin 99,9% operasi kesiapan pod yang memenuhi syarat selesai dalam waktu 5 menit, menjamin infrastruktur yang andal dan menyembuhkan diri untuk aplikasi Anda. Dalam panduan cepat ini, Anda mempelajari cara untuk:

  • Menyebarkan kluster AKS secara otomatis.
  • Jalankan contoh aplikasi multi-kontainer berupa kelompok layanan mikro dan antarmuka web yang mensimulasikan skenario ritel.

Sebelum Anda mulai

  • Azure CLI versi 2.77.0 atau yang lebih baru. Temukan versi Anda menggunakan az --version perintah . Untuk menginstal atau meningkatkan, lihat Install Azure CLI. Jika Anda menggunakan Azure Cloud Shell, versi terbaru sudah diinstal di sana.
  • Jika Anda memiliki beberapa langganan Azure, pilih ID langganan yang sesuai untuk menagih sumber daya menggunakan perintah az account set.
  • Untuk menyebarkan file Bicep, Anda memerlukan akses tulis pada sumber daya yang Anda buat dan akses ke semua operasi pada jenis sumber daya Microsoft.Resources/deployments. Misalnya, untuk membuat komputer virtual (VM), Anda memerlukan izin Microsoft.Compute/virtualMachines/write dan Microsoft.Resources/deployments/*. Untuk daftar peran dan izin, lihat peran bawaan Azure.

Keterbatasan

  • Nodepool sistem kluster AKS Otomatis memerlukan penyebaran di wilayah Azure yang mendukung setidaknya tiga zona ketersediaan, disk OS efemer, dan OS Linux Azure.
  • AKS Otomatis tersedia di wilayah berikut: australiaeast, austriaeast, belgiumcentral, brazilsouth, canadacentral, centralindia, centralus, chilecentral, denmarkeast, eastasia, eastus, eastus2, francecentral, germanywestcentral, indonesiacentral, israelcentral, italynorth, japaneast, japanwest, koreacentral, malaysiawest, mexicocentral, newzealandnorth, northeurope, norwayeast, polandcentral, southafricanorth, southcentralus, southeastasia, spaincentral, swedencentral, switzerlandnorth, uaenorth, uksouth, westeurope, westus2, westus3.
  • Kluster Otomatis AKS memiliki penguncian grup sumber daya node yang telah dikonfigurasi sebelumnya, yang tidak memungkinkan perubahan pada grup sumber daya MC_, mencegah tautan jaringan virtual pada zona Private DNS default. Untuk skenario DNS lintas VNet atau kustom, gunakan jaringan kustom dan DNS privat dengan mengikuti Buat kluster privat Azure Kubernetes Service (AKS) Otomatis dalam jaringan virtual kustom.

Penting

AKS Otomatis mencoba memilih ukuran komputer virtual secara dinamis untuk kumpulan simpul system berdasarkan kapasitas yang tersedia dalam langganan. Pastikan langganan Anda memiliki kuota untuk 16 vCPU dari salah satu ukuran berikut di wilayah tempat Anda menyebarkan kluster ke: Standard_D4lds_v5, Standard_D4ads_v5, Standard_D4ds_v5, Standard_D4d_v5, Standard_D4d_v4, Standard_DS3_v2, Standard_DS12_v2, Standard_D4alds_v6, Standard_D4lds_v6, atau Standard_D4alds_v5. Anda dapat view kuota untuk keluarga VM tertentu dan mengirimkan permintaan peningkatan kuota melalui portal Azure. Jika Anda memiliki pertanyaan tambahan, pelajari lebih lanjut melalui dokumen pemecahan masalah.

Membuat grup sumber daya

Grup sumber daya Azure adalah grup logis tempat sumber daya Azure disebarkan dan dikelola.

Buat grup sumber daya menggunakan perintah az group create. Contoh berikut membuat grup sumber daya bernama myResourceGroup di lokasi eastus :

az group create --name myResourceGroup --location eastus

Contoh output berikut menyerupai pembuatan grup sumber daya yang berhasil:

{
  "id": "/subscriptions/<guid>/resourceGroups/myResourceGroup",
  "location": "eastus",
  "managedBy": null,
  "name": "myResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null
}

Membuat kluster Otomatis AKS

Buat kluster AKS Automatic menggunakan az aks create perintah dengan parameter --sku yang diatur ke automatic. Contoh berikut membuat kluster bernama myAKSAutomaticCluster dengan Prometheus Terkelola dan integrasi Container Insights diaktifkan:

az aks create \
    --resource-group myResourceGroup \
    --name myAKSAutomaticCluster \
    --sku automatic

Setelah beberapa menit, perintah selesai dan kembalikan informasi berformat JSON tentang kluster.

Membuat kluster Kubernetes Otomatis

  1. Untuk membuat kluster Otomatis AKS, cari dan pilih layanan Kubernetes. Ini akan membawa Anda ke halaman pusat Kubernetes (pratinjau).

  2. Pada halaman Pusat Kubernetes (pratinjau) , pilih Buat>kluster Kubernetes Otomatis.

     Cuplikan layar tombol Buat kluster AKS Otomatis di portal Azure.

  3. Pada tab Dasar , isi semua bidang yang diperlukan (Langganan, Grup sumber daya, nama kluster Kubernetes, dan Wilayah), lalu pilih Berikutnya.

     Cuplikan layar Tab Buat - Dasar untuk kluster Otomatis AKS di portal Azure.

  4. Pada tab Monitoring, pilih konfigurasi pemantauan yang anda inginkan dari Azure Monitor (Container Insights), Managed Prometheus, Grafana Dashboards, Container Network Observability (ACNS), dan Alerts, lalu pilih Next.

     Cuplikan layar Tab Pemantauan saat membuat kluster Otomatis AKS di portal Azure.

  5. Pada tab Advanced, pilih akses Privat konfigurasi lanjutan yang anda inginkan, Azure Virtual Networking, Managed identity, Container Network Security (ACNS), dan Managed Kubernetes Namespaces, lalu pilih Review + create.

     Cuplikan layar Tab Tingkat Lanjut saat membuat kluster Otomatis AKS di portal Azure.

  6. Tinjau konfigurasi pada tab Tinjau + buat , lalu pilih Buat untuk menyebarkan kluster Otomatis AKS.

  7. Mulailah dengan mengonfigurasi aplikasi pertama Anda dari GitHub dan menyiapkan alur penyebaran otomatis.

    Cuplikan layar Tab Mulai pada Blade Gambaran Umum setelah membuat kluster AKS Automatic di portal Azure.

Meninjau file Bicep

File Bicep berikut mendefinisikan kluster Otomatis AKS:

@description('The name of the managed cluster resource.')
param clusterName string = 'myAKSAutomaticCluster'

@description('The location of the managed cluster resource.')
param location string = resourceGroup().location

resource aks 'Microsoft.ContainerService/managedClusters@2024-03-02-preview' = {
  name: clusterName
  location: location  
  sku: {
  name: 'Automatic'
  }
  properties: {
    agentPoolProfiles: [
      {
        name: 'systempool'
        mode: 'System'
  count: 3
      }
    ]
  }
  identity: {
    type: 'SystemAssigned'
  }
}

Untuk informasi selengkapnya tentang sumber daya yang ditentukan dalam file Bicep, lihat referensi Microsoft.ContainerService/managedClusters.

Menyebarkan file Bicep

  1. Simpan file Bicep sebagai main.bicep ke komputer lokal Anda.

    Penting

    File Bicep mengatur param clusterName ke string myAKSAutomaticCluster. Jika Anda ingin menggunakan nama kluster yang berbeda, pastikan untuk memperbarui string ke nama kluster pilihan Anda sebelum menyimpan file ke komputer Anda.

  2. Sebarkan file Bicep menggunakan perintah [az deployment group create][az-deployment-group-create].

    az deployment group create --resource-group myResourceGroup --template-file main.bicep
    

    Perlu waktu beberapa menit untuk membuat kluster AKS. Tunggu hingga kluster berhasil disebarkan sebelum Anda melanjutkan ke langkah berikutnya.

Menyambungkan ke kluster

Untuk mengelola kluster Kube, gunakan klien baris perintah Kube, kubectl. kubectl sudah diinstal jika Anda menggunakan Azure Cloud Shell. Anda dapat menginstal kubectl secara lokal menggunakan az aks install-cli perintah . Kluster Otomatis AKS dikonfigurasi dengan Microsoft Entra ID untuk kontrol akses berbasis peran (RBAC) Kubernetes .

Nota

Saat Anda membuat kluster menggunakan Azure CLI, pengguna Anda diperuntukkan peran bawaan untuk Azure Kubernetes Service RBAC Cluster Admin.

  1. Konfigurasikan kubectl untuk terhubung ke kluster Kubernetes menggunakan perintah az aks get-credentials. Perintah ini mengunduh kredensial dan mengonfigurasi CLI Kubernetes untuk menggunakannya.

    az aks get-credentials --resource-group myResourceGroup --name myAKSAutomaticCluster
    
  2. Verifikasi koneksi ke kluster Anda menggunakan kubectl get perintah . Perintah ini menampilkan daftar node kluster.

    kubectl get nodes
    

    Contoh output berikut menunjukkan bagaimana Anda diminta untuk masuk:

    To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code AAAAAAAAA to authenticate.
    

    Setelah Anda masuk, output sampel berikut menunjukkan kumpulan simpul sistem terkelola. Pastikan status node adalah Ready.

    NAME                                STATUS   ROLES   AGE     VERSION
    aks-nodepool1-12345678-vmss000000   Ready    agent   2m26s   v1.28.5
    aks-nodepool1-12345678-vmss000001   Ready    agent   2m26s   v1.28.5
    aks-nodepool1-12345678-vmss000002   Ready    agent   2m26s   v1.28.5
    

Menyebarkan aplikasi

Untuk menyebarkan aplikasi, Anda menggunakan file manifes untuk membuat semua objek yang diperlukan untuk menjalankan aplikasi AKS Store. File manifes Kubernetes menentukan keadaan kluster yang diinginkan, seperti image kontainer mana yang akan dijalankan. Manifes mencakup penyebaran dan layanan Kubernetes berikut:

Screenshot arsitektur sampel Azure Store.

  • Simpan depan: Aplikasi web bagi pelanggan untuk melihat produk dan melakukan pemesanan.
  • Layanan produk: Menampilkan informasi produk.
  • Layanan Pemesanan : Mengurus pemesanan.
  • Rabbit MQ: Antrian pesan untuk pesanan.

Nota

Kami tidak menyarankan menjalankan kontainer stateful, seperti Rabbit MQ, tanpa penyimpanan persisten dalam lingkungan produksi. Ini digunakan di sini untuk kesederhanaan, tetapi sebaiknya gunakan layanan terkelola, seperti Azure Cosmos DB atau Azure Service Bus.

  1. Buat namespace aks-store-demo untuk menyebarkan sumber daya Kubernetes.

    kubectl create ns aks-store-demo
    
  2. Sebarkan aplikasi menggunakan perintah kubectl apply ke dalam aks-store-demo namespace tersebut. File YAML yang menentukan penyebaran berada di GitHub.

    kubectl apply -n aks-store-demo -f https://raw.githubusercontent.com/Azure-Samples/aks-store-demo/main/aks-store-ingress-quickstart.yaml
    

    Contoh output berikut menunjukkan penyebaran dan layanan:

    statefulset.apps/rabbitmq created
    configmap/rabbitmq-enabled-plugins created
    service/rabbitmq created
    deployment.apps/order-service created
    service/order-service created
    deployment.apps/product-service created
    service/product-service created
    deployment.apps/store-front created
    service/store-front created
    ingress/store-front created
    

Uji aplikasi

Ketika aplikasi berjalan, layanan Kubernetes mengekspos front end aplikasi ke internet. Diperlukan beberapa menit untuk menyelesaikan proses ini.

  1. Gunakan perintah kubectl get pods untuk memeriksa status pod yang disebarkan. Pastikan semua pod berada dalam kondisi Running sebelum melanjutkan. Jika ini adalah beban kerja pertama yang Anda sebarkan, mungkin perlu beberapa menit agar provisi otomatis simpul membuat kumpulan simpul untuk menjalankan pod.

    kubectl get pods -n aks-store-demo
    
  2. Periksa alamat IP publik untuk aplikasi tampilan depan toko. Pantau kemajuan menggunakan perintah kubectl get service dengan argumen --watch.

    kubectl get ingress store-front -n aks-store-demo --watch
    

    Output ADDRESS untuk layanan store-front pada awalnya tampil kosong.

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *                      80      12m
    
  3. Setelah ALAMAT berubah dari kosong ke alamat IP publik yang sebenarnya, gunakan CTRL-C untuk menghentikan kubectl proses tontonan.

    Contoh output berikut menunjukkan alamat IP publik yang valid yang ditetapkan ke layanan:

    NAME          CLASS                                HOSTS   ADDRESS        PORTS   AGE
    store-front   webapprouting.kubernetes.azure.com   *       4.255.22.196   80      12m
    
  4. Buka browser web ke alamat IP eksternal ingress Anda untuk melihat aplikasi Azure Store beraksi.

    Cuplikan layar aplikasi sampel AKS Store.

Hapus kluster tersebut

Jika Anda tidak berencana untuk melalui tutorial AKS, bersihkan sumber daya yang tidak perlu untuk menghindari biaya Azure.

Hapus grup sumber daya, layanan kontainer, dan semua sumber daya terkait menggunakan az group delete perintah .

az group delete --name myResourceGroup --yes --no-wait

Nota

Kluster AKS dibuat dengan identitas terkelola yang ditetapkan oleh sistem, yang merupakan opsi identitas default yang digunakan dalam panduan cepat ini. Platform ini mengelola identitas ini, jadi Anda tidak perlu menghapusnya secara manual.

Dalam panduan memulai cepat ini, Anda menyebarkan kluster Kubernetes menggunakan AKS Otomatis dan kemudian mengerahkan aplikasi multi-kontainer sederhana ke kluster tersebut. Aplikasi sampel ini hanya untuk tujuan demo dan tidak mewakili semua praktik terbaik untuk aplikasi Kubernetes. Untuk panduan tentang membuat solusi lengkap dengan AKS untuk produksi, lihat panduan solusi AKS.

Untuk mempelajari selengkapnya tentang AKS Otomatis, lihat Introduksi ke Azure Kubernetes Service (AKS) Otomatis