删除环境

本主题介绍如何删除环境。如需了解简介,请参阅环境和环境组简介

关于删除环境

要正确删除环境,您必须进行几项配置更改并将更改应用到集群。这些更改包括从替换文件中移除环境定义,删除 synchronizerruntimeudca 组件,最后重新应用替换来恢复集群,而无需包含您要删除的环境。

在一个步骤中无法仅删除环境,这是因为其他元素 synchronizerruntimeudca 通过其内部配置连接到每个环境。只有通过删除它们并重新应用,您才能正确删除环境。

如何删除环境

假设您有两个环境,即 testprod。在您的替换文件中,定义可能如下所示:

...
envs:
  - name: test
    sslCertPath: "your_certpath/ingress-cert.crt"
    sslKeyPath: "your_keypath/ingress-key.key"
    hostAlias: "apitest.example.com"
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
  - name: prod
    sslCertPath: "your_certpath/ingress-cert.crt"
    sslKeyPath: "your_keypath/ingress-key.key"
    hostAlias: "apiprod.example.com"
    serviceAccountPaths:
      synchronizer: "your_keypath/synchronizer-manager-service-account.json
      udca: "your_keypath/analytic-agent-service-account.json
...

要删除 prod 环境,请执行以下步骤:

  1. 将原始替换文件(包含 prodtest 环境定义的文件)复制到名为 prod-delete.yaml(举例)的新文件。
  2. 打开 prod-delete.yaml
  3. envs 中删除 test 环境定义,仅保留 prod 定义。例如:
    ...
    envs:
      - name: prod
        sslCertPath: "your_certpath/ingress-cert.crt"
        sslKeyPath: "your_keypath/ingress-key.key"
        hostAlias: "apitest.example.com"
        serviceAccountPaths:
          synchronizer: "your_keypath/synchronizer-manager-service-account.json
          udca: "your_keypath/analytic-agent-service-account.json
  4. prod-delete.yaml 中移除 cassandra 配置(如有)之外中的其他所有内容:

    完成上述更改后,您的替换文件应如下所示:

    ...
    envs:
      - name: prod
        sslCertPath: "your_certpath/ingress-cert.crt"
        sslKeyPath: "your_keypath/ingress-key.key"
        hostAlias: "apitest.example.com"
        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 元素中删除 prod 环境定义。您只希望 test 环境定义出现在文件中。
  8. 将修改后的替换文件应用于集群。此命令将重新创建已删除的元素,因为它被省略,而不会重新创建 prod 环境。
    apigeectl apply -f prod-delete.yaml -c runtime, udca, synchronizer
  9. 保存更改。

  10. 您尚未完成。现在,您必须在混合界面中更新环境。

  11. 打开浏览器,然后导航到 Apigee 界面上的混合界面。
  12. 按照在混合界面中删除现有环境中所述的步骤移除环境。