環境を削除する

このトピックでは、環境を削除する方法について説明します。概要については、環境と環境グループについてをご覧ください。

環境の削除について

環境を適切に削除するには、一部の構成を変更して、それらをクラスタに適用する必要があります。この変更では、オーバーライド ファイルから環境定義とリファレンスを削除して、synchronizerruntimeudca の各コンポーネントを削除し、最後に、オーバーライドを再適用して、削除する環境を含めずにクラスタを復元します。

1 つのステップで環境を削除できない理由は、他の要素の synchronizerruntimeudca が内部構成を通してそれぞれの環境に接続されているためです。これらを削除して再適用するだけで環境を適切に削除できます。

環境を削除する方法

testprod という 2 つの環境があるとします。オーバーライド ファイル内の定義は次のようになります。

...
virtualhosts:
  - name: default-test
    hostAliases: ["api-test.example.com"]
    sslCertPath: ./certs/fullchain-test.pem
    sslKeyPath: ./certs/privkey-test.pem
      env: test
  - name: default-prod
    hostAliases: ["api.example.com"]
    sslCertPath: ./certs/fullchain.pem
    sslKeyPath: ./certs/privkey.pem
      env: prod
...
envs:
  - name: test
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
  - name: prod
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
...

prod 環境を削除する手順は次のとおりです。

  1. オリジナルのオーバーライド ファイル(prod 環境定義と test 環境定義の両方が格納されたファイル)を prod-delete.yaml などの新しいファイルにコピーします。
  2. prod-delete.yaml を開きます。
  3. envsvirtualhosts から test 環境定義を削除し、prod 定義のみを残します。例:
    ...
    virtualhosts:
      - name: default-prod
        hostAliases: ["api.example.com"]
        sslCertPath: ./certs/fullchain.pem
        sslKeyPath: ./certs/privkey.pem
          env: prod
    ...
    envs:
      - name: prod
        serviceAccountPaths:
          synchronizer: "your_keypath/synchronizer-manager-service-account.json
          udca: "your_keypath/analytic-agent-service-account.json
    ...
  4. 存在する場合は、cassandra 構成以外のすべてを prod-delete.yaml から削除します。

    上記の変更を行うと、オーバーライド ファイルは次のようになります。

    ...
    virtualhosts:
      - name: default-prod
        hostAliases: ["api.example.com"]
        sslCertPath: ./certs/fullchain.pem
        sslKeyPath: ./certs/privkey.pem
          env: prod
    
    envs:
      - name: prod
        serviceAccountPaths:
          synchronizer: "your_keypath/synchronizer-manager-service-account.json
          udca: "your_keypath/analytic-agent-service-account.json
    
    cassandra:
      replicaCount: 3
      resources:
        requests:
          cpu: 3500m
          memory: 7Gi
      storage:
        storageClass: pd-ssd
        capacity: 10Gi
  5. 次のコマンドを実行して、指定したコンポーネントを削除します。
    apigeectl delete -f prod-delete.yaml -c runtime, udca, synchronizer
  6. オリジナルのオーバーライド ファイル(test 環境定義と prod 環境定義の両方が格納されているファイル)を開きます。
  7. envs 要素と virtualhosts 要素から prod 環境定義を削除します。test 環境定義だけがファイル内に存在するようにします。
  8. 変更したオーバーライド ファイルをクラスタに適用します。このコマンドは、削除が行われた要素を再作成します。prod 環境は省略されているので再作成されません。
    apigeectl apply -f original-overrides.yaml -c runtime, udca, synchronizer
  9. 変更を保存します。

  10. まだ完了ではありません。ハイブリッド UI で環境を更新する必要があります。

  11. ブラウザを開き、Apigee UI でハイブリッド UI に移動します。
  12. ハイブリッド UI で既存の環境を削除するの手順に沿って環境を削除します。