本主题介绍如何删除环境。如需了解简介,请参阅环境和环境组简介。
关于删除环境
要正确删除环境,您必须进行几项配置更改并将更改应用到集群。这些更改包括从替换文件中移除环境定义及引用,删除 synchronizer、runtime 和 udca 组件,最后重新应用覆盖以恢复集群,而无需包含您要删除的环境。
在一个步骤中无法仅删除环境,这是因为其他元素 synchronizer、runtime 和 udca 通过其内部配置连接到每个环境。只有通过删除它们并重新应用,您才能正确删除环境。
如何删除环境
假设您有两个环境,即 test 和 prod。在您的替换文件中,定义可能如下所示:
...
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 环境,请执行以下步骤:
- 将原始替换文件(包含 prod 和 test 环境定义的文件)复制到名为
prod-delete.yaml(举例)的新文件。 - 打开
prod-delete.yaml。 - 从
envs和virtualhosts中删除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 ... - 从
prod-delete.yaml中移除cassandra配置(如有)之外中的其他所有内容:完成上述更改后,您的替换文件应如下所示:
... 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 - 运行此命令以删除指定组件:
apigeectl delete -f prod-delete.yaml -c runtime, udca, synchronizer
- 打开原始替换文件(包含 test 和 prod 环境环境定义的文件)。
- 从
envs和virtualhosts元素中删除prod环境定义。您只希望test环境定义出现在文件中。 - 将修改后的替换文件应用于集群。此命令将重新创建已删除的元素,因为它被省略,而不会重新创建
prod环境。apigeectl apply -f original-overrides.yaml -c runtime, udca, synchronizer
保存更改。
- 打开浏览器,然后导航到 Apigee 界面上的混合界面。
- 按照在混合界面中删除现有环境中所述的步骤移除环境。
您尚未完成。现在,您必须在混合界面中更新环境。