Este tópico explica como eliminar ambientes. Para uma introdução, consulte o artigo Acerca dos ambientes e dos grupos de ambientes.
Acerca da eliminação de ambientes
Para eliminar um ambiente corretamente, tem de fazer várias alterações de configuração e aplicá-las ao cluster. Estas alterações incluem a remoção da definição do ambiente e das referências ao mesmo no ficheiro de substituições, a eliminação dos componentes synchronizer
, runtime
e udca
e, finalmente, a reaplicação das substituições para restaurar o cluster sem incluir o ambiente que quer eliminar.
O motivo pelo qual não pode eliminar apenas o ambiente num único passo é porque os outros elementos,
synchronizer
, runtime
,
e udca
estão ligados a cada ambiente através das respetivas configurações internas. Só pode eliminar um ambiente corretamente se
o eliminar e voltar a aplicá-lo.
Como eliminar um ambiente
Suponha que tem dois ambientes, test e prod. No ficheiro de substituições, as definições podem ter um aspeto semelhante ao seguinte:
... 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 ...
Para eliminar o ambiente prod, siga estes passos:
- Copie o ficheiro de substituições original, ou seja, o que contém as definições dos ambientes prod
e test, para um novo ficheiro com o nome, por exemplo,
prod-delete.yaml
. - Abra o
prod-delete.yaml
. - Eliminar a definição do ambiente
test
deenvs
evirtualhosts
, deixando apenas as definições de prod. Por exemplo:... 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 ...
- Remova tudo o resto de
prod-delete.yaml
, exceto a configuraçãocassandra
, se estiver presente:Depois de fazer as alterações acima, o ficheiro de substituições deve ter um aspeto semelhante ao seguinte:
... 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
- Execute este comando para eliminar os componentes especificados:
apigeectl delete -f prod-delete.yaml -c runtime, udca, synchronizer
- Abra o ficheiro de substituições original (o que inclui as definições do ambiente de teste e de produção).
- Elimine a definição do ambiente
prod
dos elementosenvs
evirtualhosts
. Só quer que a definição do ambientetest
esteja presente no ficheiro. - Aplique o ficheiro de substituições modificado ao seu cluster. Este comando recria os elementos eliminados e, como é omitido, não recria o ambiente
prod
.apigeectl apply -f original-overrides.yaml -c runtime, udca, synchronizer
Guarde as alterações.
- Abra um navegador e navegue para a IU híbrida em IU do Apigee.
- Remova o ambiente através dos passos descritos em "Elimine um ambiente existente na IU híbrida".
Ainda não terminou. Agora, tem de atualizar os ambientes na IU híbrida.