Este procedimento abrange o upgrade da versão híbrida 1.10.x da Apigee para a versão híbrida 1.11.2 da Apigee e de versões anteriores da versão híbrida 1.11.x para a versão 1.11.2.
Use os mesmos procedimentos para upgrades de versão secundária (por exemplo, 1.10 para 1.11) e para upgrades de versão de patch (por exemplo, 1.11.0 para 1.11.2).
Se estiver fazendo upgrade da versão híbrida 1.9 ou posterior da Apigee, primeiro você precisará fazer upgrade para a versão híbrida 1.10 antes de fazer upgrade para a versão 1.11.2. Consulte as instruções sobre Como fazer upgrade da Apigee híbrida para a versão 1.10.
Como fazer upgrade para a versão 1.11.2
Os procedimentos para fazer upgrade da Apigee híbrida são organizados nas seguintes seções:
Pré-requisitos
Estas instruções de upgrade presumem que você tenha a Apigee híbrida versão 1.10.x instalada e queira fazer upgrade para a versão 1.11.2. 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.10.
Gráficos do Helm e apigeectl
Na versão 1.11, é possível instalar e gerenciar a Apigee híbrida com gráficos do Helm ou
apigeectl
. A Apigee recomenda usar o Helm para gerenciar sua instalação.
Como migrar da v1.10 para a v1.11 com o Helm com apigeectl
Para fazer upgrade para a Apigee híbrida v1.11 gerenciada pelo Helm de uma instalação
híbrida v1.10 gerenciada com apigeectl
:
- Primeiro, migre o Helm de instalação v1.10 seguindo as
instruções em Migrar a Apigee híbrida para gráficos do Helm do
apigeectl
. - Siga as instruções dos gráficos do Helm abaixo para fazer upgrade da sua instalação.
Preparar para fazer upgrade para a versão 1.11
Fazer backup da instalação híbrida (recomendado)
- Estas instruções usam a variável de ambiente APIGEE_HELM_CHARTS_HOME para o diretório no seu sistema de arquivos em que você instalou os gráficos do Helm. Se necessário, mude o diretório
para seu diretório e defina a variável com o seguinte comando:
export APIGEE_HELM_CHARTS_HOME=$PWD
echo $APIGEE_HELM_CHARTS_HOME
export APIGEE_HELM_CHARTS_HOME=$PWD
echo $APIGEE_HELM_CHARTS_HOME
set APIGEE_HELM_CHARTS_HOME=%CD%
echo %APIGEE_HELM_CHARTS_HOME%
- Faça uma cópia de backup do diretório
$APIGEE_HELM_CHARTS_HOME/
da versão 1.10. É possível usar qualquer processo de backup. Por exemplo, você pode criar um arquivotar
de todo o diretório com:tar -czvf $APIGEE_HELM_CHARTS_HOME/../apigee-helm-charts-v1.10-backup.tar.gz $APIGEE_HELM_CHARTS_HOME
- Faça o backup do banco de dados Cassandra seguindo as instruções em Backup e recuperação do Cassandra.
- Se você estiver usando arquivos de certificado de serviço (
.json
) em suas substituições para autenticar contas de serviço, verifique se os arquivos de certificado da conta de serviço estão no diretório de gráfico do Helm correto. Os gráficos do Helm não podem ler arquivos fora de cada diretório de gráfico.Esta etapa não será necessária se você estiver usando secrets do Kubernetes ou a Identidade da carga de trabalho para autenticar contas de serviço.
A tabela a seguir mostra o destino de cada arquivo da conta de serviço, dependendo do tipo de instalação:
Conta de serviço Nome padrão do arquivo Diretório do gráfico do Helm apigee-cassandra
PROJECT_ID-apigee-cassandra.json
$APIGEE_HELM_CHARTS_HOME/apigee-datastore/
apigee-logger
PROJECT_ID-apigee-logger.json
$APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
apigee-mart
PROJECT_ID-apigee-mart.json
$APIGEE_HELM_CHARTS_HOME/apigee-org/
apigee-metrics
PROJECT_ID-apigee-metrics.json
$APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
apigee-runtime
PROJECT_ID-apigee-runtime.json
$APIGEE_HELM_CHARTS_HOME/apigee-env
apigee-synchronizer
PROJECT_ID-apigee-synchronizer.json
$APIGEE_HELM_CHARTS_HOME/apigee-env/
apigee-udca
PROJECT_ID-apigee-udca.json
$APIGEE_HELM_CHARTS_HOME/apigee-org/
apigee-watcher
PROJECT_ID-apigee-watcher.json
$APIGEE_HELM_CHARTS_HOME/apigee-org/
Faça uma cópia do arquivo da conta de serviço
apigee-non-prod
em cada um dos seguintes diretórios:Conta de serviço Nome padrão do arquivo Diretórios de gráficos do Helm apigee-non-prod
PROJECT_ID-apigee-non-prod.json
$APIGEE_HELM_CHARTS_HOME/apigee-datastore/
$APIGEE_HELM_CHARTS_HOME/apigee-telemetry/
$APIGEE_HELM_CHARTS_HOME/apigee-org/
$APIGEE_HELM_CHARTS_HOME/apigee-env/
-
Verifique se o certificado TLS e os arquivos de chave (
.crt
,.key
e/ou.pem
) estão no diretório$APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/
.
Os exemplos nestas instruções usam a seguinte estrutura de diretórios. Talvez sua instalação seja diferente. Ajuste as instruções de acordo com a estrutura da instalação.
hybrid-v1.11-root-directory/ └── apigeectl/ └── config/ └── plugins/ └── templates/ └── tools/ └── hybrid-files/ └── overrides/ └── service-accounts/ └── certs/ hybrid-v1.10-root-directory/
- Estas instruções usam a variável de ambiente APIGEECTL_HOME para o diretório
no seu sistema de arquivos em que você instalou
apigeectl
. Se necessário, mude o diretório para seu 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%
- Faça uma cópia de backup do diretório
$APIGEECTL_HOME/
da versão 1.10. Por exemplo:tar -czvf $APIGEECTL_HOME/../apigeectl-v1.10-backup.tar.gz $APIGEECTL_HOME
- Faça o backup do banco de dados Cassandra seguindo as instruções em Backup e recuperação do Cassandra.
Fazer upgrade da versão do Kubernetes
Verifique a versão da plataforma do Kubernetes e, se necessário, faça upgrade para uma versão compatível com as versões híbridas 1.10 e 1.11. Siga a documentação da plataforma se precisar de ajuda.
Clique para expandir uma lista de plataformas compatíveis
1.10
|
1.11 | 1.12 | |||
---|---|---|---|---|---|
GKE em Google Cloud | 1.24.x
1.25.x 1.26.x 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.25.x
1.26.x 1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.26.x
1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
GKE na AWS | 1.13.x (K8s v1.24.x)
1.14.x (K8s v1.25.x) 1.26.x(12) 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.14.x (K8s v1.25.x)
1.26.x(12) 1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.26.x(12)
1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
GKE no Azure | 1.13.x
1.14.x 1.26.x(12) 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.14.x
1.26.x(12) 1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.26.x(12)
1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
Google Distributed Cloud (somente software) no VMware (1) (13) | 1.13.x
1.14.x 1.15.x (K8s v1.26.x) 1.16.x (K8s v1.27.x) 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.14.x
1.15.x (K8s v1.26.x) 1.16.x (K8s v1.27.x) 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.15.x (K8s v1.26.x)
1.16.x (K8s v1.27.x) 1.28.x(12) 1.29.x(≥ 1.12.1) |
||
Google Distributed Cloud (somente software) em bare metal (1) | 1.13.x
1.14.x (K8s v1.25.x) 1.15.x (K8s v1.26.x) 1.16.x (K8s v1.27.x) 1.27.x(12)(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.14.x
1.15.x (K8s v1.26.x) 1.16.x (K8s v1.27.x) 1.28.x(12)(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.15.x (K8s v1.26.x)
1.16.x (K8s v1.27.x) 1.28.x(12) 1.29.x(≥ 1.12.1) |
||
EKS(7) | 1.24.x
1.25.x 1.26.x 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.25.x
1.26.x 1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.26.x
1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
AKS(7) | 1.24.x
1.25.x 1.26.x 1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
1.25.x
1.26.x 1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
1.26.x
1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
OpenShift(7) | 4.11
4.12 4.14(≥ 1.10.5) 4.15(≥ 1.10.5) |
4.12
4.13 4.14 4.15(≥ 1.11.2) 4.16(≥ 1.11.2) |
4.12
4.13 4.14 4.15 4.16(≥ 1.12.1) |
||
Rancher Kubernetes Engine (RKE) |
v1.26.2+rke2r1
1.27.x(≥ 1.10.5) 1.28.x(≥ 1.10.5) |
v1.26.2+rke2r1
v1.27.x 1.28.x(≥ 1.11.2) 1.29.x(≥ 1.11.2) |
v1.26.2+rke2r1 v1.27.x 1.28.x 1.29.x(≥ 1.12.1) |
||
VMware Tanzu | N/A | N/A | v1.26.x | ||
Componentes |
1.10 | 1.11 | 1.12 | ||
Anthos Service Mesh | 1.17.x(10) | 1.18.x(10) | 1.19.x(10) | ||
JDK | JDK 11 | JDK 11 | JDK 11 | ||
cert-manager. |
1.10.x 1.11.x 1.12.x |
1.11.x 1.12.x 1.13.x |
1.11.x 1.12.x 1.13.x |
||
Cassandra | 3.11 | 3.11 | 4.0 | ||
Kubernetes | 1.24.x 1.25.x 1.26.x |
1.25.x 1.26.x 1.27.x |
1.26.x 1.27.x 1.28.x |
||
kubectl | 1.27.x 1.28.x 1.29.x |
||||
Helm | 3.10+ | 3.10+ | 3.14.2+ | ||
Driver CSI do Secret Store | 1.3.4 | 1.4.1 | |||
Vault | 1.13.x | 1.15.2 | |||
(1) No Anthos local (Google Distributed Cloud) versão 1.13, siga estas instruções para evitar conflitos com o (2) Suporte disponível para a Apigee híbrida versão 1.8.4 e mais recentes. (3) As datas de EOL oficiais da Apigee híbrida versões 1.10 e anteriores foram atingidas. Os patches mensais regulares não estão mais disponíveis. Essas versões não têm mais suporte oficial, exceto para clientes com exceções explícitas e oficiais para suporte contínuo. Outros clientes precisam fazer o upgrade. (4)O Anthos no local (Google Distributed Cloud) nas versões 1.12 e anteriores não tem suporte. Consulte a Política de suporte de versões do Distributed Cloud em Bare Metal e a lista de versões compatíveis do Distributed Cloud on VMware. (5)O Google Distributed Cloud em bare metal ou VMware requer o Anthos Service Mesh 1.14 ou mais recente. Recomendamos que você faça upgrade para a versão híbrida v1.8 e mude para o gateway de entrada da Apigee, que não requer mais a instalação do Anthos Service Mesh no cluster híbrido. (6) Suporte disponível para a versão híbrida da Apigee 1.8.4 e mais recentes. (7) Não há suporte na Apigee híbrida 1.8.4 e mais recentes. (8) Suporte disponível para a Apigee híbrida versão 1.7.6 e mais recentes. (9) Não há suporte na Apigee híbrida versão 1.8.5 e mais recentes. (10) O Anthos Service Mesh é instalado automaticamente com a Apigee híbrida 1.9 e mais recentes. (11) Suporte disponível para a Apigee híbrida versão 1.9.2 e mais recentes. (12) Agora os números de versão do GKE na AWS refletem as versões do Kubernetes. Consulte Suporte a versões e upgrades do GKE Enterprise para conferir detalhes da versão e os patches recomendados. (13) O Vault não é certificado em Google Distributed Cloud for VMware. (14) Suporte disponível para a Apigee híbrida versão 1.10.5 e mais recentes. (15) Suporte disponível para a Apigee híbrida versão 1.11.2 e mais recentes. (16) Suporte disponível para a Apigee híbrida versão 1.12.1 e mais recentes. |
Sobre os clusters anexados
Para a Apigee híbrida versão 1.7.x e anteriores, é necessário usar os clusters anexados do GKE quando você quer executar a Apigee híbrida em um contexto multicloud no Elastic Kubernetes Service (EKS), no Azure Kubernetes Service (AKS) ou em outro provedor de serviços de terceiros do Kubernetes com suporte. O anexo do cluster permite que o Google meça o uso do Anthos Service Mesh.
Para a versão híbrida da Apigee 1.8.x, os clusters anexados ao GKE são obrigatórios se você estiver usando o Anthos Service Mesh no seu gateway de entrada. Se você estiver usando o gateway de entrada da Apigee, os clusters anexados serão opcionais.
Instalar o ambiente de execução híbrido 1.11.2
Preparar-se para o upgrade de gráficos do Helm
- Faça a seguinte mudança no arquivo overrides.yaml para ativar os gráficos
apigee-operator
eapigee-env
para usar a tag correta,1.11.2-hotfix.2
:ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.11.2-hotfix.2" runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.11.2-hotfix.2"
Consulte as Notas da versão da Apigee 1.11.2-hotfix.2.
- Extraia os gráficos do Apigee Helm.
Os gráficos da Apigee híbrida são hospedados no Google Artifact Registry:
oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
Usando o comando
pull
, copie todos os gráficos da Apigee híbrida do Helm para o armazenamento local com o seguinte comando:export CHART_REPO=oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts
export CHART_VERSION=1.11.2
helm pull $CHART_REPO/apigee-operator --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-datastore --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-env --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-ingress-manager --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-org --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-redis --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-telemetry --version $CHART_VERSION --untar
helm pull $CHART_REPO/apigee-virtualhost --version $CHART_VERSION --untar
- Instale o cert-manager, se necessário.
Se você precisar fazer upgrade da versão do gerenciador de certificados, instale a nova versão com o seguinte comando:
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.11.1/cert-manager.yaml
- Instale os CRDs atualizados da Apigee:
-
Use o recurso de simulação
kubectl
executando o seguinte comando:kubectl apply -k apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false --dry-run
-
Depois de validar com o comando de simulação, execute o seguinte:
kubectl apply -k apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false
- Valide a instalação com o comando
kubectl get crds
:kubectl get crds | grep apigee
A resposta será semelhante a esta:
apigeedatastores.apigee.cloud.google.com 2023-10-09T14:48:30Z apigeedeployments.apigee.cloud.google.com 2023-10-09T14:48:30Z apigeeenvironments.apigee.cloud.google.com 2023-10-09T14:48:31Z apigeeissues.apigee.cloud.google.com 2023-10-09T14:48:31Z apigeeorganizations.apigee.cloud.google.com 2023-10-09T14:48:32Z apigeeredis.apigee.cloud.google.com 2023-10-09T14:48:33Z apigeerouteconfigs.apigee.cloud.google.com 2023-10-09T14:48:33Z apigeeroutes.apigee.cloud.google.com 2023-10-09T14:48:33Z apigeetelemetries.apigee.cloud.google.com 2023-10-09T14:48:34Z cassandradatareplications.apigee.cloud.google.com 2023-10-09T14:48:35Z
-
-
Verifique os identificadores nos nós do cluster. Por padrão, a Apigee programa pods de dados em nós com o rótulo
cloud.google.com/gke-nodepool=apigee-data
e os pods de ambiente de execução são programados em nós com o rótulocloud.google.com/gke-nodepool=apigee-runtime
. É possível personalizar os rótulos do pool de nós no arquivooverrides.yaml
.Para mais informações, consulte Como configurar pools de nós dedicados.
Instalar os gráficos do Helm da Apigee híbrida
- Caso contrário, acesse o diretório
APIGEE_HELM_CHARTS_HOME
. Execute os comandos a seguir nesse diretório. - Faça upgrade do operador/controlador da Apigee:
Simulação:
helm upgrade operator apigee-operator/ \ --install \ --create-namespace \ --namespace apigee-system \ -f
OVERRIDES_FILE \ --dry-runFaça upgrade do gráfico:
helm upgrade operator apigee-operator/ \ --install \ --create-namespace \ --namespace apigee-system \ -f
OVERRIDES_FILE Verifique a instalação do operador da Apigee:
helm ls -n apigee-system
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee-system 3 2023-06-26 00:42:44.492009 -0800 PST deployed apigee-operator-1.11.2 1.11.2
Para saber se ele está funcionando, confira a disponibilidade:
kubectl -n apigee-system get deploy apigee-controller-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 7d20h
- Faça upgrade do repositório de dados da Apigee:
Simulação:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace
apigee \ -fOVERRIDES_FILE \ --dry-runFaça upgrade do gráfico:
helm upgrade datastore apigee-datastore/ \ --install \ --namespace
apigee \ -fOVERRIDES_FILE Para saber se o
apigeedatastore
está em execução, confira o estado dele:kubectl -n apigee get apigeedatastore default
NAME STATE AGE default running 2d
- Faça upgrade da telemetria da Apigee:
Simulação:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace
apigee \ -fOVERRIDES_FILE \ --dry-runFaça upgrade do gráfico:
helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace
apigee \ -fOVERRIDES_FILE Para saber se ele está funcionando, confira o estado dele:
kubectl -n apigee get apigeetelemetry apigee-telemetry
NAME STATE AGE apigee-telemetry running 2d
- Faça o upgrade do Apigee Redis:
Simulação:
helm upgrade redis apigee-redis/ \ --install \ --namespace
apigee \ -fOVERRIDES_FILE \ --dry-runFaça upgrade do gráfico:
helm upgrade redis apigee-redis/ \ --install \ --namespace
apigee \ -fOVERRIDES_FILE Para saber se ele está funcionando, confira o estado dele:
kubectl -n apigee get apigeeredis default
NAME STATE AGE default running 2d
- Faça upgrade do gerenciador de entrada da Apigee:
Simulação:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace
apigee \ -fOVERRIDES_FILE \ --dry-runFaça upgrade do gráfico:
helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace
apigee \ -fOVERRIDES_FILE Para saber se ele está funcionando, confira a disponibilidade:
kubectl -n apigee get deployment apigee-ingressgateway-manager
NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 2d
- Faça upgrade da organização da Apigee:
Simulação:
helm upgrade
ORG_NAME apigee-org/ \ --install \ --namespaceapigee \ -fOVERRIDES_FILE \ --dry-runFaça upgrade do gráfico:
helm upgrade
ORG_NAME apigee-org/ \ --install \ --namespaceapigee \ -fOVERRIDES_FILE Para saber se ele está funcionando, confira o estado da respectiva organização:
kubectl -n apigee get apigeeorg
NAME STATE AGE apigee-org1-xxxxx running 2d
- Faça upgrade do ambiente.
É preciso instalar um ambiente de cada vez. Especifique o ambiente com
--set env=
ENV_NAME:Simulação:
helm upgrade
ENV_RELEASE_NAME apigee-env/ \ --install \ --namespaceapigee \ --set env=ENV_NAME \ -fOVERRIDES_FILE \ --dry-run- ENV_RELEASE_NAME é o nome com que você instalou anteriormente o gráfico
apigee-env
. Na versão híbrida v1.10, geralmente éapigee-env-ENV_NAME
. Na versão híbrida v1.11 e mais recentes, geralmente é ENV_NAME. - ENV_NAME é o nome do ambiente que você está fazendo upgrade.
- OVERRIDES_FILE é o novo arquivo de substituição para a v.1.11.2.
Faça upgrade do gráfico:
helm upgrade
ENV_RELEASE_NAME apigee-env/ \ --install \ --namespaceapigee \ --set env=ENV_NAME \ -fOVERRIDES_FILE Para saber se ele está funcionando, confira o estado do respectivo ambiente:
kubectl -n apigee get apigeeenv
NAME STATE AGE GATEWAYTYPE apigee-org1-dev-xxx running 2d
- ENV_RELEASE_NAME é o nome com que você instalou anteriormente o gráfico
-
Faça upgrade dos grupos de ambiente (
virtualhosts
).- É necessário fazer upgrade de um grupo de ambiente (virtualhost) por vez. Especifique o grupo de ambientes com
--set envgroup=
ENV_GROUP_NAME: Repita os seguintes comandos para cada grupo de ambientes mencionado no arquivo overrides.yaml:Simulação:
helm upgrade
ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespaceapigee \ --set envgroup=ENV_GROUP_NAME \ -fOVERRIDES_FILE \ --dry-runENV_GROUP_RELEASE_NAME é o nome com que você instalou anteriormente o gráfico
apigee-virtualhost
. Na versão híbrida v1.10, geralmente éapigee-virtualhost-ENV_GROUP_NAME
. Na versão 1.11 e mais recentes da versão híbrida, geralmente ele é ENV_GROUP_NAME.Faça upgrade do gráfico:
helm upgrade
ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespaceapigee \ --set envgroup=ENV_GROUP_NAME \ -fOVERRIDES_FILE - Verifique o estado da ApigeeRoute (AR).
A instalação de
virtualhosts
cria a ApigeeRouteConfig (ARC), que gera internamente a ApigeeRoute (AR) depois que o inspetor da Apigee extrai detalhes relacionados ao grupo de ambientes do plano de controle. Portanto, verifique se o estado de RA correspondente está em execução:kubectl -n apigee get arc
NAME STATE AGE apigee-org1-dev-egroup 2d
kubectl -n apigee get ar
NAME STATE AGE apigee-org1-dev-egroup-xxxxxx running 2d
- É necessário fazer upgrade de um grupo de ambiente (virtualhost) por vez. Especifique o grupo de ambientes com
-
Armazene o número da versão mais recente em uma variável usando o seguinte comando:
export VERSION=$(curl -s \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
export VERSION=$(curl -s \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt)
for /f "tokens=*" %a in ('curl -s ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt') ^ do set VERSION=%a
-
Verifique se a variável foi preenchida com um número de versão usando o seguinte comando: Se
você quiser usar uma versão diferente, salve-a em uma variável de ambiente.
echo $VERSION
Você verá a versão mais recente da Apigee híbrida:
1.11.2
- 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/$VERSION/apigeectl_linux_64.tar.gz
Mac 64 bits:
curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz
Windows 64 bit:
curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/%VERSION%/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.10/
mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.10/
rename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.10
-
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.10
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.11.2-xxxxxxx_linux_64
. Renomeie esse diretório paraapigeectl
usando o seguinte comando:mv
apigeectl_1.11.2-xxxxxxx_linux_64 apigeectlmv
apigeectl_1.11.2-xxxxxxx_mac_64 apigeectlrename
apigeectl_1.11.2-xxxxxxx_windows_64 apigeectl -
Altere para o diretório
apigeectl
:cd ./apigeectl
Esse diretório é o diretório inicial
apigeectl
. É lá que o comando executávelapigeectl
está localizado. - 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, mude o diretório para seu 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.11.2
- Crie um diretório
hybrid-base-directory/hybrid-files
e acesse-o. 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:mkdir $APIGEECTL_HOME/../hybrid-files
cd $APIGEECTL_HOME/../hybrid-files
mkdir $APIGEECTL_HOME/../hybrid-files
cd $APIGEECTL_HOME/../hybrid-files
mkdir %APIGEECTL_HOME%/../hybrid-files
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
-
Atualize os seguintes links simbólicos para
- Faça a seguinte mudança no arquivo overrides.yaml para permitir que o operador e o ambiente de execução usem a tag correta,
1.11.2-hotfix.2
:ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.11.2-hotfix.2" runtime: image: url: "gcr.io/apigee-release/hybrid/apigee-runtime" tag: "1.11.2-hotfix.2"
Consulte as Notas da versão da Apigee 1.11.2-hotfix.2.
- Faça uma inicialização a seco para verificar se há erros:
${APIGEECTL_HOME}/apigeectl init -f
OVERRIDES_FILE --dry-run=clientEm que OVERRIDES_FILE é o nome do arquivo de substituições, por exemplo,
./overrides/overrides.yaml
. - Se não houver erros, inicialize o híbrido 1.11.2:
$APIGEECTL_HOME/apigeectl init -f
OVERRIDES_FILE - Verifique o status da inicialização:
$APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE Em caso de sucesso, a saída vai ser:
All containers ready.
kubectl describe apigeeds -n apigee
Na saída, procure
State: running
. - Verifique se há erros com uma simulação do comando
apply
usando a sinalização--dry-run
:$APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE --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 sem produção, 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 antes de seguir para o 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_FILE --datastore - Verifique a conclusão:
$APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE Passe 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_FILE --telemetry$APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE - Acesse os componentes do Redis:
$APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE --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_FILE --org$APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE - 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_FILE --envENV_NAME $APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE Em 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_FILE --all-envs$APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE
- Ambiente por ambiente: aplique suas modificações em um ambiente por vez e verifique a conclusão. Repita
esta etapa para cada ambiente:
- Aplique as modificações para fazer upgrade dos componentes
virtualhosts
de telemetria e verificar a conclusão:$APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE --settings virtualhosts$APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE
Na maioria dos ambientes de produção, de demonstração ou experimental, é possível aplicar as substituições a todos os componentes de uma só vez. Se o ambiente de não produção for grande e complexo, ou imita frequentemente um ambiente de produção, use as instruções para fazer upgrade dos ambientes de produção.
- Verifique se você está no diretório
hybrid-files
. $APIGEECTL_HOME/apigeectl apply -f
OVERRIDES_FILE - Verifique o status:
$APIGEECTL_HOME/apigeectl check-ready -f
OVERRIDES_FILE
- Verifique se você está no diretório
Como reverter um upgrade
Siga estas etapas para reverter um upgrade anterior:
Para reverter para a versão anterior, use os gráficos de gráficos e o arquivo de substituições da instalação anterior.
- Crie a seguinte variável de ambiente:
- PREVIOUS_HELM_CHARTS_HOME: o diretório em que os gráficos anteriores do Helm da Apigee híbrida estão instalados. Você está revertendo essa versão.
- Reverter os virtualhosts. Repita o comando a seguir para cada grupo de ambientes
mencionado no arquivo de substituições.
helm upgrade
ENV_GROUP_RELEASE_NAME $PREVIOUS_HELM_CHARTS_HOME/apigee-virtualhost/ \ --namespaceapigee \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -fPREVIOUS_OVERRIDES_FILE ENV_GROUP_RELEASE_NAME é o nome com que você instalou anteriormente o gráfico
apigee-virtualhost
. Na versão híbrida v1.10, geralmente éapigee-virtualhost-ENV_GROUP_NAME
. Na versão 1.11 e mais recentes da versão híbrida, geralmente ele é ENV_GROUP_NAME. - Reverter ambientes Repita o comando a seguir para cada ambiente mencionado no arquivo de substituições.
helm upgrade apigee-env-
ENV_NAME $PREVIOUS_HELM_CHARTS_HOME/apigee-env/ \ --install \ --namespaceapigee \ --atomic \ --set env=ENV_NAME \ -fPREVIOUS_OVERRIDES_FILE ENV_RELEASE_NAME é o nome com que você instalou anteriormente o gráfico
apigee-env
. Na versão híbrida v1.10, geralmente éapigee-env-ENV_NAME
. Na versão 1.11 e mais recentes da versão híbrida, geralmente ele é ENV_NAME. - Reverter organização:
helm upgrade
ORG_NAME $PREVIOUS_HELM_CHARTS_HOME/apigee-org/ \ --install \ --namespaceapigee \ --atomic \ -fPREVIOUS_OVERRIDES_FILE - Reverter o Ingress Manager:
helm upgrade ingress-manager $PREVIOUS_HELM_CHARTS_HOME/apigee-ingress-manager/ \ --install \ --namespace
apigee \ --atomic \ -fPREVIOUS_OVERRIDES_FILE - Reverter o Redis:
helm upgrade redis $PREVIOUS_HELM_CHARTS_HOME/apigee-redis/ \ --install \ --namespace
apigee \ --atomic \ -fPREVIOUS_OVERRIDES_FILE - Reverter a telemetria da Apigee:
helm upgrade telemetry $PREVIOUS_HELM_CHARTS_HOME/apigee-telemetry/ \ --install \ --namespace
apigee \ --atomic \ -fPREVIOUS_OVERRIDES_FILE - Reverter o Apigee Datastore (o componente do banco de dados do Cassandra):
helm upgrade datastore $PREVIOUS_HELM_CHARTS_HOME/apigee-datastore/ \ --install \ --namespace
apigee \ --atomic \ -fPREVIOUS_OVERRIDES_FILE - Reverter o controlador da Apigee:
helm upgrade operator $PREVIOUS_HELM_CHARTS_HOME/apigee-operator/ \ --install \ --namespace apigee-system \ --atomic \ -f
PREVIOUS_OVERRIDES_FILE - Reverter as CRDs da Apigee híbrida:
kubectl apply -k $PREVIOUS_HELM_CHARTS_HOME/apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false
- 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
. Exemplo:export APIGEECTL_HOME=
PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY - Execute os seguintes comandos no diretório raiz da instalação que será revertida.
Use o arquivo de modificações original da versão para a qual você
quer reverter:
- No diretório de arquivos híbridos, execute
apigeectl apply
:$APIGEECTL_HOME
/apigeectl apply -fORIGINAL_OVERRIDES_FILE Em que ORIGINAL_OVERRIDES_FILE é o caminho relativo e o nome do arquivo de substituições para a instalação híbrida da versão anterior, por exemplo,
./overrides/overrides1.10.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 saída 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 o comando a seguir para anotar quais serão os novos valores de contagem da réplica para o
processador de mensagens após o upgrade. Se esses valores não corresponderem ao que você definiu
anteriormente, altere os valores no arquivo de substituições para corresponder à
configuração anterior.
apigeectl apply -f
ORIGINAL_OVERRIDES_FILE --dry-run=client --print-yaml --env ENV_NAME 2>/dev/null |grep "runtime:" -A 25 -B 1| grep "autoScaler" -A 2A saída será semelhante a esta:
autoScaler: minReplicas: 2 maxReplicas: 10
- Execute
apigeectl init
:$APIGEECTL_HOME
/apigeectl init -fORIGINAL_OVERRIDES_FILE
- No diretório de arquivos híbridos, execute