Bagikan melalui


Meningkatkan pengontrol data Azure Arc yang terhubung langsung menggunakan CLI

Artikel ini menjelaskan cara meningkatkan pengontrol data yang didukung Azure Arc yang terhubung langsung menggunakan Azure CLI (az).

Selama peningkatan pengontrol data, bagian dari sarana kontrol data seperti Definisi Sumber Daya Kustom (CRD) dan kontainer dapat ditingkatkan. Peningkatan pengontrol data tidak akan menyebabkan waktu henti untuk layanan data (SQL Managed Instance atau server PostgreSQL).

Prasyarat

Anda memerlukan pengontrol data yang terhubung langsung dengan imageTag v1.0.0_2021-07-30 atau yang lebih baru.

Untuk memeriksa versi, jalankan:

kubectl get datacontrollers -n <namespace> -o custom-columns=BUILD:.spec.docker.imageTag

Menginstal alat

Sebelum Anda bisa melanjutkan tugas dalam artikel ini, Anda perlu menginstal:

Contoh dalam artikel ini menggunakan tanda kurung sudut < ... > untuk mengidentifikasi nilai yang perlu Anda ganti sebelum menjalankan skrip. Ganti tanda kurung dan nilai di dalam tanda kurung.

Versi arcdata ekstensi dan versi gambar terkait. Periksa apakah Anda memiliki versi ekstensi yang benar arcdata yang sesuai dengan versi gambar yang ingin Anda tingkatkan di log Versi.

Menampilkan gambar yang tersedia dan memilih versi

Tarik daftar gambar yang tersedia untuk pengontrol data dengan perintah berikut:

az arcdata dc list-upgrades --k8s-namespace <namespace> 

Perintah di atas menampilkan output seperti contoh berikut:

Found 2 valid versions.  The current datacontroller version is v1.0.0_2021-07-30.
v1.1.0_2021-11-02
v1.0.0_2021-07-30

Meningkatkan versi pengontrol data

Bagian ini memperlihatkan cara meningkatkan pengontrol data yang terhubung langsung.

Catatan

Beberapa tingkatan dan mode layanan data umumnya tersedia dan beberapa dalam pratinjau. Jika Anda menginstal layanan pratinjau dan GA di pengontrol data yang sama, Anda tidak dapat meningkatkan versi. Untuk meningkatkan versi, hapus semua instans database non-GA. Anda dapat menemukan daftar layanan yang tersedia secara umum dan pratinjau di Catatan Rilis.

Untuk jalur peningkatan yang didukung, lihat Meningkatkan layanan data dengan dukungan Azure Arc.

Autentikasi

Anda harus menyambungkan dan mengautentikasi ke kluster Kubernetes dan memiliki konteks Kubernetes yang ada yang dipilih sebelum memulai peningkatan pengontrol data Azure Arc.

kubectl config use-context <Kubernetes cluster name>

Meningkatkan versi pengontrol data

Anda dapat melakukan eksekusi kering terlebih dahulu. Eksekusi kering memvalidasi keberadaan registri, skema versi, dan token otorisasi repositori privat (jika digunakan). Untuk melakukan eksekusi kering, gunakan parameter --dry-run dalam perintah az arcdata dc upgrade. Contohnya:

az arcdata dc upgrade --resource-group <resource group> --name <data controller name> --desired-version <version> --dry-run [--no-wait]

Output perintah sebelumnya adalah:

Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
****Dry Run****
Arcdata Control Plane would be upgraded to: <version-tag>

Setelah ekstensi pengontrol data Arc ditingkatkan, jalankan az arcdata dc upgrade perintah, tentukan tag gambar dengan --desired-version.

az arcdata dc upgrade --resource-group <resource group> --name <data controller name> --desired-version <version> [--no-wait]

Contoh:

az arcdata dc upgrade --resource-group rg-arcds --name dc01 --desired-version v1.7.0_2022-05-24 [--no-wait]

Memantau status peningkatan

Anda dapat memantau kemajuan peningkatan dengan CLI.

CLI

 az arcdata dc status show --resource-group <resource group>

Peningkatan adalah proses dua bagian. Pertama, pengontrol ditingkatkan, kemudian tumpukan pemantauan ditingkatkan. Setelah peningkatan selesai, outputnya akan berupa:

Ready

Pemecahan Masalah

Ketika versi yang diinginkan diatur ke versi tertentu, pekerjaan bootstrapper akan mencoba meningkatkan ke versi tersebut hingga berhasil. Jika peningkatan berhasil, RunningVersion properti spesifikasi diperbarui ke versi baru. Peningkatan dapat gagal untuk skenario seperti tag gambar yang salah, tidak dapat terhubung ke registri atau repositori, CPU atau memori yang tidak mencukup yang dialokasikan untuk kontainer, atau penyimpanan yang tidak mencukup.

  1. Jalankan perintah di bawah ini untuk melihat apakah salah satu pod menunjukkan Error status atau memiliki jumlah restart yang tinggi:

    kubectl get pods --namespace <namespace>
    
  2. Untuk melihat Peristiwa untuk melihat apakah ada kesalahan, jalankan

    kubectl describe pod <pod name> --namespace <namespace>
    
  3. Untuk mendapatkan daftar kontainer dalam pod, jalankan

    kubectl get pods <pod name> --namespace <namespace> -o jsonpath='{.spec.containers[*].name}*'
    
  4. Untuk mendapatkan log untuk kontainer, jalankan

    kubectl logs <pod name> <container name> --namespace <namespace>
    

Untuk melihat kesalahan umum dan cara memecahkan masalahnya, buka Pemecahan masalah sumber daya.