Menghapus lingkungan

Topik ini menjelaskan cara menghapus lingkungan di Apigee hybrid. Lihat juga Tentang lingkungan dan grup lingkungan.

Tentang penghapusan lingkungan

Penghapusan lingkungan adalah kebalikan dari pembuatan lingkungan dan mencakup tugas-tugas berikut:

  • Hapus komponen runtime lingkungan dari cluster Anda dan hapus lingkungan dari file penggantian Anda.
  • Hapus lingkungan dari bidang pengelolaan menggunakan UI Apigee atau Delete environments API.

Cara menghapus lingkungan

Asumsikan bahwa Anda memiliki dua lingkungan, test dan prod. Dalam file penggantian, definisinya mungkin terlihat seperti ini:

...
envs:
  - name: test
    serviceAccountPaths:
      synchronizer: "your_keypath/PROJECT_ID-apigee-synchronizer.json"
      runtime: "your_keypath/PROJECT_ID-apigee-runtime.json"
      udca: "your_keypath/PROJECT_ID-apigee-udca.json"
  - name: prod
    serviceAccountPaths:
      synchronizer: "your_keypath/PROJECT_ID-apigee-synchronizer.json"
      runtime: "your_keypath/PROJECT_ID-apigee-runtime.json"
      udca: "your_keypath/PROJECT_ID-apigee-udca.json"
...

Untuk menghapus lingkungan prod, ikuti langkah-langkah berikut:

  1. Dapatkan kredensial autentikasi gcloud Anda:
    TOKEN=$(gcloud auth print-access-token)
  2. Sebagai tindakan pencegahan, lepaskan lingkungan dari setiap grup lingkungan yang terpasang. Tindakan ini akan menghentikan perutean traffic ke lingkungan sebelum Anda menghapus komponen runtime-nya.
    1. Cantumkan lampiran grup lingkungan dan catat name (ID lampiran) dari lampiran yang environment-nya adalah prod:

      Tidak ada residensi data

      curl -H "Authorization: Bearer $TOKEN" \
        "https://apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments"

      Residensi data

      curl -H "Authorization: Bearer $TOKEN" \
        "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments"

      Outputnya mirip dengan hal berikut ini:

      {
        "environmentGroupAttachments": [
          {
            "name": "f6f2958f-a0a1-4260-b9e9-80eead82ff1d",
            "environment": "prod",
            "createdAt": "1789700385118",
            "environmentGroupId": "ENV_GROUP"
          }
        ]
      }
    2. Hapus lampiran:

      Tidak ada residensi data

      curl -X DELETE -H "Authorization: Bearer $TOKEN" \
        "https://apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments/ATTACHMENT_ID"

      Residensi data

      curl -X DELETE -H "Authorization: Bearer $TOKEN" \
        "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/envgroups/ENV_GROUP/attachments/ATTACHMENT_ID"

    Dengan:

    • ORG_NAME adalah nama organisasi Apigee Anda.
    • ENV_GROUP adalah nama grup lingkungan.
    • ATTACHMENT_ID adalah lampiran name yang ditampilkan di langkah sebelumnya. ID ini adalah ID yang dihasilkan, bukan nama lingkungan.
    • CONTROL_PLANE_LOCATION adalah lokasi bidang kontrol organisasi Anda jika Anda menggunakan residensi data.

    Ulangi langkah-langkah ini untuk setiap grup lingkungan yang terhubung dengan lingkungan tersebut.

  3. Lakukan uji coba untuk menguji penghapusan komponen runtime:
    helm delete ENV_RELEASE_NAME -n APIGEE_NAMESPACE --dry-run
    
    • ENV_RELEASE_NAME adalah nama yang Anda gunakan untuk menginstal diagram apigee-env untuk lingkungan ini sebelumnya. Nama ini sering kali sama dengan nama lingkungan. Untuk mencantumkan nama rilis di namespace Anda, jalankan helm list -n APIGEE_NAMESPACE.
    • APIGEE_NAMESPACE adalah namespace tempat Anda menginstal Apigee hybrid, apigee secara default.

    Opsi --dry-run menyimulasikan uninstal tanpa menghapus apa pun, dan output-nya sama dengan output uninstal yang sebenarnya. Tidak seperti helm upgrade, helm delete tidak menerima nilai untuk --dry-run seperti --dry-run=server. Contoh:

    helm delete prod -n apigee --dry-run
    release "prod" uninstalled
  4. Jika uji coba bebas error, hapus komponen runtime:
    helm delete ENV_RELEASE_NAME -n APIGEE_NAMESPACE
    
  5. Buka file penggantian dan hapus definisi lingkungan prod dari envs, sehingga hanya menyisakan definisi test. Contoh:
    ...
    envs:
      - name: test
        serviceAccountPaths:
          synchronizer: "your_keypath/PROJECT_ID-apigee-synchronizer.json"
          runtime: "your_keypath/PROJECT_ID-apigee-runtime.json"
          udca: "your_keypath/PROJECT_ID-apigee-udca.json"
    ...
  6. Simpan file.
  7. Hapus lingkungan dari bidang pengelolaan. Anda dapat menggunakan UI Apigee atau Delete environments API.

    UI Apigee

    1. Di konsol Google Cloud , buka halaman Apigee > Management > Environments.

      Buka Environments

    2. Pilih project organisasi Apigee Anda.
    3. Di baris lingkungan prod, klik Tindakan > Hapus.

    API

    Tidak ada residensi data:

    curl -X DELETE -H "Authorization: Bearer $TOKEN" \
      "https://apigee.googleapis.com/v1/organizations/ORG_NAME/environments/prod"

    Residensi data:

    curl -X DELETE -H "Authorization: Bearer $TOKEN" \
      "https://CONTROL_PLANE_LOCATION-apigee.googleapis.com/v1/organizations/ORG_NAME/environments/prod"

    Panggilan akan menampilkan operasi yang berjalan lama. Penghapusan dapat memerlukan waktu beberapa menit.