Meng-uninstal Config Sync

Halaman ini menunjukkan cara meng-uninstal Config Sync dari cluster, menonaktifkan fitur fleet Config Management di fleet Anda, dan meng-uninstal ConfigManagement Operator.

Fitur fleet Config Management mengelola Config Sync, Pengontrol Kebijakan, dan Pengontrol Hierarki menggunakan Operator ConfigManagement. Karena arsitektur ini, langkah uninstal harus diselesaikan dalam urutan berikut:

  1. Meng-uninstal Config Sync dari cluster Anda
  2. Menonaktifkan fitur Config Management di perangkat Anda
  3. Meng-uninstal Operator ConfigManagement dari cluster Anda

Meng-uninstal Config Sync dari cluster Anda

Konsol

Anda tidak dapat meng-uninstal Config Sync hanya dengan Konsol Google Cloud. Sebagai gantinya, gunakan Google Cloud CLI.

gcloud

  1. Buka manifes applySpec yang Anda buat selama penginstalan dengan Google Cloud CLI.

  2. Dalam manifes applySpec, tetapkan spec.configSync.enabled ke false:

    applySpecVersion: 1
    spec:
      configSync:
        enabled: false
    ...
    
  3. (hanya diperlukan untuk cluster yang menggunakan Upgrade otomatis Sinkronisasi Konfigurasi) Di manifes applySpec, tetapkan spec.upgrades ke auto:

    applySpecVersion: 1
    spec:
      upgrades: auto
      configSync:
        enabled: false
    ...
    
  4. Terapkan perubahan:

      gcloud beta container fleet config-management apply \
          --membership=MEMBERSHIP_NAME \
          --config=CONFIG_YAML \
          --project=PROJECT_ID
    

    Ganti kode berikut:

    • MEMBERSHIP_NAME: menambahkan cluster terdaftar tempat Anda ingin menerapkan konfigurasi ini. Jika Anda mendaftarkan cluster di Konsol Google Cloud, nama keanggotaannya sama dengan nama cluster Anda.

    • CONFIG_YAML: menambahkan jalur ke file apply-spec.yaml.

    • PROJECT_ID: tambahkan project ID Anda.

Terraform

Jika Anda menggunakan Terraform untuk menginstal Config Sync menggunakan resource gke_hub_feature_membership dari Penyedia Google Cloud Platform, update resource tersebut untuk meng-uninstal Config Sync.

  1. Identifikasi resource gke_hub_feature_membership di file konfigurasi Terraform Anda yang memiliki argumen configmanagement yang terisi.

  2. Perbarui resource gke_hub_feature_membership untuk menghapus argumen config_sync dari configmanagement.

    Contoh:

    resource "google_gke_hub_feature_membership" "feature_member" {
      location = "global"
      feature = google_gke_hub_feature.feature.name
      membership = google_gke_hub_membership.membership.membership_id
      membership_location = google_gke_hub_membership.membership.location
      configmanagement {
        version = "1.17.0"
      }
    }
    
  3. Terapkan konfigurasi Terraform:

    terraform apply
    

    Konfirmasi bahwa Anda ingin menerapkan tindakan yang dijelaskan dengan memasukkan yes.

Config Connector

Jika Anda menggunakan Config Connector untuk menginstal Config Sync menggunakan resource GKEHubFeatureMembership, perbarui resource tersebut untuk meng-uninstal Config Sync.

  1. Identifikasi objek resource GKEHubFeatureMembership di cluster Anda yang memiliki kolom .spec.configmanagement.configSync yang terisi.

  2. Tambahkan patch objek resource GKEHubFeatureMembership untuk menghapus kolom .spec.configmanagement.configSync dengan menyetelnya ke null:

    kubectl patch GKEHubFeatureMembership FEATURE_MEMBERSHIP_OBJECT_NAME \
        --namespace FEATURE_MEMBERSHIP_OBJECT_NAMESPACE \
        -p '{"spec":{"configmanagement":{"configSync": null}}}'
    

    Ganti kode berikut:

    • FEATURE_MEMBERSHIP_OBJECT_NAME: menambahkan nama objek resource GKEHubFeatureMembership yang Anda buat sebelumnya.

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: menambahkan namespace yang berisi objek resource GKEHubFeatureMembership yang telah Anda buat sebelumnya.

Nonaktifkan Config Management di perangkat Anda

Konsol

  1. Di konsol Google Cloud, buka halaman Feature Manager.

    Buka Feature Manager

  2. Di baris Config Management pada tabel Features, klik Details. Halaman Ringkasan status akan muncul.

  3. Klik Disable Config Management. Halaman konfirmasi akan muncul.

  4. Di halaman konfirmasi, klik Disable Config Management.

