Buat dan kelola lokasi kustom di Kubernetes yang didukung Azure Arc

Fitur lokasi kustom menyediakan cara untuk mengonfigurasi kluster Kubernetes dengan dukungan Azure Arc sebagai lokasi target untuk menyebarkan instans penawaran Azure. Contoh penawaran Azure yang dapat disebarkan di atas lokasi kustom termasuk database, seperti SQL Managed Instance yang diaktifkan oleh server PostgreSQL dengan dukungan Azure Arc dan Azure Arc, atau instans aplikasi, seperti App Services, Functions, Event Grid, Logic Apps, dan API Management.

Lokasi kustom memiliki pemetaan satu-ke-satu ke namespace dalam kluster Kubernetes dengan dukungan Azure Arc. Sumber daya Azure lokasi kustom yang dikombinasikan dengan kontrol akses berbasis peran Azure (Azure RBAC) dapat digunakan untuk memberikan izin terperinci kepada pengembang aplikasi atau admin database, memungkinkan mereka untuk menyebarkan sumber daya seperti database atau instans aplikasi di atas kluster Kube yang didukung Arc di lingkungan multipenyewa.

Dalam artikel ini, Anda mempelajari cara mengaktifkan lokasi kustom pada kluster Kubernetes dengan dukungan Arc, dan cara membuat lokasi kustom.

Prasyarat

  • Instal atau tingkatkan Azure CLI ke versi terbaru.

  • Instal versi terbaru ekstensi Azure CLI berikut:

    • connectedk8s

    • k8s-extension

    • customlocation

      az extension add --name connectedk8s
      az extension add --name k8s-extension
      az extension add --name customlocation
      

      Jika Anda telah menginstal connectedk8sekstensi , k8s-extension, dan customlocation , perbarui ke versi terbaru dengan menggunakan perintah berikut:

      az extension update --name connectedk8s
      az extension update --name k8s-extension
      az extension update --name customlocation
      
  • Verifikasi pendaftaran penyedia yang telah selesai untuk Microsoft.ExtendedLocation.

    1. Masukkan perintah berikut:

      az provider register --namespace Microsoft.ExtendedLocation
      
    2. Pantau proses pendaftaran. Pendaftaran mungkin memakan waktu hingga 10 menit.

      az provider show -n Microsoft.ExtendedLocation -o table
      

      Setelah terdaftar, RegistrationStatestatus akan memiliki nilai Registered.

  • Verifikasi bahwa Anda memiliki kluster yang terhubung dengan Kubernetes dengan dukungan Azure Arc, dan tingkatkan agen Anda ke versi terbaru. Konfirmasikan bahwa komputer tempat Anda akan menjalankan perintah yang dijelaskan dalam artikel ini memiliki kubeconfig file yang menunjuk ke kluster ini.

Mengaktifkan lokasi kustom pada kluster Anda

Tip

Fitur lokasi kustom bergantung pada fitur koneksi kluster. Kedua fitur harus diaktifkan di kluster agar lokasi kustom berfungsi.

Jika Anda masuk ke Azure CLI sebagai pengguna Microsoft Entra, gunakan perintah berikut:

az connectedk8s enable-features -n <clusterName> -g <resourceGroupName> --features cluster-connect custom-locations

Jika Anda menjalankan perintah di atas saat masuk ke Azure CLI menggunakan perwakilan layanan, Anda dapat mengamati peringatan berikut:

Unable to fetch oid of 'custom-locations' app. Proceeding without enabling the feature. Insufficient privileges to complete the operation.

Ini karena perwakilan layanan tidak memiliki izin untuk mendapatkan informasi tentang aplikasi yang digunakan oleh layanan Azure Arc. Untuk menghindari kesalahan ini, selesaikan langkah-langkah berikut:

  1. Masuk ke Azure CLI menggunakan akun pengguna Anda. objectId Ambil atau id aplikasi Microsoft Entra yang digunakan oleh layanan Azure Arc dengan menggunakan perintah berikut:

    az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
    
  2. Masuk ke Azure CLI menggunakan perwakilan layanan. <objectId> Gunakan nilai atau id dari langkah sebelumnya untuk mengaktifkan lokasi kustom pada kluster:

    az connectedk8s enable-features -n <cluster-name> -g <resource-group-name> --custom-locations-oid <objectId/id> --features cluster-connect custom-locations
    

