Meng-uninstal Config Sync

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

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

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

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. Di manifes applySpec, tetapkan spec.configSync.enabled ke false:

    applySpecVersion: 1
    spec:
      configSync:
        enabled: false
    ...
    
  3. (hanya diperlukan untuk cluster yang menggunakan upgrade otomatis Config Sync) Dalam 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 yang ingin Anda terapkan konfigurasinya. Jika Anda mendaftarkan cluster di Konsol Google Cloud, nama keanggotaannya sama dengan nama cluster Anda.

    • CONFIG_YAML: tambahkan jalur ke file apply-spec.yaml Anda.

    • 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, perbarui 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. Update 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. 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: tambahkan nama objek resource GKEHubFeatureMembership yang Anda buat sebelumnya.

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

Menonaktifkan Config Management di perangkat Anda

Konsol

  1. Di Konsol Google Cloud, buka halaman Feature Management GKE Enterprise di bagian Fleet Features.

    Buka Pengelolaan Fitur

  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 di semua cluster dalam fleet, jalankan perintah berikut:

    gcloud beta container fleet config-management disable
    

Terraform

Jika Anda menggunakan Terraform untuk mengaktifkan fitur Config Management pada fleet menggunakan resource google_gke_hub_feature dari Penyedia Google Cloud Platform, 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 mereferensikan 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 pada fleet menggunakan resource GKEHubFeature, maka perbarui resource tersebut untuk menonaktifkan Config Management di semua cluster dalam fleet.

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

  2. Jika Anda masih memiliki 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: tambahkan nama objek resource GKEHubFeatureMembership yang Anda buat sebelumnya.

    • FEATURE_MEMBERSHIP_OBJECT_NAMESPACE: menambahkan namespace yang berisi objek resource GKEHubFeatureMembership yang 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: tambahkan nama objek resource GKEHubFeature yang telah Anda buat sebelumnya.

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

Meng-uninstal Operator ConfigManagement

Gunakan kubectl untuk menghapus Operator ConfigManagement setelah Anda menonaktifkan fitur Config Management di fleet atau membatalkan pendaftaran cluster Anda dari fleet.

Untuk menghapus Operator ConfigManagement, jalankan perintah berikut:

  1. Hapus objek ConfigManagement dari cluster:

    kubectl delete configmanagement --all
    

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

    • Semua ClusterRoles dan ClusterRoleBindings yang dibuat di cluster oleh Operator ConfigManagement 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 Pengontrol Kebijakan, Config Sync, dan Pengontrol Konfigurasi mulai 1.9.0, Deployment config-management-operator, dan Pod config-management-operator. Operator ConfigManagement tidak dapat berfungsi tanpa namespace config-management-system. Semua CustomResourceDefinitions (CRD) yang dibuat atau diubah oleh pengontrol ConfigManagement Operator akan dihapus dari cluster tempat mereka dibuat atau diubah. CRD yang diperlukan untuk menjalankan ConfigManagement Operator masih ada karena dari sudut pandang Kubernetes, CRD ditambahkan oleh pengguna yang menginstal ConfigManagement Operator. Informasi tentang menghapus komponen ini dibahas di langkah berikutnya.
  2. Jika Anda perlu mempertahankan Secret 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