Como fazer upgrade para a versão 1.6.9.
Os procedimentos para fazer upgrade da Apigee híbrida são organizados nas seguintes seções:
- Faça o backup da instalação híbrida.
- Verifique sua versão do Kubernetes e faça upgrade conforme apropriado.
- Instale o ambiente de execução híbrido versão 1.6.9.
- Fazer upgrade do ASM.
Pré-requisito
Estas instruções para o upgrade presumem que você tem a Apigee híbrida 1.5 instalada e quer fazer upgrade para a versão 1.6.9. Se você estiver atualizando de uma versão anterior, consulte as instruções sobre Como fazer upgrade da Apigee híbrida para a versão 1.5.
Fazer upgrade para a versão 1.6
- Estas instruções usam a variável de ambiente
$APIGEECTL_HOME
para o diretório no seu sistema de arquivos em que o utilitárioapigeectl
está instalado. Se necessário,cd
no diretórioapigeectl
e defina a variável com o seguinte comando:export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
- (Recomendado) Faça uma cópia de backup do diretório
$APIGEECTL_HOME/
da versão 1.5. Por exemplo:tar -czvf $APIGEECTL_HOME/../apigeectl-v1.5-backup.tar.gz $APIGEECTL_HOME
- (Recomendado) Faça o backup do banco de dados do Cassandra seguindo as instruções em Backup e recuperação do Cassandra.
- Faça upgrade da plataforma do Kubernetes para as versões compatíveis com a versão híbrida 1.6.
Siga a documentação da plataforma se precisar de ajuda.
Clique para expandir uma lista de plataformas compatíveis
Versões da Apigee híbrida Plataformas
1.5 1.6 Anthos(3) (Google Cloud) 1.18.x
1.19.x1.19.x
1.20.x
1.21.xAnthos(3) (AWS) 1.6.x
1.7.x
1.8.x(1)1.7.x
1.8.x(1)
1.9.3+
1.10.xAnthos(3) (Azure) N/A 1.8.x Anthos(3) (no local: - VMware) 1.6.x
1.7.x
1.8.x(1)1.7.x
1.8.x(1)
1.9.3+
1.10.xAnthos(3) (Bare Metal) 1.6.x
1.7.x1.7.x
1.8.2+
1.9.3+
1.10.xAnthos(3) (clusters anexados - várias nuvens)
Versão do Kubernetes (EKS)1.18.x
1.19.x1.19.x
1.20.x
1.21.xAnthos(3) (clusters anexados - várias nuvens)
Versão do Kubernetes (AKS)1.18.x
1.19.x1.19.x
1.20.x
1.21.xAnthos(3) (clusters anexados - várias nuvens)
Versão do OpenShift4.5
4.6
4.74.6
4.7
4.8Anthos(3) (clusters anexados - várias nuvens)
Versão do Konvoy1.7.x 1.7.x Componentes
1.5 1.6 Anthos Service Mesh (ASM)(2) 1.7.x
1.8.x
1.9.x
1.12.x (para a Apigee híbrida 1.5 a partir da versão 1.5.9)1.9.x
1.10.x
1.12.x (versão 1.6.6 e mais recente da Apigee híbrida)JDK JDK 11 JDK 11 cert-manager. 1.2.0 1.2.0
1.5.4Cassandra 3.11.6 3.11.6 (1) Na versão 1.8.2 e mais recentes, siga as instruções deste documento: Conflito com o gerenciador de certificados ao fazer upgrade para a versão 1.8.2 ou mais recente.
(2) Instalar apenas Versões suportadas do ASM.
(3) Instalar apenas versões suportadas do Anthos.
- Se você estiver executando uma versão do
cert-manager
anterior à v1.5.4, precisará fazer upgrade para a v1.5.4.-
Verifique a versão atual do
cert-manager
usando o seguinte comando:kubectl -n cert-manager get deployment -o yaml | grep 'image:'
Algo semelhante ao seguinte é retornado:
image: quay.io/jetstack/cert-manager-controller:v1.5.4 image: quay.io/jetstack/cert-manager-cainjector:v1.5.4 image: quay.io/jetstack/cert-manager-webhook:v1.5.4
-
Remova as implantações usando este comando:
$ kubectl delete -n cert-manager deployment cert-manager cert-manager-cainjector cert-manager-webhook
-
Faça upgrade do
cert-manager
para a versão v1.5.4 usando o seguinte comando:$ kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.4/cert-manager.yaml
-
- Crie a conta de serviço
apigee-runtime
necessária para uso com tokens OAUTH do Google. Usar a ferramentacreate-service-account
:- Crie a conta de serviço:
./tools/create-service-account --env prod --profile apigee-runtime
- Adicione a nova conta de serviço ao arquivo
overrides.yaml
da Apigee:envs: - name: "
environment-name " … … … serviceAccountPaths: runtime: "path-to-service-account-file " … … …
- Crie a conta de serviço:
- Adicione a propriedade
udca.serviceAccountPath
no nível superior no arquivo de modificações, além da entrada emenvs
.udca
precisa aparecer nas suas substituições duas vezes, uma vez no nível do ambiente e uma vez no nível da organização, paralelamente comconnectAgent
,logger
,mart
,metrics
ewatcher
.Exemplo:
… … … metrics: serviceAccountPath: "
metrics-service-account-file " udca: serviceAccountPath: "udca-service-account-file " watcher: serviceAccountPath: "watcher-service-account-file " … … … - Opcional: se você planeja usar o Cloud Trace, verifique se a
conta de serviço
apigee-runtime
tem o papel do Google agente do Cloud Trace (roles/cloudtrace.agent
). Você pode fazer isso na IU Console do Cloud > IAM e administrador > Contas de serviço ou com os seguintes comandos:- Encontre o endereço de e-mail da conta de serviço
apigee-runtime
com o seguinte comando:gcloud iam service-accounts list --filter "apigee-runtime"
Se ele corresponder ao padrão
apigee-runtime@$ORG_NAME.iam.gserviceaccount.com
, use esse padrão na próxima etapa - Atribua o papel Agente do Cloud Trace à conta de serviço:
gcloud projects add-iam-policy-binding
$PROJECT_ID \ --member="serviceAccount:apigee-runtime@$PROJECT_ID .iam.gserviceaccount.com" \ --role="roles/cloudtrace.agent"Em que: $PROJECT_ID é o nome do projeto do Google Cloud em que a Apigee híbrida está instalada.
- Encontre o endereço de e-mail da conta de serviço
Instalar o ambiente de execução híbrido 1.6.9
- Verifique se você está no diretório base híbrido (o pai do diretório em que
o arquivo executável
apigeectl
está localizado):cd $APIGEECTL_HOME/..
-
Faça o download do pacote de lançamento do seu sistema operacional usando o seguinte comando. Selecione sua plataforma na tabela a seguir:
Linux de 64 bits:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.6.9/apigeectl_linux_64.tar.gz
Mac 64 bits:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.6.9/apigeectl_mac_64.tar.gz
Windows 64 bit:
curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.6.9/apigeectl_windows_64.zip
- Renomeie o diretório
apigeectl/
atual para um nome de diretório de backup. Exemplo:mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.5/
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.5/
rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.5
-
Extraia o conteúdo do arquivo gzip baixado para seu diretório base híbrido. O diretório base híbrido é aquele em que o diretório renomeado
apigeectl-v1.5
está localizado:tar xvzf
filename .tar.gz -C ./tar xvzf
filename .tar.gz -C ./tar xvzf
filename .zip -C ./ -
O conteúdo de tar é, por padrão, expandido em um diretório com a versão e a plataforma no nome. Por exemplo,
./apigeectl_1.6.9-d591b23_linux_64
. Renomeie esse diretório paraapigeectl
usando o seguinte comando:mv
directory-name-linux apigeectlmv
directory-name-mac apigeectlrename
directory-name-windows apigeectl -
Altere para o diretório
apigeectl
:cd ./apigeectl
O
apigeectl
executável está neste diretório. - Estas instruções usam a variável de ambiente
$APIGEECTL_HOME
para o diretório no seu sistema de arquivos em que o utilitárioapigeectl
está instalado. Se necessário,cd
no diretórioapigeectl
e defina a variável com o seguinte comando:export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
export APIGEECTL_HOME=$PWD
echo $APIGEECTL_HOME
set APIGEECTL_HOME=%CD%
echo %APIGEECTL_HOME%
- Verifique a versão de
apigeectl
com o comandoversion
:./apigeectl version
Version: 1.6.9
- Mova para o diretório
hybrid-base-directory/hybrid-files
. O diretóriohybrid-files
é onde estão localizados os arquivos de configuração, como os arquivos de substituição, certificados e contas de serviço. Por exemplo:cd $APIGEECTL_HOME/../hybrid-files
- Verifique se
kubectl
está definido para o contexto correto usando o seguinte comando. O contexto atual precisa ser definido como o cluster em que você está fazendo upgrade da Apigee híbrida.kubectl config get-contexts | grep \*
- No diretório
hybrid-files
:-
Atualize os seguintes links simbólicos para
$APIGEECTL_HOME
. Com esses links, você pode executar o comandoapigeectl
recém-instalado no diretóriohybrid-files
:ln -nfs
$APIGEECTL_HOME
/tools toolsln -nfs
$APIGEECTL_HOME
/config configln -nfs
$APIGEECTL_HOME
/templates templatesln -nfs
$APIGEECTL_HOME
/plugins plugins -
Para verificar se os links simbólicos foram criados corretamente, execute este comando e certifique-se de que
os caminhos do link apontam para os locais corretos:
ls -l | grep ^l
- Faça uma inicialização a seco para verificar se há erros:
${APIGEECTL_HOME}/apigeectl init -f ./overrides/
OVERRIDES .yaml --dry-run=clientEm que OVERRIDES é o nome do arquivo de substituições.
- Se não houver erros, inicialize o híbrido 1.6.9:
${APIGEECTL_HOME}/apigeectl init -f ./overrides/
OVERRIDES .yaml - Verifique o status da inicialização:
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/
OVERRIDES .yaml - Verifique erros com uma simulação do comando
apply
:${APIGEECTL_HOME}/apigeectl apply -f ./overrides/
OVERRIDES .yaml --dry-run=client - Se não houver erros, aplique as substituições. Selecione e siga as instruções para ambientes de
produção ou ambientes de demonstração/experimental, dependendo
da sua instalação.
Para ambientes de produção, você precisa fazer upgrade de cada componente híbrido individualmente e verificar o status do componente atualizado para o processo de confirmação do próximo componente.
- Verifique se você está no diretório
hybrid-files
. - Aplique as modificações para fazer upgrade do Cassandra:
${APIGEECTL_HOME}/apigeectl apply -f ./overrides/
OVERRIDES .yaml --datastore - Verifique a conclusão:
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/
OVERRIDES .yamlPasse para a próxima etapa somente quando os pods estiverem prontos.
- Aplique as modificações para fazer upgrade dos componentes de telemetria e verificar a conclusão:
${APIGEECTL_HOME}/apigeectl apply -f ./overrides/
OVERRIDES .yaml --telemetry${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/
OVERRIDES .yaml - Acesse os componentes do Redis:
${APIGEECTL_HOME}/apigeectl apply -f ./overrides/
OVERRIDES .yaml --redis - Aplique as modificações para fazer upgrade dos componentes no nível da organização (MART, Watcher e
Apigee Connect) e verifique a conclusão:
${APIGEECTL_HOME}/apigeectl apply -f ./overrides/
OVERRIDES .yaml --org${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/
OVERRIDES .yaml - Aplique as modificações para fazer upgrade dos seus ambientes. Você tem duas opções:
- Ambiente por ambiente: aplique suas modificações em um ambiente por vez e verifique a conclusão. Repita
esta etapa para cada ambiente:
${APIGEECTL_HOME}/apigeectl apply -f ./overrides/
OVERRIDES .yaml --envENV_NAME ${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/
OVERRIDES .yamlEm que ENV_NAME é o nome do ambiente que você está atualizando.
- Todos os ambientes de uma só vez: aplique suas modificações a todos os ambientes de uma só vez e verifique a conclusão:
${APIGEECTL_HOME}/apigeectl apply -f ./overrides/
OVERRIDES .yaml --all-envs${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/
OVERRIDES .yaml
- Ambiente por ambiente: aplique suas modificações em um ambiente por vez e verifique a conclusão. Repita
esta etapa para cada ambiente:
Na maioria dos ambientes experimentais ou de demonstração, é possível aplicar as modificações a todos os componentes de uma só vez. Se o ambiente de demonstração/experimental for grande e complexo ou for muito semelhante a um ambiente de produção, use as instruções para fazer upgrade de ambientes de produção.
- Verifique se você está no diretório
hybrid-files
. ${APIGEECTL_HOME}/apigeectl apply -f ./overrides/
OVERRIDES .yaml- Verifique o status:
${APIGEECTL_HOME}/apigeectl check-ready -f ./overrides/
OVERRIDES .yaml
- Verifique se você está no diretório
-
Atualize os seguintes links simbólicos para
Fazer upgrade do ASM para a versão 1.12
Execute o upgrade usando a documentação do ASM apropriada para sua plataforma:
As instruções para instalar e configurar o ASM variam de acordo com a plataforma. As plataformas são divididas nas seguintes categorias:
- GKE: clusters do Google Kubernetes Engine em execução no Google Cloud.
- Fora do Google Cloud: os clusters do Anthos são executados em:
- Clusters do Anthos no VMware (GKE On-Prem)
- Anthos em bare metal
- Clusters do Anthos no AWS
- Amazon EKS
- Outras plataformas do Kubernetes: clusters compatíveis criados e em execução em:
- AKS
- EKS
- OpenShift
Esta é a sequência de upgrade para a versão 1.12.9 do ASM para a instalação híbrida:
- prepare-se para o upgrade;
- instale a nova versão do ASM;
- exclua as implantações, os serviços e os webhooks da versão anterior do ASM da instalação atual;
- faça upgrade dos gateways e configure os novos webhooks.
Para fazer upgrade para a versão 1.12.9 do ASM para híbrido no GKE:
- Veja os requisitos em Fazer upgrade do Anthos Service Mesh, mas ainda não faça o upgrade.
- Antes de instalar a nova versão, determine a revisão atual. Você precisará
dessas informações para excluir as implantações, os serviços e os webhooks da versão anterior do ASM da
instalação atual. Use o seguinte comando para armazenar a
revisão atual do istiod em uma variável de ambiente:
export DELETE_REV=$(kubectl get deploy -n istio-system -l app=istiod -o jsonpath={.items[].metadata.labels.'istio\.io\/rev'}'{"\n"}') echo ${DELETE_REV}
- Crie um novo arquivo
overlay.yaml
ou verifique se ooverlay.yaml
atual contém o seguinte conteúdo:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: revision: asm-1129-3 components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: nodeSelector: # default node selector, if different or not using node selectors, change accordingly. cloud.google.com/gke-nodepool: apigee-runtime resources: requests: cpu: 1000m service: type: LoadBalancer loadBalancerIP:
STATIC_IP # If you do not have a reserved static IP, leave this out. ports: - name: http-status-port port: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}' - Siga as instruções nas seguintes seções da documentação do ASM:
- faça o download do asmcli;
- conceda permissões de administrador de cluster;
- Valide o projeto e o cluster;
- faça upgrade com recursos opcionais. Pare antes de iniciar a seção "Fazer upgrade dos gateways";
- exclua o webhook de mutação e valide o webhook:
cd
no diretório em que você instalouasmcli
;- armazene a nova revisão atual em uma variável de ambiente a ser usada no script
para excluir os webhooks:
UPGRADE_REV="asm-1129-3"
- crie um script de shell contendo os seguintes comandos:
#!/bin/bash set -ex PROJECT_ID="
YOUR_PROJECT_ID " CLUSTER_NAME="YOUR_CLUSTER_NAME " CLUSTER_LOCATION="YOUR_CLUSTER_LOCATION " kubectl label namespace istio-system istio.io/rev=${UPGRADE_REV} istio-injection- --overwrite kubectl rollout restart deployment -n istio-system kubectl apply -n istio-system -fPATH_TO_INGRESSGATEWAY istio-ingressgateway kubectl apply -n istio-system -fPATH_TO_INGRESSGATEWAY /istio-ingressgateway-connectors if [[ "${DELETE_REV}" != "${UPGRADE_REV}" ]]; then kubectl apply -f out/asm/istio/istiod-service.yaml kubectl delete deploy -l app=istio-ingressgateway,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete deploy -l app=istio-ingressgateway-connectors,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete ValidatingWebhookConfiguration -l app=istiod,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete MutatingWebhookConfiguration -l app=sidecar-injector,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete Service,Deployment,HorizontalPodAutoscaler,PodDisruptionBudget istiod-${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete IstioOperator installed-state-${DELETE_REV} -n istio-system --ignore-not-found=true fi - execute o script para excluir os webhooks atuais;
- siga as etapas em Fazer upgrade de gateways para criar os novos webhooks e alternar o tráfego para os novos gateways.
Estas instruções abrangem o upgrade do ASM em:
- Clusters do Anthos no VMware (GKE On-Prem)
- Anthos em bare metal
- Clusters do Anthos no AWS
- Amazon EKS
Esta é a sequência de upgrade para a versão 1.12.9 do ASM para a instalação híbrida:
- prepare-se para o upgrade;
- instale a nova versão do ASM;
- Exclua o webhook de mutação e o webhook de validação da instalação atual.
- faça upgrade dos gateways e configure os novos webhooks.
- Veja os requisitos em Fazer upgrade do Anthos Service Mesh, mas ainda não faça o upgrade.
- Antes de instalar a nova versão, determine a revisão atual. Você precisará
dessas informações para excluir o Webhook de validação e desativar o webhook
da instalação atual do ASM. Use o seguinte comando para armazenar a revisão
atual do istiod em uma variável de ambiente:
export DELETE_REV=$(kubectl get deploy -n istio-system -l app=istiod -o jsonpath={.items[].metadata.labels.'istio\.io\/rev'}'{"\n"}') echo ${DELETE_REV}
- Crie um novo arquivo
overlay.yaml
ou verifique se ooverlay.yaml
atual contém o seguinte conteúdo:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: revision: asm-1129-3 components: ingressGateways: - name: istio-ingressgateway enabled: true k8s: nodeSelector: # default node selector, if different or not using node selectors, change accordingly. cloud.google.com/gke-nodepool: apigee-runtime resources: requests: cpu: 1000m service: type: LoadBalancer loadBalancerIP:
STATIC_IP # If you do not have a reserved static IP, leave this out. ports: - name: http-status-port port: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443 values: gateways: istio-ingressgateway: runAsRoot: true meshConfig: accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}' - Siga as instruções nas seguintes seções da documentação do ASM:
- faça o download do asmcli;
- conceda permissões de administrador de cluster;
- Valide o projeto e o cluster;
- faça upgrade com recursos opcionais. Pare antes de iniciar a seção "Fazer upgrade dos gateways";
- exclua o webhook de mutação e valide o webhook:
cd
no diretório em que você instalouasmcli
;- armazene a nova revisão atual em uma variável de ambiente a ser usada no script
para excluir os webhooks:
UPGRADE_REV="asm-1129-3"
- crie um script de shell contendo os seguintes comandos:
#!/bin/bash set -ex PROJECT_ID="
YOUR_PROJECT_ID " CLUSTER_NAME="YOUR_CLUSTER_NAME " CLUSTER_LOCATION="YOUR_CLUSTER_LOCATION " gcloud config configurations activate ${PROJECT_ID} gcloud container clusters get-credentials ${CLUSTER_NAME} --region ${CLUSTER_LOCATION} --project ${PROJECT_ID} kubectl label namespace istio-system istio.io/rev=${UPGRADE_REV} istio-injection- --overwrite kubectl rollout restart deployment -n istio-system kubectl apply -n istio-system -fPATH_TO_INGRESSGATEWAY istio-ingressgateway kubectl apply -n istio-system -fPATH_TO_INGRESSGATEWAY /istio-ingressgateway-connectors if [[ "${DELETE_REV}" != "${UPGRADE_REV}" ]]; then kubectl apply -f out/asm/istio/istiod-service.yaml kubectl delete deploy -l app=istio-ingressgateway,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete deploy -l app=istio-ingressgateway-connectors,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete ValidatingWebhookConfiguration -l app=istiod,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete MutatingWebhookConfiguration -l app=sidecar-injector,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete Service,Deployment,HorizontalPodAutoscaler,PodDisruptionBudget istiod-${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete IstioOperator installed-state-${DELETE_REV} -n istio-system --ignore-not-found=true fi - execute o script para excluir os webhooks atuais;
- siga as etapas em Fazer upgrade de gateways para criar os novos webhooks e alternar o tráfego para os novos gateways.
Nestas instruções, o processo de upgrade da versão istio-1.12.9-asm.3 do Anthos Service Mesh (ASM) nos clusters anexados ao Anthos é igual ao de uma nova instalação.
Como preparar a instalação do Anthos Service Mesh
- exclua o webhook de mutação e o valide:
cd
no diretório em que você instalouasmcli
;- armazene a nova revisão atual em uma variável de ambiente a ser usada no script
para excluir os webhooks:
UPGRADE_REV="asm-1129-3"
- crie um script de shell contendo os seguintes comandos:
#!/bin/bash set -ex kubectl label namespace istio-system istio.io/rev=${UPGRADE_REV} istio-injection- --overwrite kubectl rollout restart deployment -n istio-system if [[ "${DELETE_REV}" != "${UPGRADE_REV}" ]]; then kubectl apply -f out/asm/istio/istiod-service.yaml kubectl apply -f
ASMCLI_OUTPUT_DIR /asm/istio/istiod-service.yamlASMCLI_OUTPUT_DIR /istioctl tag set default --revision ${UPGRADE_REV} kubectl delete deploy -l app=istio-ingressgateway,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete ValidatingWebhookConfiguration -l app=istiod,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete MutatingWebhookConfiguration -l app=sidecar-injector,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete Service,Deployment,HorizontalPodAutoscaler,PodDisruptionBudget istiod-${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete IstioOperator installed-state-${DELETE_REV} -n istio-system --ignore-not-found=true fi - execute o script para excluir os webhooks atuais;
- Faça o download do arquivo de instalação do Anthos Service Mesh no diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
- Faça o download do arquivo de assinatura e use openssl para verificar a
assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do arquivo em qualquer local no sistema. Por
exemplo, para extrair o conteúdo para o diretório de trabalho atual:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual, chamado
istio-1.12.9-asm.3
, que contém o seguinte:- Exemplos de aplicativos no diretório
samples
. - A ferramenta de linha de comando
istioctl
que você usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh estão no
diretório
manifests/profiles
.
- Exemplos de aplicativos no diretório
- Verifique se você está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Para facilitar, adicione as ferramentas que estão no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Faça o download do arquivo de instalação do Anthos Service Mesh no diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
- Faça o download do arquivo de assinatura e use openssl para verificar a
assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do arquivo em qualquer local no sistema. Por
exemplo, para extrair o conteúdo para o diretório de trabalho atual:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual, chamado
istio-1.12.9-asm.3
, que contém o seguinte:- Exemplos de aplicativos no diretório
samples
. - A ferramenta de linha de comando
istioctl
que você usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh estão no
diretório
manifests/profiles
.
- Exemplos de aplicativos no diretório
- Verifique se você está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Para facilitar, adicione as ferramentas que estão no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Faça o download do arquivo de instalação do Anthos Service Mesh no diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
- Faça o download do arquivo de assinatura e use openssl para verificar a
assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3.win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do arquivo em qualquer local no sistema. Por
exemplo, para extrair o conteúdo para o diretório de trabalho atual:
tar xzf istio-1.12.9-asm.3-win.zip
O comando cria um diretório de instalação no seu diretório de trabalho atual, chamado
istio-1.12.9-asm.3
, que contém o seguinte:- Exemplos de aplicativos no diretório
samples
. - A ferramenta de linha de comando
istioctl
que você usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh estão no
diretório
manifests\profiles
.
- Exemplos de aplicativos no diretório
- Verifique se você está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Para facilitar, adicione as ferramentas que estão no diretório \bin ao seu PATH:
set PATH=%CD%\bin:%PATH%
- Agora que o ASM Istio está instalado, verifique a versão de
istioctl
:istioctl version
- Crie um namespace chamado istio-system para os componentes do plano de controle:
kubectl create namespace istio-system
Como instalar o Anthos Service Mesh
- Edite seu arquivo
overlay.yaml
ou crie um novo com o seguinte conteúdo:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}' components: - enabled: true name: istio-ingressgateway k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- Instale o Anthos Service Mesh com
istioctl
usando o perfilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3" \ --filename overlayfile.yaml
A saída será semelhante a esta:
kubectl get pods -n istio-system NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1129-3-798ffb964-2ls88 1/1 Running 0 3m21s istiod-asm-1129-3-798ffb964-fnj8c 1/1 Running 1 3m21s
O argumento
--set revision
adiciona um rótulo de revisão no formatoistio.io/rev=asm-1129-3
a istiod. O rótulo de revisão é usado pelo webhook do injetor automático de sidecar para associar os sidecars injetados a uma revisão istiod específica. Para ativar a injeção automática de sidecar para um namespace, você precisa rotulá-lo com uma revisão que corresponda ao rótulo em istiod. - Verifique se a instalação foi concluída:
kubectl get svc -n istio-system
A saída será semelhante a esta:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1129-3 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
Nestas instruções, o processo de upgrade da versão istio-1.12.9-asm.3 do Anthos Service Mesh (ASM) nos clusters anexados ao Anthos é igual ao de uma nova instalação.
Como preparar a instalação do Anthos Service Mesh
- exclua o webhook de mutação e o valide:
cd
no diretório em que você instalouasmcli
;- armazene a nova revisão atual em uma variável de ambiente a ser usada no script
para excluir os webhooks:
UPGRADE_REV="asm-1129-3"
- crie um script de shell contendo os seguintes comandos:
#!/bin/bash set -ex kubectl label namespace istio-system istio.io/rev=${UPGRADE_REV} istio-injection- --overwrite kubectl rollout restart deployment -n istio-system kubectl apply -n istio-system -f
PATH_TO_INGRESSGATEWAY istio-ingressgateway if [[ "${DELETE_REV}" != "${UPGRADE_REV}" ]]; then kubectl apply -f out/asm/istio/istiod-service.yaml kubectl delete deploy -l app=istio-ingressgateway,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete deploy -l app=istio-ingressgateway-connectors,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete ValidatingWebhookConfiguration -l app=istiod,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete MutatingWebhookConfiguration -l app=sidecar-injector,istio.io/rev=${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete Service,Deployment,HorizontalPodAutoscaler,PodDisruptionBudget istiod-${DELETE_REV} -n istio-system --ignore-not-found=true kubectl delete IstioOperator installed-state-${DELETE_REV} -n istio-system --ignore-not-found=true fi - execute o script para excluir os webhooks atuais;
- Conceda a restrição de contexto de segurança
anyuid
(SCC) ao istio-system com o seguinte comando da CLI do OpenShift (oc
):oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Faça o download do arquivo de instalação do Anthos Service Mesh no diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz
- Faça o download do arquivo de assinatura e use openssl para verificar a
assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig
openssl dgst -verify /dev/stdin -signature istio-1.12.9-asm.3-linux-amd64.tar.gz.1.sig istio-1.12.9-asm.3.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do arquivo em qualquer local no sistema. Por
exemplo, para extrair o conteúdo para o diretório de trabalho atual:
tar xzf istio-1.12.9-asm.3-linux-amd64.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual, chamado
istio-1.12.9-asm.3
, que contém o seguinte:- Exemplos de aplicativos no diretório
samples
. - A ferramenta de linha de comando
istioctl
que você usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh estão no
diretório
manifests/profiles
.
- Exemplos de aplicativos no diretório
- Verifique se você está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Para facilitar, adicione as ferramentas que estão no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Conceda a restrição de contexto de segurança
anyuid
(SCC) ao istio-system com o seguinte comando da CLI do OpenShift (oc
):oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Faça o download do arquivo de instalação do Anthos Service Mesh no diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz
- Faça o download do arquivo de assinatura e use openssl para verificar a
assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-osx.tar.gz.1.sig
openssl dgst -sha256 -verify /dev/stdin -signature istio-1.12.9-asm.3-osx.tar.gz.1.sig istio-1.12.9-asm.3.tar.gz <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do arquivo em qualquer local no sistema. Por
exemplo, para extrair o conteúdo para o diretório de trabalho atual:
tar xzf istio-1.12.9-asm.3-osx.tar.gz
O comando cria um diretório de instalação no seu diretório de trabalho atual, chamado
istio-1.12.9-asm.3
, que contém o seguinte:- Exemplos de aplicativos no diretório
samples
. - A ferramenta de linha de comando
istioctl
que você usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh estão no
diretório
manifests/profiles
.
- Exemplos de aplicativos no diretório
- Verifique se você está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Para facilitar, adicione as ferramentas que estão no diretório /bin ao seu PATH:
export PATH=$PWD/bin:$PATH
- Conceda a restrição de contexto de segurança
anyuid
(SCC) ao istio-system com o seguinte comando da CLI do OpenShift (oc
):oc adm policy add-scc-to-group anyuid system:serviceaccounts:istio-system
- Faça o download do arquivo de instalação do Anthos Service Mesh no diretório de trabalho atual:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip
- Faça o download do arquivo de assinatura e use openssl para verificar a
assinatura:
curl -LO https://storage.googleapis.com/gke-release/asm/istio-1.12.9-asm.3-win.zip.1.sig
openssl dgst -verify - -signature istio-1.12.9-asm.3-win.zip.1.sig istio-1.12.9-asm.3.win.zip <<'EOF'
-----BEGIN PUBLIC KEY----- MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEWZrGCUaJJr1H8a36sG4UUoXvlXvZ wQfk16sxprI2gOJ2vFFggdq3ixF2h4qNBt0kI7ciDhgpwS8t+/960IsIgw== -----END PUBLIC KEY----- EOF - Extraia o conteúdo do arquivo em qualquer local no sistema. Por
exemplo, para extrair o conteúdo para o diretório de trabalho atual:
tar xzf istio-1.12.9-asm.3-win.zip
O comando cria um diretório de instalação no seu diretório de trabalho atual, chamado
istio-1.12.9-asm.3
, que contém o seguinte:- Exemplos de aplicativos no diretório
samples
. - A ferramenta de linha de comando
istioctl
que você usa para instalar o Anthos Service Mesh está no diretóriobin
. - Os perfis de configuração do Anthos Service Mesh estão no
diretório
manifests\profiles
.
- Exemplos de aplicativos no diretório
- Verifique se você está no diretório raiz da instalação do Anthos Service Mesh:
cd istio-1.12.9-asm.3
- Para facilitar, adicione as ferramentas que estão no diretório \bin ao seu PATH:
set PATH=%CD%\bin:%PATH%
- Agora que o ASM Istio está instalado, verifique a versão de
istioctl
:istioctl version
- Crie um namespace chamado istio-system para os componentes do plano de controle:
kubectl create namespace istio-system
Como instalar o Anthos Service Mesh
- Edite seu arquivo
overlay.yaml
ou crie um novo com o seguinte conteúdo:apiVersion: install.istio.io/v1alpha1 kind: IstioOperator spec: meshConfig: accessLogFile: /dev/stdout enableTracing: true accessLogFormat: '{"start_time":"%START_TIME%","remote_address":"%DOWNSTREAM_DIRECT_REMOTE_ADDRESS%","user_agent":"%REQ(USER-AGENT)%","host":"%REQ(:AUTHORITY)%","request":"%REQ(:METHOD)% %REQ(X-ENVOY-ORIGINAL-PATH?:PATH)% %PROTOCOL%","request_time":"%DURATION%","status":"%RESPONSE_CODE%","status_details":"%RESPONSE_CODE_DETAILS%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","upstream_address":"%UPSTREAM_HOST%","upstream_response_flags":"%RESPONSE_FLAGS%","upstream_response_time":"%RESPONSE_DURATION%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_cluster":"%UPSTREAM_CLUSTER%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%","request_method":"%REQ(:METHOD)%","request_path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","request_protocol":"%PROTOCOL%","tls_protocol":"%DOWNSTREAM_TLS_VERSION%","request_id":"%REQ(X-REQUEST-ID)%","sni_host":"%REQUESTED_SERVER_NAME%","apigee_dynamic_data":"%DYNAMIC_METADATA(envoy.lua)%"}' components: - enabled: true name: istio-ingressgateway k8s: service: type: LoadBalancer ports: - name: status-port port: 15021 targetPort: 15021 - name: http2 port: 80 targetPort: 8080 - name: https port: 443 targetPort: 8443
- Instale o Anthos Service Mesh com
istioctl
usando o perfilasm-multicloud
:istioctl install \ --set profile=asm-multicloud \ --set revision="asm-1129-3" \ --filename overlayfile.yaml
A saída será semelhante a esta:
kubectl get pods -n istio-system NAME READY STATUS RESTARTS AGE istio-ingressgateway-88b6fd976-flgp2 1/1 Running 0 3m13s istio-ingressgateway-88b6fd976-p5dl9 1/1 Running 0 2m57s istiod-asm-1129-3-798ffb964-2ls88 1/1 Running 0 3m21s istiod-asm-1129-3-798ffb964-fnj8c 1/1 Running 1 3m21s
O argumento
--set revision
adiciona um rótulo de revisão no formatoistio.io/rev=1.6.11-asm.1
a istiod. O rótulo de revisão é usado pelo webhook do injetor automático de sidecar para associar os sidecars injetados a uma revisão istiod específica. Para ativar a injeção automática de sidecar para um namespace, você precisa rotulá-lo com uma revisão que corresponda ao rótulo em istiod. - Verifique se a instalação foi concluída:
kubectl get svc -n istio-system
A saída será semelhante a esta:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istio-ingressgateway LoadBalancer 172.200.48.52 34.74.177.168 15021:30479/TCP,80:30030/TCP,443:32200/TCP,15012:32297/TCP,15443:30244/TCP 3m35s istiod ClusterIP 172.200.18.133 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 4m46s istiod-asm-1129-3 ClusterIP 172.200.63.220 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 3m43s
Como reverter um upgrade
Siga estas etapas para reverter um upgrade anterior:
- Limpe os jobs concluídos do namespace do ambiente de execução híbrido,
em que NAMESPACE é o namespace especificado no arquivo de modificações, se você especificou um namespace. Caso contrário, o namespace padrão
é
apigee
:kubectl delete job -n
NAMESPACE \ $(kubectl get job -nNAMESPACE \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}') - Limpe jobs concluídos do namespace
apigee-system
:kubectl delete job -n apigee-system \ $(kubectl get job -n apigee-system \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- Altere a variável
APIGEECTL_HOME
para apontar para o diretório que contém a versão original deapigeectl
. Por exemplo:export APIGEECTL_HOME=
PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY - No diretório raiz da instalação para a qual você quer reverter, execute
${APIGEECTL_HOME}/apigeectl apply
, verifique o status dos pods e execute${APIGEECTL_HOME}/apigeectl init
. Use o arquivo de modificações original da versão para a qual você quer reverter:- No diretório
hybrid-files
, execute${APIGEECTL_HOME}/apigeectl apply
:${APIGEECTL_HOME}/apigeectl apply -f ./overrides/
ORIGINAL_OVERRIDES .yaml
- Verifique o status dos seus pods.
kubectl -n
NAMESPACE get podsEm que NAMESPACE é seu namespace da Apigee híbrida.
- Verifique o status de
apigeeds
:kubectl describe apigeeds -n apigee
A resposta será semelhante a esta:
Status: Cassandra Data Replication: Cassandra Pod Ips: 10.8.2.204 Cassandra Ready Replicas: 1 Components: Cassandra: Last Successfully Released Version: Revision: v1-f8aa9a82b9f69613 Version: v1 Replicas: Available: 1 Ready: 1 Total: 1 Updated: 1 State: running Scaling: In Progress: false Operation: Requested Replicas: 0 State: running
Siga para a próxima etapa somente quando o ßpod
apigeeds
estiver em execução. - Execute
apigeectl init
:${APIGEECTL_HOME}/apigeectl init -f ./overrides/
ORIGINAL_OVERRIDES .yaml
- No diretório