Buat lokasi kustom

  1. Sebarkan ekstensi kluster layanan Azure dari instans layanan Azure yang ingin dipasang di kluster Anda:

  2. Dapatkan pengidentifikasi Azure Resource Manager kluster Kube dengan dukungan Azure Arc, yang direferensikan dalam langkah-langkah selanjutnya sebagai connectedClusterId:

    az connectedk8s show -n <clusterName> -g <resourceGroupName>  --query id -o tsv
    
  3. Dapatkan pengidentifikasi Azure Resource Manager dari ekstensi kluster yang Anda sebarkan ke kluster Kubernetes dengan dukungan Azure Arc, yang direferensikan dalam langkah-langkah selanjutnya sebagai extensionId:

    az k8s-extension show --name <extensionInstanceName> --cluster-type connectedClusters -c <clusterName> -g <resourceGroupName>  --query id -o tsv
    
  4. Buat lokasi kustom dengan mereferensikan kluster Kubernetes dengan dukungan Azure Arc dan ekstensi:

    az customlocation create -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionId> 
    
    • Parameter yang diperlukan:

      Nama Parameter Deskripsi
      --name, --n Nama lokasi kustom.
      --resource-group, --g Grup sumber daya lokasi kustom.
      --namespace Namespace di kluster yang terikat ke lokasi kustom yang sedang dibuat.
      --host-resource-id Pengidentifikasi Azure Resource Manager dari kluster Kubernetes dengan dukungan Azure Arc (kluster yang terhubung).
      --cluster-extension-ids Pengidentifikasi Azure Resource Manager dari instans ekstensi kluster yang diinstal pada kluster yang terhubung. Untuk beberapa ekstensi, berikan daftar ID ekstensi kluster yang dipisahkan spasi
    • Parameter opsional:

      Nama Parameter Deskripsi
      --location, --l Lokasi sumber daya lokasi kustom Azure Resource Manager di Azure. Jika tidak ditentukan, lokasi kluster yang terhubung digunakan.
      --tags Daftar tag yang dipisahkan spasi dalam format key[=value]. Gunakan '' untuk menghapus tag yang ada.
      --kubeconfig Admin kubeconfig kluster.

Tampilkan detail lokasi kustom

Untuk memperlihatkan detail lokasi kustom, gunakan perintah berikut:

az customlocation show -n <customLocationName> -g <resourceGroupName> 

Buat daftar lokasi kustom

Untuk mencantumkan semua lokasi kustom dalam grup sumber daya, gunakan perintah berikut:

az customlocation list -g <resourceGroupName> 

Memperbarui lokasi kustom

update Gunakan perintah untuk menambahkan nilai baru untuk --tags atau mengaitkan baru --cluster-extension-ids ke lokasi kustom, sambil mempertahankan nilai yang ada untuk tag dan ekstensi kluster terkait.

az customlocation update -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds> 

Buat Patch lokasi kustom

patch Gunakan perintah untuk mengganti nilai yang ada untuk --cluster-extension-ids atau --tags. Nilai sebelumnya tidak dipertahankan.

az customlocation patch -n <customLocationName> -g <resourceGroupName> --namespace <name of namespace> --host-resource-id <connectedClusterId> --cluster-extension-ids <extensionIds> 

Menghapus lokasi khusus

Untuk menghapus lokasi kustom, gunakan perintah berikut:

az customlocation delete -n <customLocationName> -g <resourceGroupName> 

Pemecahan Masalah

Jika pembuatan lokasi kustom gagal dengan kesalahan Unknown proxy error occurred, ubah kebijakan jaringan Anda untuk mengizinkan komunikasi internal pod-ke-pod dalam azure-arc namespace. Pastikan juga untuk menambahkan azure-arc namespace sebagai bagian dari daftar pengecualian tanpa proksi untuk kebijakan yang dikonfigurasi.

Langkah berikutnya