Halaman ini menunjukkan cara memigrasikan resource Config Connector dari satu cluster Config Controller ke cluster lainnya. Anda mungkin perlu memigrasikan resource jika cluster Config Controller utama gagal dan perlu diganti, atau Anda perlu mengubah konfigurasi cluster yang tidak dapat diubah.
Halaman ini menggunakan terminologi berikut:
- Cluster sumber: Cluster yang berisi resource Config Connector yang perlu Anda migrasikan.
- Cluster tujuan: Cluster tempat Anda akan memigrasikan resource.
Rekomendasi
- Sebelum Anda membuat perubahan dalam produksi, selesaikan langkah-langkah ini di lingkungan pengujian.
- Jika Anda perlu memigrasikan beberapa cluster Pengontrol Konfigurasi, migrasikan setiap cluster secara terpisah, dimulai dengan cluster yang paling tidak penting.
- Jika cluster Config Sync menyinkronkan dari lebih dari satu sumber tepercaya, migrasikan semua resource dari setiap sumber sekaligus.
Langkah-langkah migrasi untuk berbagai skenario
Memigrasikan semua resource
Untuk memigrasikan semua resource, selesaikan langkah-langkah berikut:
Buat cluster tujuan.
Berhenti mendorong perubahan ke sumber tepercaya yang dikonfigurasi untuk menyinkronkan cluster sumber. Config Sync akan terus disinkronkan dari sumber tepercaya. Hanya perubahan yang disinkronkan oleh cluster sumber yang harus dihentikan.
Pastikan semua perubahan terbaru pada sumber tepercaya telah disinkronkan di cluster dan semua resource sudah yang terbaru di cluster sumber.
Jika ada error untuk beberapa resource, Anda mungkin perlu menganalisis resource satu per satu. Jika resource belum dibuat karena error, resource tersebut nantinya akan dibuat menggunakan Config Connector yang berjalan di cluster tujuan. Error ini biasanya dapat diabaikan. Namun, untuk sebagian besar error, akar masalah harus ditemukan dan diperbaiki sebelum mencoba migrasi.
Siapkan Config Sync di cluster tujuan untuk membaca dari sumber tepercaya yang sama dengan tempat cluster sumber dikonfigurasi. Jika beberapa sinkronisasi disiapkan untuk disinkronkan dari lebih dari satu sumber tepercaya, lakukan hal ini untuk setiap sinkronisasi.
Gunakan perintah
nomos status
untuk memastikan bahwa cluster tujuan telah menyinkronkan semua resource dari sumber tepercaya.Setelah resource disinkronkan, hapus RootSync atau RepoSync dari cluster sumber.
Setelah setiap sumber tepercaya dimigrasikan, hapus cluster Config Controller sumber.
Memigrasikan beberapa resource
Untuk memigrasikan beberapa resource, selesaikan langkah-langkah berikut:
Selesaikan langkah 1-6 dari bagian Migrasikan semua resource sebelumnya.
Anotasikan resource yang harus dimigrasikan ke cluster tujuan dengan anotasi
cnrm.cloud.google.com/deletion-policy: abandon
. Anotasi ini mencegah Config Connector menghapus resource yang mendasarinya saat resource Config Connector dihapus dari cluster Config Controller.Hapus resource yang telah ditandai sebagai ditinggalkan dari cluster sumber. Penghapusan ini hanya berfungsi jika resource ini juga dihapus dari sumber tepercaya sebelum melanjutkan Sinkronisasi Konfigurasi.
Pindahkan resource ini ke sumber tepercaya lain atau folder lain dalam sumber tepercaya yang sama.
Siapkan cluster tujuan untuk disinkronkan dari lokasi tempat Anda memindahkan resource. Cluster tujuan kini dapat memperoleh resource ini dan mulai mengelolanya.
Memigrasikan resource individual
Jika cluster Pengontrol Konfigurasi tidak dapat dihapus (misalnya, saat hanya memigrasikan sebagian resource ke cluster lain), Anda dapat menghapus resource satu per satu. Untuk menghapus resource satu per satu, nonaktifkan Config Sync, lalu tetapkan anotasi cnrm.cloud.google.com/deletion-policy: abandon
pada resource satu per satu yang perlu Anda hapus.
Memigrasikan resource yang memiliki resourceID
yang dihasilkan layanan
Untuk resource yang kolom resourceID
-nya belum diberikan secara eksplisit, resourceID
tidak perlu ditentukan untuk akuisisi resource oleh instance
Config Connector lain. Namun, ada
resource yang memiliki ID resource yang dibuat layanan
yang memerlukan langkah tambahan. Meskipun resourceID
dihasilkan oleh layanan,
resourceID
harus disediakan untuk memperoleh resource ini dari instance Config Connector
lain. Untuk resource ini, resourceID
harus ditambahkan ke sumber
kebenaran sebelum mencoba memperoleh resource dari cluster tujuan.
Memigrasikan resource menggunakan kebijakan pencegahan konflik
Secara default, kebijakan pencegahan konflik dinonaktifkan untuk resource. Anda dapat mengaktifkannya di resource dengan menetapkan anotasi berikut:
cnrm.cloud.google.com/management-conflict-prevention-policy: "resource"
Setelah ditetapkan, Config Connector harus memperoleh sewa pada resource pokok sebelum melakukan perubahan apa pun pada resource tersebut. Artinya, cluster tujuan tidak dapat langsung memperoleh sewa karena sewa dipegang oleh Config Connector di cluster sumber. Sewa diberikan selama 40 menit. Namun, setelah 20 menit, Konektor Konfigurasi akan mencoba memperpanjang sewa secara proaktif. Karena perilaku ini, jika Config Connector di cluster sumber berfungsi dan berjalan, cluster tujuan tidak dapat memperoleh sewa. Cluster sumber harus melepaskan sewanya sebelum cluster tujuan dapat memperolehnya. Hal ini dapat dilakukan dengan menghapus cluster sumber, atau dengan menghapus resource di cluster sumber.
Setelah cluster sumber melepaskan sewa, cluster tujuan dapat mendapatkan sewa. Cluster tujuan dapat memperoleh sewa setelah maksimal 40 menit dan dapat mulai mengelola resource. Tidak boleh ada perubahan pada resource Konektor Konfigurasi hingga sewa telah diperoleh oleh cluster tujuan.
Langkah selanjutnya
- Memecahkan masalah Config Controller.
- Failover manual ke instance Config Controller kedua.
- Mengelola resource dengan kolom
resourceID
. - Menghentikan dan melanjutkan sinkronisasi konfigurasi.