Menonaktifkan org hybrid

Dokumen ini menguraikan langkah-langkah untuk menonaktifkan org dari deployment hybrid. Menonaktifkan organisasi berarti menghapus semua data yang terkait dengan organisasi tersebut di semua pod Cassandra di semua cluster Kubernetes.

Batasan

Hanya satu organisasi yang dapat dinonaktifkan dalam satu waktu. Penonaktifan beberapa organisasi secara bersamaan tidak didukung.

Mendapatkan nama organisasi

Beberapa perintah dalam petunjuk ini mengharuskan Anda menggunakan nama org yang diformat dengan benar.

Untuk mendapatkan nama org yang akan digunakan dalam perintah di halaman ini:

  1. Ambil nama organisasi dari file overrides.yaml organisasi.
  2. Jika nama organisasi berisi tanda hubung ("-"), ganti dengan garis bawah ("_").

Petunjuk

Ikuti petunjuk berikut untuk menonaktifkan organisasi dari deployment hybrid.

  1. Mencadangkan org
    1. Jika belum diaktifkan, aktifkan pencadangan pada deployment hybrid. Dalam penyiapan multi-region, gunakan deployment hibrida yang beroperasi di region utama. Lihat Ringkasan pencadangan Cassandra untuk mengetahui informasi tentang pencadangan hybrid.
    2. Picu tugas pencadangan hybrid menggunakan perintah berikut:

      kubectl create job -n apigee --from=cronjob/apigee-cassandra-backup BACKUP_JOB_NAME

      BACKUP_JOB_NAME dapat berupa nama penampung yang valid.

    3. Setelah tugas pencadangan selesai, gunakan petunjuk "Periksa status tugas pencadangan" dan "Periksa log pencadangan" di Memantau pencadangan untuk memverifikasi keberhasilan pencadangan.

  2. (Opsional) Jika Anda telah mengonfigurasi Telemetri Apigee (Metrik dan Logger) di org yang akan dihapus, ikuti langkah-langkah berikut untuk mengonfigurasinya ulang sehingga data metrik dan log berlaku untuk org/project baru.
    1. Jalankan perintah ini untuk organisasi tempat Anda ingin mengirim data. Pastikan untuk menggunakan file overrides.yaml untuk org. Misalnya, jika org yang akan dihentikan adalah "test-dev", file overrides.yaml harus berisi kolom org org: test-dev.

      Helm

      helm upgrade telemetry apigee-telemetry/ \
        --namespace apigee \
        --atomic \
        -f OVERRIDES_FILE.yaml
      

      apigeectl

      $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE.yaml --telemetry
    2. Jalankan perintah ini, pastikan untuk menggunakan org/project yang benar:
      kubectl -n apigee get apigeetelemetry apigee-telemetry -oyaml | grep `gcpProjectID:`
  3. Hapus resource Kubernetes organisasi dari deployment hybrid.

    Helm

    1. Pastikan konteks saat ini adalah konteks yang benar untuk cluster Kubernetes sumber:
      kubectl config current-context

      Jika perlu, tetapkan konteks Kubernetes.

      Buat daftar konteks saat ini untuk melihat nama konteks setiap cluster:

      kubectl config get-contexts

      Tetapkan konteks ke cluster dan region yang ingin Anda nonaktifkan:

      kubectl config use-context CONTEXT_NAME

      Dengan CONTEXT_NAME adalah nama konteks untuk cluster dan region.

      Contoh:

          kubectl config get-contexts
          CURRENT   NAME                                                   CLUSTER                                                AUTHINFO                                               NAMESPACE
                    gke_example-org-1_us-central1_example-cluster-1        gke_example-org-1_us-central1_example-cluster-1        gke_example-org-1_us-central1_example-cluster-1        apigee
          *         gke_example-org-1_us-central1_example-cluster-2        gke_example-org-1_us-central1_example-cluster-2        gke_example-org-1_us-central1_example-cluster-2        apigee
                    gke_example-org-1_us-west1_example-cluster-2           gke_example-org-1_us-west1_example-cluster-2           gke_example-org-1_us-west1_example-cluster-2           apigee
      
          kubectl config use-context gke_example-org-1_us-west1_example-cluster-2
    2. Hapus virtualhost.

      Ulangi langkah ini untuk setiap grup lingkungan:

      helm -n apigee delete ENV_GROUP_NAME
      
    3. Hapus lingkungan. Ulangi langkah ini untuk setiap lingkungan:
      helm -n apigee delete ENV_NAME
      
    4. Hapus org Apigee.
      helm -n apigee delete ORG_NAME
      

    apigeectl

    Pastikan untuk menggunakan file overrides.yaml untuk org. Misalnya, jika org yang akan dihentikan adalah "test-dev", file overrides.yaml harus berisi kolom org org: test-dev.

    Untuk deployment hybrid multi-region, jalankan perintah ini terhadap setiap deployment hybrid di setiap region.

    kubectl config current-context # Verify the current context is the correct context for the hybrid deployment
    apigeectl check-ready -f overrides.yaml # Check the deployment status
    apigeectl delete --settings virtualhost -f overrides.yaml
    apigeectl check-ready -f overrides.yaml # Check the deployment status
    apigeectl delete --all-envs -f overrides.yaml
    apigeectl check-ready -f overrides.yaml # Check the deployment status
    apigeectl delete --org -f overrides.yaml
    apigeectl check-ready -f overrides.yaml # Check the deployment status
        
  4. Hapus data organisasi dari deployment hybrid. Setelah langkah ini selesai, semua data organisasi akan hilang dari deployment hybrid.
    1. Jalankan perintah exec ke pod apigee-cassandra-default-0:
      kubectl exec -it -n apigee apigee-cassandra-default-0 -- /bin/bash
    2. Jalankan perintah berikut. Salin daftar semua nama yang ditampilkan dalam output. Daftar ini akan diperlukan nanti.
      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -printf "%f\n"

      Lihat Mendapatkan nama org. untuk mengetahui petunjuk tentang cara menemukan dan menyiapkan ORG_NAME.

      Keluar dari pod apigee-cassandra-default-0.

    3. Buat pod klien debug Cassandra seperti yang dijelaskan dalam Membuat penampung klien untuk proses debug. Lanjutkan ke langkah berikutnya setelah mendapatkan perintah cqlsh.
    4. Jalankan perintah berikut di prompt cqlsh:
      desc keyspaces;

      Pastikan perintah ini tidak menampilkan error.

      Untuk setiap nama dalam daftar yang dibuat sebelumnya dari apigee apigee-cassandra-default-0, jalankan perintah berikut:

      drop keyspace ;

      Keluar dari pod klien debug Cassandra.

    5. Lakukan mulai ulang berkelanjutan pada semua pod Cassandra. Memulai ulang pod Cassandra dapat dilakukan dalam urutan apa pun selama hanya satu pod Cassandra yang dimulai ulang dalam satu waktu. Untuk deployment multi-region, lakukan rolling restart pada semua pod Cassandra di setiap region hybrid.

      Jalankan perintah berikut dan verifikasi bahwa statusnya menunjukkan "Running":

      kubectl get apigeeds -n apigee

      Mulai ulang satu pod Cassandra dengan perintah berikut:

      kubectl delete pod -n apigee CASSANDRA_POD_NAME

      Tunggu hingga pod mencapai status Running menggunakan:

      kubectl get pods -n apigee

      Mulai ulang pod Cassandra berikutnya.

    6. Setelah menjalankan perintah cqlsh, jalankan perintah berikut di semua pod Cassandra dalam deployment hybrid. Untuk deployment hibrida multi-region, jalankan perintah di semua pod Cassandra di semua region hibrida.
      kubectl exec -it -n apigee CASSANDRA_POD_NAME -- /bin/bash
      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2

      Lihat Mendapatkan nama org. untuk mengetahui petunjuk tentang cara menemukan dan menyiapkan ORG_NAME.

      find /opt/apigee/data/apigee-cassandra/ -iname '*ORG_NAME_hybrid' -type d -maxdepth 2 -exec rm -rf {} +
    7. Keluar dari pod Cassandra.