Migrasikan beban kerja dari kluster Kubernetes yang dikelola sendiri ke kluster Container Service for Kubernetes (ACK) tanpa gangguan layanan.
Skema migrasi
Tool yang digunakan dalam migrasi ini
Tinjau tool berikut sebelum memulai untuk memastikan kompatibilitasnya dengan lingkungan Anda.
| Tool | Tujuan |
|---|---|
| Data Transmission Service (DTS) | Migrasikan data MySQL dengan sinkronisasi penuh, inkremental, atau dua arah |
| ossimport | Melakukan migrasi massal data dari server on-premises atau penyimpanan cloud pihak ketiga ke OSS |
| image-syncer | Migrasikan container image ke Container Registry |
Prasyarat
Sebelum memulai, pastikan Anda telah:
Memiliki Akun Alibaba Cloud dengan izin untuk membuat kluster ACK dan sumber daya terkait.
Memiliki akses ke kluster Kubernetes yang dikelola sendiri beserta konfigurasi aplikasinya.
(Opsional) Membuat backup data dan konfigurasi di kluster Kubernetes yang dikelola sendiri.
Prosedur
Langkah 1: Buat dan konfigurasikan kluster ACK
Insinyur O&M membuat dan mengonfigurasi kluster ACK sebelum pengembang memulai migrasi aplikasi.
Gunakan kluster ACK Pro. Lapisan kontrolnya sepenuhnya dikelola oleh ACK, sehingga Anda hanya perlu membuat dan mengelola node pekerja—dan hanya dikenai biaya untuk sumber daya node pekerja tersebut.
Untuk langkah-langkah detail pembuatan kluster, lihat Buat kluster ACK yang dikelola.
Konfigurasikan pengaturan berikut saat membuat kluster:
| Pengaturan | Deskripsi |
|---|---|
| Operating system | Pilih CentOS 7.6 atau Alibaba Cloud Linux 2.1903 (default). Untuk menggunakan kernel kustom, lihat Gunakan custom image untuk membuat kluster ACK. |
| VPC | Pilih virtual private cloud (VPC) dan vSwitch untuk kluster. |
| SNAT | Konfigurasikan Entri SNAT untuk VPC. |
| Public access | Ekspos API server menggunakan elastic IP address (EIP). |
| CloudMonitor agent | Instal Agen CloudMonitor pada instans Elastic Compute Service (ECS) di kluster. |
| Simple Log Service | Instal dan konfigurasikan agen Simple Log Service di kluster. |
Langkah 2: Migrasikan data
Migrasi data mencakup tiga area: database, penyimpanan objek, dan container image.
Migrasikan database
Buat instans ApsaraDB RDS.
Konfigurasikan daftar putih agar hanya alamat IP tertentu yang dapat mengakses instans tersebut.
Konfigurasikan Alibaba Cloud DNS PrivateZone untuk mengarahkan nama domain database ke alamat IP instans ApsaraDB RDS. Hal ini menghilangkan kebutuhan untuk memperbarui string koneksi database di aplikasi Anda.
Migrasikan data MySQL menggunakan Data Transmission Service (DTS). DTS mendukung sinkronisasi penuh, inkremental, dan dua arah. Untuk detailnya, lihat Migrasikan data dari database MySQL yang dikelola sendiri ke instans ApsaraDB RDS untuk MySQL.
Migrasikan data penyimpanan objek
Aktifkan Object Storage Service (OSS).
Buat Bucket OSS.
Migrasikan data Anda ke OSS menggunakan tool ossimport. ossimport mendukung migrasi massal dari server on-premises dan layanan penyimpanan cloud pihak ketiga seperti Amazon S3, Microsoft Azure, dan Tencent Cloud Object Storage. Untuk detailnya, lihat Ikhtisar.
Migrasikan container image
Buat repositori Container Registry.
Tetapkan kredensial untuk mengakses repositori tersebut.
Migrasikan container image menggunakan image-syncer. Untuk detailnya, lihat Gunakan image-syncer untuk migrasi container image.
Langkah 3: Migrasikan konfigurasi aplikasi
Insinyur O&M atau pengembang memigrasikan konfigurasi kluster dan aplikasi ke kluster ACK.
Untuk detailnya, lihat Migrasikan aplikasi dari kluster Kubernetes eksternal ke kluster ACK.
Langkah 4: Lakukan pengujian regresi
Insinyur pengujian menjalankan pengujian regresi terhadap kluster ACK tanpa mengganggu traffic online.
Konfigurasikan nama domain untuk pengujian regresi.
Uji aplikasi.
Periksa event aplikasi yang dilog.
Periksa metrik pemantauan aplikasi.
Langkah 5: Alihkan traffic ke ACK
Insinyur O&M memperbarui konfigurasi Domain Name System (DNS) untuk mengarahkan traffic ke kluster ACK.
Ubah konfigurasi DNS untuk mengalihkan traffic.
Perbarui konfigurasi atau kode client agar mengarah ke kluster ACK.
Langkah 6: Nonaktifkan kluster Kubernetes yang dikelola sendiri
Setelah memastikan kluster ACK menangani traffic dengan benar, insinyur O&M menonaktifkan kluster yang dikelola sendiri.
Verifikasi bahwa kluster ACK dapat menerima dan mengirim traffic sesuai harapan.
Nonaktifkan kluster Kubernetes yang dikelola sendiri.
Hapus file backup yang disimpan di Bucket OSS yang dibuat selama migrasi aplikasi.