Memigrasikan resource Config Controller

Halaman ini menunjukkan cara memigrasikan resource Config Connector dari satu cluster Config Controller ke cluster lain. Anda mungkin perlu memigrasikan resource jika cluster Pengontrol Konfigurasi utama Anda 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 yang akan Anda migrasikan resource-nya.

Rekomendasi

  • Sebelum Anda membuat perubahan dalam produksi, selesaikan langkah-langkah ini di lingkungan pengujian.
  • Jika Anda perlu memigrasikan beberapa cluster Config Controller, 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:

  1. Buat cluster tujuan.

  2. Hentikan mengirim perubahan ke sumber tepercaya yang dikonfigurasi cluster sumber untuk disinkronkan. Config Sync akan terus melakukan sinkronisasi dari sumber tepercaya. Hanya perubahan yang disinkronkan cluster sumber dari yang harus dihentikan.

  3. Pastikan bahwa semua perubahan terbaru pada sumber tepercaya telah disinkronkan di cluster dan semua resource sudah terbaru di cluster sumber.

    Jika ada error untuk beberapa resource, Anda mungkin perlu menganalisis resource tersebut satu per satu. Jika resource belum dibuat karena error, resource tersebut akan dibuat nanti menggunakan Config Connector yang berjalan di cluster tujuan. Error ini biasanya dapat diabaikan. Namun, untuk sebagian besar error, penyebab utamanya harus ditemukan dan diperbaiki sebelum mencoba migrasi.

  4. Siapkan Config Sync di cluster tujuan untuk membaca dari sumber tepercaya yang sama dengan yang dikonfigurasi dari cluster sumber. Jika beberapa sinkronisasi disiapkan untuk menyinkronkan dari lebih dari satu sumber tepercaya, lakukan langkah ini untuk setiap sinkronisasi.

  5. Gunakan perintah nomos status untuk memastikan bahwa cluster tujuan telah menyinkronkan semua resource dari sumber tepercaya.

  6. Setelah resource disinkronkan, hapus RootSync atau RepoSync dari cluster sumber.

  7. Setelah setiap sumber kebenaran dimigrasikan, hapus cluster Config Controller sumber.

Memigrasikan beberapa resource

Untuk memigrasikan beberapa resource, selesaikan langkah-langkah berikut:

  1. Selesaikan langkah 1-6 dari bagian Memigrasikan semua resource sebelumnya.

  2. Anotasikan resource yang harus dimigrasikan ke cluster tujuan dengan anotasi cnrm.cloud.google.com/deletion-policy: abandon. Anotasi ini mencegah Config Connector menghapus resource pokok saat resource Config Connector dihapus dari cluster Config Controller.

  3. Hapus resource yang telah ditandai sebagai ditinggalkan dari cluster sumber. Penghapusan ini hanya berfungsi jika resource ini juga dihapus dari sumber kebenaran sebelum melanjutkan Config Sync.

  4. Pindahkan resource ini ke sumber tepercaya lain atau folder lain dalam sumber tepercaya yang sama.

  5. Siapkan cluster tujuan untuk menyinkronkan dari lokasi tempat Anda memindahkan resource. Cluster tujuan kini dapat memperoleh resource ini dan mulai mengelolanya.

Memigrasikan resource satu per satu

Jika cluster Config Controller tidak dapat dihapus (misalnya, saat hanya memigrasikan subset 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 dibuat 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 dibuat oleh layanan, resourceID harus diberikan untuk mendapatkan resource ini dari instance Config Connector lain. Untuk resource ini, resourceID harus ditambahkan ke sumber kebenaran sebelum mencoba mendapatkan resource dari cluster tujuan.

Memigrasikan resource menggunakan kebijakan pencegahan konflik

Secara default, kebijakan pencegahan konflik dinonaktifkan untuk resource. Anda dapat mengaktifkannya di resource dengan menyetel anotasi berikut:

cnrm.cloud.google.com/management-conflict-prevention-policy: "resource"

Setelah ditetapkan, Config Connector harus mendapatkan lease pada resource pokok sebelum melakukan perubahan apa pun padanya. Artinya, cluster tujuan tidak dapat segera mendapatkan lease karena lease dipegang oleh Config Connector di cluster sumber. Penyewaan diberikan selama 40 menit. Namun, setelah 20 menit, Config Connector akan secara proaktif mencoba memperpanjang masa berlaku sewa. Karena perilaku ini, jika Config Connector di cluster sumber dalam kondisi baik dan berjalan, cluster tujuan tidak dapat memperoleh lease. 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 memperoleh sewa. Cluster tujuan dapat memperoleh sewa setelah paling lama 40 menit dan dapat mulai mengelola resource. Tidak ada perubahan yang boleh dilakukan pada resource Config Connector hingga sewa diperoleh oleh cluster tujuan.

Langkah berikutnya