Anda dapat melakukan migrasi panas kluster khusus ACK ke kluster ACK Pro yang dikelola. Proses ini memigrasikan kluster tanpa mengganggu beban kerja Anda.
Container Service for Kubernetes (ACK) berhenti menawarkan kluster khusus ACK pada 21 Agustus 2024. Untuk lingkungan produksi, kami merekomendasikan penggunaan kluster ACK Pro yang dikelola. Kluster tersebut menyediakan keandalan, keamanan, dan efisiensi penjadwalan yang lebih tinggi. Kluster ACK Pro yang dikelola memiliki lapisan kontrol yang dikelola, ketersediaan tinggi, serta kemampuan lanjutan lainnya.
Prasyarat
Anda memiliki kluster khusus ACK (kluster yang akan dimigrasikan) dengan versi Kubernetes 1.18 atau lebih baru. Jika perlu meningkatkan versi kluster, lihat Tingkatkan kluster secara manual.
Versi Kubernetes kluster tetap tidak berubah setelah migrasi. Jika Anda perlu melakukan migrasi sekaligus peningkatan versi kluster, kami merekomendasikan untuk terlebih dahulu melakukan migrasi kluster, lalu meningkatkan versi kluster.
Sebelum migrasi, Anda harus mengatur zona waktu kluster di halaman Basic Information-nya. Hal ini memastikan bahwa lapisan kontrol kluster ACK Pro yang dikelola hasil migrasi menggunakan zona waktu yang sama dengan kluster asli, sehingga mencegah masalah seperti perubahan tak terduga pada waktu eksekusi CronJob.
Anda telah membuat bucket Object Storage Service (OSS) dengan kelas penyimpanan Standard di wilayah yang sama dengan kluster yang akan dimigrasikan. Pastikan perlindungan hotlink dinonaktifkan untuk bucket tersebut karena dapat menyebabkan kegagalan migrasi. Untuk informasi selengkapnya, lihat Buat bucket dan Perlindungan hotlink.
Pertimbangan
Item | Deskripsi |
Billing |
|
Akses publik |
|
Konfigurasi Pod kustom | Jika konfigurasi Pod kustom diaktifkan untuk kluster khusus ACK, Anda tidak dapat langsung memigrasikannya ke kluster ACK Pro yang dikelola. Anda harus menghentikan terway-controlplane sebelum migrasi dan mengaktifkannya kembali setelah migrasi. Untuk informasi selengkapnya, lihat Hentikan terway-controlplane saat memigrasikan kluster khusus ACK. Untuk mempelajari cara menyesuaikan konfigurasi Pod, lihat Konfigurasikan alamat IP statis, vSwitch terpisah, dan grup keamanan terpisah untuk Pod. |
Node master | Pada beberapa kluster versi lama, Cloud Assistant Agent tidak diinstal secara default pada node master. Anda perlu menginstalnya secara manual. Untuk informasi selengkapnya, lihat Instal Cloud Assistant Agent. Setelah migrasi, status node master berubah menjadi Not Ready. |
Rilis instance ECS | Saat Anda menghapus node master asli setelah migrasi, ACK secara otomatis hanya merilis instance ECS bayar sesuai penggunaan dan disk datanya. Anda harus merilis instance ECS berlangganan secara manual. Untuk informasi selengkapnya, lihat Rilis instance. |
Langkah 1: Lakukan migrasi panas kluster khusus ACK ke kluster ACK Pro yang dikelola
Setelah menyelesaikan prasyarat dan meninjau pertimbangan, Anda dapat memulai migrasi. Setelah migrasi panas selesai, Anda tidak dapat mengembalikan kluster ACK Pro yang dikelola ke kluster khusus ACK.
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
Di halaman Clusters, temukan kluster yang ingin dimigrasikan, lalu pilih More>Migrate to Pro di kolom Actions.
Di kotak dialog Migrate to Pro, lengkapi pemeriksaan awal dan otorisasi RAM, pilih bucket OSS yang telah disiapkan untuk migrasi panas, baca catatan dengan cermat, lalu klik Confirm Migration.
Setelah migrasi selesai, pesan akan muncul di kotak dialog Migrate to Pro. Anda kemudian dapat memeriksa jenis kluster dan status Migrate to Pro.
Jenis kluster: Kembali ke halaman Clusters. Di kolom Cluster Type, pastikan jenisnya telah berubah dari ACK Dedicated Cluster menjadi ACK Managed Cluster, dan kolom Cluster Specification menampilkan Pro.
Status node master: Di halaman Clusters, klik Details di kolom Actions untuk kluster target. Di panel navigasi kiri, pilih Nodes>Nodes. Di halaman Nodes, periksa kolom Role/Status. Status node master asli berubah menjadi Unknown. Status ini menunjukkan bahwa node master telah terputus dari kluster dan tidak lagi digunakan. Anda kemudian dapat menghapusnya. Untuk informasi selengkapnya, lihat Langkah 2: Hapus node master asli.
Langkah 2: Hapus node master dari kluster khusus ACK setelah migrasi panas
Setelah migrasi panas selesai, Anda dapat menggunakan konsol atau perintah kubectl untuk menghapus node master dari kluster khusus ACK secara manual.
Konsol
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
-
Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik .
Di halaman Nodes, temukan node master yang ingin dihapus, lalu pilih More>Remove di kolom Actions. Untuk menghapus beberapa node master sekaligus, pilih node tersebut dan klik Batch Remove di bagian bawah halaman. Di kotak dialog yang muncul, konfigurasikan pengaturan, baca catatan dengan cermat, lalu klik OK.
kubectl
Sebelum menjalankan perintah, hubungkan ke kluster menggunakan kubectl. Untuk informasi selengkapnya, lihat Dapatkan kubeconfig kluster dan gunakan kubectl untuk menghubungkan ke kluster.
Dapatkan dan catat nama node master yang akan dihapus.
kubectl get node | grep control-planeHapus node master target. Ganti
<MASTER_NAME>dengan nama node master dari langkah sebelumnya.kubectl delete node <MASTER_NAME>Untuk menghapus beberapa node master sekaligus, ganti placeholder
<MASTER_NAME>dengan nama node master tersebut. Misalnya, untuk menghapus node mastercn-hangzhou.192.xx.xx.65dancn-hangzhou.192.xx.xx.66, jalankan perintah berikut:kubectl delete node cn-hangzhou.192.xx.xx.65 cn-hangzhou.192.xx.xx.66
(Opsional) Langkah 3: Kelola add-on
Periksa apakah komponen ALB Ingress controller atau ACK Virtual Node diinstal di kluster khusus ACK asli. Jika ya, Anda perlu menginstal ulang atau memigrasikan komponen tersebut setelah migrasi kluster selesai.
Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih .
Di halaman Add-ons, periksa komponen ALB Ingress controller atau ACK Virtual Node. Jika salah satu di antaranya diinstal, tangani sesuai dengan bagian berikut.
Instal ulang ALB Ingress controller
Jika ALB Ingress controller diinstal di kluster khusus ACK, Anda harus menginstalnya ulang setelah migrasi. Untuk informasi selengkapnya tentang cara menginstal ALB Ingress controller, lihat Kelola add-on.
Setelah instalasi, jalankan perintah berikut untuk menghapus aplikasi asli. Pastikan Anda telah terhubung ke kluster menggunakan kubectl. Untuk informasi selengkapnya, lihat Memperoleh kubeconfig kluster dan menggunakan kubectl untuk terhubung ke kluster.
kubectl delete deployment alb-ingress-controller -n kube-systemMigrasikan ACK Virtual Node ke versi yang dikelola
Jika komponen ACK Virtual Node diinstal di kluster khusus ACK, Anda harus memigrasikannya ke versi yang dikelola setelah migrasi kluster untuk memastikan transisi beban kerja yang mulus.
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
-
Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Components and Add-ons .
Di halaman Add-ons, instal komponen ACK Virtual Node.
Setelah komponen ACK Virtual Node diinstal, jalankan perintah berikut secara berurutan untuk menghapus komponen dan konfigurasi lama.
# Hapus Service vk-webhook lama, Deployment ack-virtual-node-controller, ClusterRoleBinding virtual-kubelet, dan ServiceAccount virtual-kubelet secara berurutan. kubectl -n kube-system delete service vk-webhook kubectl -n kube-system delete deployment ack-virtual-node-controller kubectl delete clusterrolebinding virtual-kubelet kubectl -n kube-system delete serviceaccount virtual-kubeletSetelah migrasi selesai, Anda dapat membuat Pod baru untuk menguji apakah kluster berjalan sesuai harapan.
-
Langkah selanjutnya
Setelah bermigrasi ke kluster ACK Pro yang dikelola, Anda harus membatasi izin role RAM worker secara manual untuk meningkatkan keamanan node. Untuk informasi selengkapnya, lihat Batasi izin role RAM worker untuk kluster ACK yang dikelola secara manual.
Jika cGPU Edisi Dasar diinstal di kluster khusus ACK, Anda harus meningkatkannya ke cGPU Edisi Profesional setelah bermigrasi ke kluster ACK Pro yang dikelola. Untuk informasi selengkapnya, lihat Tingkatkan dari cGPU Edisi Dasar ke cGPU Edisi Profesional di kluster ACK Pro.
Pada kluster skala sangat besar atau skenario dengan lonjakan konkurensi tinggi, alokasikan dan dedikasikan sumber daya lapisan kontrol terlebih dahulu untuk memastikan kinerja lapisan kontrol yang dapat diprediksi. Untuk informasi selengkapnya, lihat Lapisan kontrol preset ACK Pro. Lapisan kontrol ACK Pro tersedia dalam tiga tingkatan yang telah ditentukan: Pro XL, Pro 2XL, dan Pro 4XL. Kapasitas lapisan kontrol ditentukan oleh metrik seperti konkurensi permintaan API (seats), laju penjadwalan pod (pod/detik), dan ukuran database etcd (GB).
FAQ
Apakah layanan di kluster khusus ACK terpengaruh selama migrasi?
Komponen lapisan kontrol kluster khusus ACK masuk ke mode tidur selama migrasi, tetapi beban kerja yang sedang berjalan tidak terpengaruh.
Durasi migrasi
Proses migrasi memakan waktu 10 hingga 15 menit dan terdiri dari tiga tahap: lapisan kontrol tidur, pencadangan data etcd, dan startup komponen yang dikelola. Server API diperkirakan tidak tersedia selama 5 hingga 10 menit dalam periode ini.
Apakah jalur akses berubah?
Tidak. Alamat IP instance CLB untuk server API tetap tidak berubah. Alamat kluster tidak berubah saat mengakses kluster menggunakan kubeconfig-nya.
Pemeriksaan awal ACK Virtual Node gagal
Jika komponen ACK Virtual Node diinstal di kluster khusus ACK, Anda harus mengonfigurasi titik akhir internal kube-apiserver secara manual sebelum migrasi. Untuk melakukannya, ikuti langkah-langkah berikut:
Di halaman Cluster Information, dapatkan titik akhir internal kube-apiserver.
Di halaman Deployments, pilih namespace kube-system, temukan Deployment
ack-virtual-node-controller, lalu tambahkan variabel lingkungan berikut ke bidangspec.template.spec.containers[0].env-nya:KUBERNETES_APISERVER_HOST: Alamat IP pribadi kube-apiserver.KUBERNETES_APISERVER_PORT: Port pribadi kube-apiserver, biasanya 6443.
Bagaimana cara memulihkan setelah secara tidak sengaja menghapus node master kluster khusus ACK?
Metode pemulihan bergantung pada versi kluster:
Versi kluster 1.20 atau lebih baru: Gunakan konsol untuk menambahkan node master baru guna memulihkan kluster.
Versi kluster sebelum 1.20: Ikuti Langkah 1 dalam topik ini untuk melakukan migrasi panas kluster khusus ke kluster ACK Pro. Sistem secara otomatis menjalankan pemeriksaan awal sebelum migrasi untuk memastikan keamanan.