gcloud

  1. Untuk menonaktifkan Config Management pada semua cluster dalam fleet, jalankan perintah berikut:

    gcloud beta container fleet config-management disable
    

Terraform

Jika Anda menggunakan Terraform untuk mengaktifkan fitur Config Management di fleet Anda menggunakan resource google_gke_hub_feature dari Google Cloud Platform Provider, perbarui resource tersebut untuk menonaktifkan Config Management di semua cluster dalam fleet.

  1. Update file HCL yang berisi resource google_gke_hub_feature untuk menghapus resource google_gke_hub_feature.

  2. Jika Anda masih memiliki resource gke_hub_feature_membership yang ditentukan dengan kolom feature yang merujuk ke google_gke_hub_feature yang dihapus, hapus juga resource gke_hub_feature_membership tersebut.

  3. Terapkan konfigurasi Terraform:

    terraform apply
    

    Konfirmasi bahwa Anda ingin menerapkan tindakan yang dijelaskan dengan memasukkan yes.

Config Connector

Jika Anda menggunakan Config Connector untuk mengaktifkan fitur Config Management di fleet menggunakan resource GKEHubFeature, perbarui resource tersebut untuk menonaktifkan Config Management di semua cluster di fleet.

  1. Identifikasi objek resource GKEHubFeature di cluster Anda yang memiliki nilai .spec.resourceID sebesar configmanagement.

  2. Jika masih ada objek resource GKEHubFeatureMembership yang ditentukan dengan kolom .spec.featureRef yang mereferensikan objek resource GKEHubFeature tersebut, hapus objek tersebut:

    kubectl delete GKEHubFeatureMembership FEATURE_MEMBERSHIP_OBJECT_NAME \
        --namespace FEATURE_MEMBERSHIP_OBJECT_NAMESPACE
    

    Ganti kode berikut:

    • FEATURE_MEMBERSHIP_OBJECT_NAME: menambahkan nama objek resource GKEHubFeatureMembership yang Anda buat sebelumnya.

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: menambahkan namespace yang berisi objek resource GKEHubFeatureMembership yang telah Anda buat sebelumnya.

  3. Hapus resource GKEHubFeature dari cluster Anda:

    kubectl delete GKEHubFeature FEATURE_OBJECT_NAME \
        --namespace FEATURE_OBJECT_NAMESPACE
    

    Ganti kode berikut:

    • FEATURE_OBJECT_NAME: menambahkan nama objek resource GKEHubFeature yang telah Anda buat sebelumnya.

    • FEATURE_OBJECT_NAMESPACE: menambahkan namespace yang berisi objek resource GKEHubFeature yang telah Anda buat sebelumnya.

Meng-uninstal Operator ConfigManagement

Gunakan kubectl untuk menghapus Operator ConfigManagement setelah Anda menonaktifkan fitur Pengelolaan Konfigurasi pada fleet atau membatalkan pendaftaran cluster Anda dari fleet.

Untuk menghapus ConfigManagement Operator, jalankan perintah berikut:

  1. Hapus objek ConfigManagement dari cluster:

    kubectl delete configmanagement --all
    

    Setelah Anda menjalankan perintah ini, hal-hal berikut akan terjadi:

    • Setiap ClusterRoles dan ClusterRoleBindings yang dibuat di cluster oleh ConfigManagement Operator akan dihapus dari cluster.
    • Semua konfigurasi pengontrol penerimaan yang diinstal oleh ConfigManagement Operator akan dihapus.
    • Konten namespace config-management-system akan dihapus, dengan pengecualian Secret git-creds, dan untuk versi Config Sync mulai 1.9.0, Deployment config-management-operator, dan Pod config-management-operator. ConfigManagement Operator tidak dapat berfungsi tanpa namespace config-management-system. Setiap CustomResourceDefinitions (CRD) yang dibuat atau diubah oleh pengontrol Operator ConfigManagement akan dihapus dari cluster tempat cluster tersebut dibuat atau diubah. CRD yang diperlukan untuk menjalankan ConfigManagement Operator masih ada karena dari sudut pandang Kubernetes, CRD tersebut ditambahkan oleh pengguna yang menginstal ConfigManagement Operator. Informasi tentang penghapusan komponen ini dibahas pada langkah berikutnya.
  2. Jika Anda perlu mempertahankan Rahasia git-creds, lakukan sekarang:

    kubectl -n config-management-system get secret git-creds -o yaml
    
  3. Hapus namespace config-management-system:

    kubectl delete ns config-management-system
    
  4. Hapus namespace config-management-monitoring:

    kubectl delete ns config-management-monitoring
    
  5. Hapus ConfigManagement CustomResourceDefinition:

    kubectl delete crd configmanagements.configmanagement.gke.io