Bagikan melalui


Meningkatkan pengontrol data Azure Arc yang terhubung secara tidak langsung menggunakan CLI

Artikel ini menjelaskan cara meningkatkan versi pengontrol data yang didukung Azure Arc yang terhubung secara tidak 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 secara tidak 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 secara tidak 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.

Mutakhirkan

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

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 --desired-version <version> --k8s-namespace <namespace> --dry-run --use-k8s

Output perintah sebelumnya adalah:

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

Untuk meningkatkan pengontrol data, jalankan az arcdata dc upgrade perintah , tentukan tag gambar dengan --desired-version.

az arcdata dc upgrade --name <data controller name> --desired-version <image tag> --k8s-namespace <namespace> --use-k8s

Contoh:

az arcdata dc upgrade --name arcdc --desired-version v1.7.0_2022-05-24 --k8s-namespace arc --use-k8s

Output perintah sebelumnya menunjukkan status langkah-langkah:

Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
Preparing to upgrade dc arcdc in namespace arc to version <version-tag>.
Creating service account: arc:cr-upgrade-worker
Creating cluster role: arc:cr-upgrade-worker
Creating cluster role binding: arc:crb-upgrade-worker
Cluster role binding: arc:crb-upgrade-worker created successfully.
Cluster role: arc:cr-upgrade-worker created successfully.
Service account arc:cr-upgrade-worker has been created successfully.
Creating privileged job arc-elevated-bootstrapper-job

Memantau status peningkatan

Peningkatan adalah proses dua bagian. Pertama, pengontrol ditingkatkan, kemudian tumpukan pemantauan ditingkatkan. Anda dapat memantau kemajuan peningkatan dengan CLI.

CLI

 az arcdata dc status show --name <data controller name> --k8s-namespace <namespace> --use-k8s

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.