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 do 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:
... 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 ...
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
. - Elimine a definição do ambiente
test
deenvs
, deixando apenas a definição prod. Por exemplo:... 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
- 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:
... 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
- Run this command to delete the specified components:
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
do elementoenvs
. 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 prod-delete.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.