Este procedimento abrange a atualização da versão 1.14.x do Apigee Hybrid para a versão 1.15.1 do Apigee Hybrid e de versões anteriores do Hybrid 1.15.x para a versão 1.15.1.
Use os mesmos procedimentos para atualizações de versões secundárias (por exemplo, da versão 1.14 para 1.15) e para atualizações de lançamentos de patches (por exemplo, da versão 1.15.0 para 1.15.1).
Se estiver a atualizar a partir da versão 1.13 ou anterior do Apigee Hybrid, tem de atualizar primeiro para a versão 1.14 antes de atualizar para a versão 1.15.1. Consulte as instruções para atualizar o Apigee Hybrid para a versão 1.14.
Alterações do Apigee Hybrid v1.14
Tenha em atenção as seguintes alterações:
- Rentabilização híbrida do Apigee: a partir da versão 1.15.1, o Apigee hybrid suporta agora taxas recorrentes, de recarga e de configuração para rentabilização. Para mais informações, consulte o artigo Ativar a rentabilização para o Apigee hybrid.
- Carateres universais (*) em basepaths de proxy: a partir da versão 1.15.1, a utilização de carateres universais é agora suportada em basepaths de proxy do Apigee. Para implementar esta alteração, siga o procedimento descrito no Problema conhecido 378686709.
- 
    Suporte de conteúdo útil de mensagens grande: a partir da versão 1.15 e também na versão de patch 1.14.2, o Apigee suporta agora conteúdos úteis de mensagens até 30 MB. Para mais informações, consulte:
    - Configure o suporte de payload de mensagens grandes no Apigee Hybrid
- runtime.resources.limits.memoryna referência da propriedade de configuração.
- runtime.resources.requests.memoryna referência da propriedade de configuração.
 
- Verificações de instanciação de classes mais rigorosas: o Apigee Hybrid,
    a política JavaCallout inclui agora segurança adicional durante a instanciação de classes Java. A medida de segurança melhorada impede a implementação de políticas que tentam direta ou indiretamente ações que requerem autorizações não permitidas.
    Na maioria dos casos, as políticas existentes continuam a funcionar como esperado, sem problemas. No entanto, existe a possibilidade de as políticas que dependem de bibliotecas de terceiros ou que têm código personalizado que aciona indiretamente operações que requerem autorizações elevadas serem afetadas. 
Para mais informações acerca das funcionalidades na versão híbrida 1.14, consulte as notas de lançamento do Apigee hybrid v1.14.0.
Pré-requisitos
Antes de atualizar para a versão híbrida 1.15, certifique-se de que a sua instalação cumpre os seguintes requisitos:
- Se a sua instalação híbrida estiver a executar uma versão anterior à v1.14, tem de atualizar para a versão 1.14 antes de atualizar para a v1.15. Consulte o artigo Atualizar o Apigee Hybrid para a versão 1.14.
- Versão do Helm v3.14.2 ou superior.
- kubectl: uma versão suportada do- kubectladequada para a versão da sua plataforma Kubernetes. Consulte o artigo Plataformas e versões suportadas:- kubectl.
- cert-manager: uma versão suportada do cert-manager. Consulte o artigo Plataformas e versões suportadas: cert-manager. Se necessário, atualize o cert-manager na secção Prepare-se para atualizar para a versão 1.15 abaixo.
Antes de atualizar para a versão 1.15.1: limitações e notas importantes
- O Apigee hybrid 1.15.1 apresenta um novo limite de proxies melhorado por ambiente que lhe permite implementar mais proxies e fluxos partilhados num único ambiente. Consulte o artigo Limites: proxies de API para compreender os limites do número de proxies e fluxos partilhados que pode implementar por ambiente. Esta funcionalidade só está disponível em organizações híbridas criadas recentemente e não pode ser aplicada a organizações atualizadas. Para usar esta funcionalidade, faça uma nova instalação do Hybrid 1.15.1 e crie uma nova organização. - Esta funcionalidade está disponível exclusivamente como parte do plano de subscrição de 2024 e está sujeita às autorizações concedidas ao abrigo dessa subscrição. Consulte o artigo Limites de proxy melhorados por ambiente para saber mais acerca desta funcionalidade. 
- A atualização para a versão 1.15 do Apigee Hybrid pode exigir um período de inatividade. - Quando atualiza o controlador do Apigee para a versão 1.15.1, todas as implementações do Apigee são reiniciadas progressivamente. Para minimizar o tempo de inatividade em ambientes híbridos de produção durante um reinício contínuo, certifique-se de que está a executar, pelo menos, dois clusters (na mesma ou numa região/centro de dados diferente). Desvie todo o tráfego de produção para um único cluster e coloque o cluster que está prestes a atualizar offline. Em seguida, avance com o processo de atualização. Repita o processo para cada cluster. - A Apigee recomenda que, assim que iniciar a atualização, atualize todos os clusters o mais rapidamente possível para reduzir as probabilidades de impacto na produção. Não existe um limite de tempo para a atualização de todos os clusters restantes depois de o primeiro ser atualizado. No entanto, até que todos os clusters restantes sejam atualizados, a cópia de segurança e o restauro do Cassandra não podem funcionar com versões mistas. Por exemplo, não é possível usar uma cópia de segurança do Hybrid 1.14 para restaurar uma instância do Hybrid 1.15. 
- Não é necessário suspender totalmente as alterações do plano de gestão durante uma atualização. Quaisquer suspensões temporárias necessárias às alterações do plano de gestão são indicadas nas instruções de atualização abaixo. 
Atualização para a versão 1.15.1: vista geral
Os procedimentos para atualizar o Apigee hybrid estão organizados nas seguintes secções:
Prepare-se para atualizar para a versão 1.15
Faça uma cópia de segurança da sua instalação híbrida
- Estas instruções usam a variável de ambiente APIGEE_HELM_CHARTS_HOME para o diretório
    no seu sistema de ficheiros onde instalou os gráficos Helm. Se necessário, altere o diretório
    para este diretório e defina a variável com o seguinte comando:
  Linuxexport APIGEE_HELM_CHARTS_HOME=$PWD echo $APIGEE_HELM_CHARTS_HOMEMac OSexport APIGEE_HELM_CHARTS_HOME=$PWD echo $APIGEE_HELM_CHARTS_HOMEWindowsset APIGEE_HELM_CHARTS_HOME=%CD% echo %APIGEE_HELM_CHARTS_HOME%
- Faça uma cópia de segurança do diretório 1.14
    $APIGEE_HELM_CHARTS_HOME/. Pode usar qualquer processo de cópia de segurança. Por exemplo, pode criar um ficheirotarde todo o diretório com:tar -czvf $APIGEE_HELM_CHARTS_HOME/../apigee-helm-charts-v1.14-backup.tar.gz $APIGEE_HELM_CHARTS_HOME
- Faça uma cópia de segurança da base de dados Cassandra seguindo as instruções em Cópia de segurança e recuperação do Cassandra.
- Se estiver a usar ficheiros de certificado de serviço (.json) nas suas substituições para autenticar contas de serviço, certifique-se de que os ficheiros de certificado de serviço residem no diretório do gráfico Helm correto. Os gráficos Helm não podem ler ficheiros fora do diretório de cada gráfico.Este passo não é obrigatório se estiver a usar segredos do Kubernetes ou a Workload Identity Federation para o GKE para autenticar contas de serviço. A tabela seguinte mostra o destino de cada ficheiro de conta de serviço, consoante o seu tipo de instalação: ProdConta de serviço Nome do ficheiro predefinido Diretório do gráfico Helm apigee-cassandraPROJECT_ID-apigee-cassandra.json$APIGEE_HELM_CHARTS_HOME/apigee-datastore/apigee-loggerPROJECT_ID-apigee-logger.json$APIGEE_HELM_CHARTS_HOME/apigee-telemetry/apigee-martPROJECT_ID-apigee-mart.json$APIGEE_HELM_CHARTS_HOME/apigee-org/apigee-metricsPROJECT_ID-apigee-metrics.json$APIGEE_HELM_CHARTS_HOME/apigee-telemetry/apigee-runtimePROJECT_ID-apigee-runtime.json$APIGEE_HELM_CHARTS_HOME/apigee-envapigee-synchronizerPROJECT_ID-apigee-synchronizer.json$APIGEE_HELM_CHARTS_HOME/apigee-env/apigee-udcaPROJECT_ID-apigee-udca.json$APIGEE_HELM_CHARTS_HOME/apigee-org/apigee-watcherPROJECT_ID-apigee-watcher.json$APIGEE_HELM_CHARTS_HOME/apigee-org/Não prodFaça uma cópia do ficheiro de conta de serviço apigee-non-prodem cada um dos seguintes diretórios:Conta de serviço Nome do ficheiro predefinido Diretórios de gráficos Helm apigee-non-prodPROJECT_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/
- 
    Certifique-se de que os ficheiros de chave e certificado TLS (.crt,.keye/ou.pem) residem no diretório$APIGEE_HELM_CHARTS_HOME/apigee-virtualhost/.
Atualize a versão do Kubernetes
Verifique a versão da sua plataforma Kubernetes e, se necessário, atualize-a para uma versão suportada pelo híbrido 1.14 e pelo híbrido 1.15. Siga a documentação da sua plataforma se precisar de ajuda.
Remova/atualize CRDs do Istio
  Durante a atualização a partir das versões 1.14.1 ou anteriores do Apigee hybrid, a presença de istio.iodefinições de recursos personalizados (CRDs) num cluster do Apigee hybrid pode causar falhas nas sondagens de prontidão nos contentores discovery dos pods apigee-ingressgateway-manager.
    Se o gateway.networking.k8s.io/v1 estiver instalado no seu cluster,a atualização do apigee-ingressgateway-manager pode falhar. Por exemplo, o gateway.networking.k8s.io/v1 é normalmente instalado em clusters executados no Google Distributed Cloud (apenas software) no bare metal v1.32 ou posterior.
Existem duas opções para corrigir estes problemas:
- Elimine os istio.ioCRDs se não estiver a usar o Istio para qualquer finalidade que não seja o Apigee no seu cluster.
- Atualize o apigee-ingressgateway-manager clusterrolepara adicionar autorizações paraistio.io.
Após cada uma das opções acima, tem de reiniciar os seus pods apigee-ingressgateway-manager.
  Consulte o problema conhecido 416634326 e o problema conhecido 419856132 para mais informações sobre CRDs e istio.iogateway.networking.k8s.io/v1 no Apigee hybrid.
- 
    Determine se tem istio.ioCRDs no seu cluster com o seguinte comando:kubectl get crd -o custom-columns=NAME:metadata.name | grep istio.io O resultado terá um aspeto semelhante ao seguinte se o cluster tiver istio.ioCRDs:kubectl get crd -o custom-columns=NAME:metadata.name | grep istio.ioauthorizationpolicies.security.istio.io destinationrules.networking.istio.io envoyfilters.networking.istio.io gateways.networking.istio.io peerauthentications.security.istio.io proxyconfigs.networking.istio.io requestauthentications.security.istio.io serviceentries.networking.istio.io sidecars.networking.istio.io telemetries.telemetry.istio.io virtualservices.networking.istio.io wasmplugins.extensions.istio.io workloadentries.networking.istio.io workloadgroups.networking.istio.io
- Opcional: guarde os CRDs localmente caso precise de os recriar:
    kubectl get crd $(cat istio-crd.csv) -o yaml > istio-crd.yaml 
Elimine CRDs
- 
          Liste os CRDs no seu cluster num ficheiro CSV:istio.iokubectl get crd -o custom-columns=NAME:metadata.name | grep istio.io > istio-crd.csv 
- Opcional: guarde os CRDs localmente caso precise de os recriar:
          kubectl get crd $(cat istio-crd.csv) -o yaml > istio-crd.yaml 
- 
          Elimine os CRDs istio.io:Execução de ensaio: kubectl delete crd $(cat istio-crd.csv) --dry-run=client Executar: kubectl delete crd $(cat istio-crd.csv) 
Atualize clusterrole
- 
            Obtenha o clusterrole apigee-ingressgateway-manager atual:
            kubectl get clusterrole apigee-ingressgateway-manager-apigee -o yaml > apigee-ingressgateway-manager-apigee-clusterrole.yaml 
- 
            Copie o clusterrole para uma nova localização:
            cp apigee-ingressgateway-manager-apigee-clusterrole.yaml apigee-ingressgateway-manager-apigee-clusterrole-added-istio-permissions.yaml 
- 
            Adicione as seguintes autorizações adicionais ao final do ficheiro:
            - apiGroups: - gateway.networking.k8s.io resources: - gatewayclasses - gateways - grpcroutes - httproutes - referencegrants verbs: - get - list - watch - apiGroups: - networking.istio.io resources: - sidecars - destinationrules - gateways - virtualservices - envoyfilters - workloadentries - serviceentries - workloadgroups - proxyconfigs verbs: - get - list - watch - apiGroups: - security.istio.io resources: - peerauthentications - authorizationpolicies - requestauthentications verbs: - get - list - watch - apiGroups: - telemetry.istio.io resources: - telemetries verbs: - get - list - watch - apiGroups: - extensions.istio.io resources: - wasmplugins verbs: - get - list - watch 
- 
            Aplique a função:
            kubectl -n APIGEE_NAMESPACE apply -f apigee-ingressgateway-manager-apigee-clusterrole-added-istio-permissions.yaml 
Depois de concluir as opções acima, tem de reiniciar os auriculares apigee-ingressgateway-manager.
- 
          Indique os pods ingress-managera reinstalar ou recriar:kubectl get deployments -n APIGEE_NAMESPACE Exemplo de saída: NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 32d apigee-ingressgateway-manager 2/2 2 2 32d 
- 
          Reinicie os auriculares ingress-manager:kubectl rollout restart deployment -n APIGEE_NAMESPACE apigee-ingressgateway-manager 
- 
          Após alguns minutos, monitorize os auriculares apigee-ingressgateway-manager:watch -n 10 kubectl -n APIGEE_NAMESPACE get pods -l app=apigee-ingressgateway-manager Exemplo de saída: NAME READY STATUS RESTARTS AGE apigee-ingressgateway-manager-12345abcde-678wx 3/3 Running 0 10m apigee-ingressgateway-manager-12345abcde-901yz 3/3 Running 0 10m 
Instale o runtime híbrido 1.15.1
Configure o pipeline de recolha de dados.
A partir da versão híbrida 1.14, o novo pipeline de dados de estatísticas e depuração é ativado por predefinição para todas as organizações híbridas do Apigee. Tem de seguir os passos para ativar o acesso do publicador do Analytics para configurar o fluxo de autorização.
Prepare-se para a atualização dos gráficos Helm
- Extraia os gráficos Helm do Apigee.
   
  Os gráficos híbridos do Apigee estão alojados no Google Artifact Registry: oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-chartsUse o comando pullpara copiar todos os gráficos Helm do Apigee hybrid para o seu armazenamento local com o seguinte comando:export CHART_REPO=oci://us-docker.pkg.dev/apigee-release/apigee-hybrid-helm-charts export CHART_VERSION=1.15.1helm pull $CHART_REPO/apigee-operator --version $CHART_VERSION --untarhelm pull $CHART_REPO/apigee-datastore --version $CHART_VERSION --untarhelm pull $CHART_REPO/apigee-env --version $CHART_VERSION --untarhelm pull $CHART_REPO/apigee-ingress-manager --version $CHART_VERSION --untarhelm pull $CHART_REPO/apigee-org --version $CHART_VERSION --untarhelm pull $CHART_REPO/apigee-redis --version $CHART_VERSION --untarhelm pull $CHART_REPO/apigee-telemetry --version $CHART_VERSION --untarhelm pull $CHART_REPO/apigee-virtualhost --version $CHART_VERSION --untar
- Atualize o cert-manager, se necessário.
    Se precisar de atualizar a versão do cert-manager, instale a nova versão com o seguinte comando: kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.17.4/cert-manager.yaml Consulte o artigo Plataformas e versões suportadas: cert-manager para ver uma lista das versões suportadas. 
- Se o seu espaço de nomes do Apigee não for apigee, edite o ficheiroapigee-operator/etc/crds/default/kustomization.yamle substitua o valornamespacepelo seu espaço de nomes do Apigee.apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization namespace: APIGEE_NAMESPACE Se estiver a usar apigeecomo espaço de nomes, não precisa de editar o ficheiro.
- Instale os CRDs do Apigee atualizados:
  
  
  
    - 
        Use a funcionalidade de teste de execução kubectlexecutando o seguinte comando:kubectl apply -k apigee-operator/etc/crds/default/ --server-side --force-conflicts --validate=false --dry-run=server 
- 
        Depois de fazer a validação com o comando de teste, execute o seguinte comando: 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 O resultado deve ter um aspeto semelhante ao seguinte: apigeedatastores.apigee.cloud.google.com 2024-08-21T14:48:30Z apigeedeployments.apigee.cloud.google.com 2024-08-21T14:48:30Z apigeeenvironments.apigee.cloud.google.com 2024-08-21T14:48:31Z apigeeissues.apigee.cloud.google.com 2024-08-21T14:48:31Z apigeeorganizations.apigee.cloud.google.com 2024-08-21T14:48:32Z apigeeredis.apigee.cloud.google.com 2024-08-21T14:48:33Z apigeerouteconfigs.apigee.cloud.google.com 2024-08-21T14:48:33Z apigeeroutes.apigee.cloud.google.com 2024-08-21T14:48:33Z apigeetelemetries.apigee.cloud.google.com 2024-08-21T14:48:34Z cassandradatareplications.apigee.cloud.google.com 2024-08-21T14:48:35Z 
 
- 
        
- 
    Verifique as etiquetas nos nós do cluster. Por predefinição, o Apigee agenda pods de dados em nós com a etiqueta cloud.google.com/gke-nodepool=apigee-datae os pods de tempo de execução são agendados em nós com a etiquetacloud.google.com/gke-nodepool=apigee-runtime. Pode personalizar as etiquetas do conjunto de nós no ficheirooverrides.yaml.Para mais informações, consulte o artigo Configurar pools de nós dedicados. 
Instale os gráficos Helm do Apigee Hybrid
- Se não o tiver feito, navegue para o diretório APIGEE_HELM_CHARTS_HOME. Execute os seguintes comandos a partir desse diretório.
- Atualize o operador/controlador do Apigee:
      
      Execução de ensaio: helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server Atualize o gráfico: helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE Valide a instalação do operador do Apigee: helm ls -n APIGEE_NAMESPACE NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator apigee 3 2024-08-21 00:42:44.492009 -0800 PST deployed apigee-operator-1.15.1 1.15.1 Verifique se está em funcionamento, verificando a respetiva disponibilidade: kubectl -n APIGEE_NAMESPACE get deploy apigee-controller-manager NAME READY UP-TO-DATE AVAILABLE AGE apigee-controller-manager 1/1 1 1 7d20h 
- Atualize o repositório de dados do Apigee:
      Execução de ensaio: helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server Atualize o gráfico: helm upgrade datastore apigee-datastore/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE Verifique se o apigeedatastoreestá em funcionamento verificando o respetivo estado:kubectl -n APIGEE_NAMESPACE get apigeedatastore default NAME STATE AGE default running 2d 
- Atualize a telemetria do Apigee:
      Execução de ensaio: helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server Atualize o gráfico: helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE Verifique se está a funcionar corretamente verificando o respetivo estado: kubectl -n APIGEE_NAMESPACE get apigeetelemetry apigee-telemetry NAME STATE AGE apigee-telemetry running 2d 
- Atualize o Redis do Apigee:
      Execução de ensaio: helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server Atualize o gráfico: helm upgrade redis apigee-redis/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE Verifique se está a funcionar corretamente verificando o respetivo estado: kubectl -n APIGEE_NAMESPACE get apigeeredis default NAME STATE AGE default running 2d 
- Atualize o Apigee Ingress Manager:
      Execução de ensaio: helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server Atualize o gráfico: helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE Verifique se está em funcionamento, verificando a respetiva disponibilidade: kubectl -n APIGEE_NAMESPACE get deployment apigee-ingressgateway-manager NAME READY UP-TO-DATE AVAILABLE AGE apigee-ingressgateway-manager 2/2 2 2 2d 
- Atualize a organização do Apigee:
      Execução de ensaio: helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE \ --dry-run=server Atualize o gráfico: helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace APIGEE_NAMESPACE \ -f OVERRIDES_FILE Verifique se está em funcionamento consultando o estado da organização respetiva: kubectl -n APIGEE_NAMESPACE get apigeeorg NAME STATE AGE apigee-org1-xxxxx running 2d 
- Atualize o ambiente.
      Tem de instalar um ambiente de cada vez. Especifique o ambiente com --set env=ENV_NAME.Execução de ensaio: helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE \ --dry-run=server - ENV_RELEASE_NAME é um nome usado para monitorizar a instalação e as atualizações do gráfico apigee-env. Este nome tem de ser exclusivo dos outros nomes de lançamentos do Helm na sua instalação. Normalmente, este valor é igual aENV_NAME. No entanto, se o seu ambiente tiver o mesmo nome que o seu grupo de ambientes, tem de usar nomes de lançamentos diferentes para o ambiente e o grupo de ambientes, por exemplo,dev-env-releaseedev-envgroup-release. Para mais informações sobre lançamentos no Helm, consulte Três conceitos importantes na documentação do Helm.
- ENV_NAME é o nome do ambiente que está a atualizar.
- OVERRIDES_FILE é o seu novo ficheiro de substituições para a versão 1.15.1
 Atualize o gráfico: helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE Verifique se está em funcionamento verificando o estado do ambiente respetivo: kubectl -n APIGEE_NAMESPACE get apigeeenv NAME STATE AGE GATEWAYTYPE apigee-org1-dev-xxx running 2d 
- ENV_RELEASE_NAME é um nome usado para monitorizar a instalação e as atualizações do gráfico 
- 
        Atualize os grupos de ambientes (virtualhosts).- Tem de atualizar um grupo de ambientes (virtualhost) de cada vez. Especifique o grupo
          do ambiente com --set envgroup=ENV_GROUP_NAME. Repita os seguintes comandos para cada grupo de ambientes mencionado no ficheiro overrides.yaml:Execução de ensaio: helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE \ --dry-run=server ENV_GROUP_RELEASE_NAME é o nome com o qual instalou anteriormente o gráfico apigee-virtualhost. Normalmente, é ENV_GROUP_NAME.Atualize o gráfico: helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace APIGEE_NAMESPACE \ --set envgroup=ENV_GROUP_NAME \ -f OVERRIDES_FILE 
- Verifique o estado do ApigeeRoute (AR).
          A instalação do virtualhostscria o ApigeeRouteConfig (ARC), que cria internamente o ApigeeRoute (AR) assim que o monitor do Apigee extrai detalhes relacionados com o grupo de ambientes do plano de controlo. Por conseguinte, verifique se o estado do AR correspondente está em execução:kubectl -n APIGEE_NAMESPACE get arc NAME STATE AGE apigee-org1-dev-egroup 2d kubectl -n APIGEE_NAMESPACE get ar NAME STATE AGE apigee-org1-dev-egroup-xxxxxx running 2d 
 
- Tem de atualizar um grupo de ambientes (virtualhost) de cada vez. Especifique o grupo
          do ambiente com 
- Depois de verificar que todas as instalações foram atualizadas com êxito, elimine a versão apigee-operatormais antiga do espaço de nomesapigee-system.- Desinstale a versão operatorantiga:helm delete operator -n apigee-system 
- Elimine o espaço de nomes apigee-system:kubectl delete namespace apigee-system 
 
- Desinstale a versão 
- Atualize operatornovamente no seu espaço de nomes do Apigee para reinstalar os recursos com âmbito de cluster eliminados:helm upgrade operator apigee-operator/ \ --install \ --namespace APIGEE_NAMESPACE \ --atomic \ -f overrides.yaml 
Valide as políticas após a atualização da versão 1.14.0 ou anterior
Use este procedimento para validar o comportamento da política JavaCallout após a atualização a partir da versão 1.14.0.
- Verifique se os ficheiros JAR Java pedem autorizações desnecessárias.
    Após a implementação da política, verifique os registos de tempo de execução para ver se a seguinte mensagem de registo está presente: "Failed to load and initialize class ...". Se observar esta mensagem, sugere que o JAR implementado pediu autorizações desnecessárias. Para resolver este problema, investigue o código Java e atualize o ficheiro JAR.
- Investigue e atualize o código Java.
    Reveja qualquer código Java (incluindo dependências) para identificar a causa de operações potencialmente não permitidas. Quando o encontrar, modifique o código-fonte conforme necessário. 
- Teste as políticas com a verificação de segurança ativada.
    Num ambiente de não produção, ative a flag de verificação de segurança e volte a implementar as suas políticas com um JAR atualizado. Para definir a flag: - No ficheiro apigee-env/values.yaml, definaconf_security-secure.constructor.onlycomotrueemruntime:cwcAppend:. Por exemplo:# Apigee Runtime runtime: cwcAppend: conf_security-secure.constructor.only: true 
- Atualize o gráfico apigee-envpara que a alteração seja aplicada ao ambiente. Por exemplo:helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace APIGEE_NAMESPACE \ --set env=ENV_NAME \ -f OVERRIDES_FILE ENV_RELEASE_NAME é um nome usado para monitorizar a instalação e as atualizações do gráfico apigee-env. Este nome tem de ser exclusivo dos outros nomes de lançamentos do Helm na sua instalação. Normalmente, este valor é igual aENV_NAME. No entanto, se o seu ambiente tiver o mesmo nome que o seu grupo de ambientes, tem de usar nomes de lançamentos diferentes para o ambiente e o grupo de ambientes, por exemplo,dev-env-releaseedev-envgroup-release. Para mais informações sobre lançamentos no Helm, consulte Três grandes conceitos na documentação do Helm.
 Se a mensagem de registo "Failed to load and initialize class ..."ainda estiver presente, continue a modificar e testar o JAR até que a mensagem de registo deixe de aparecer.
- No ficheiro 
- Ative a verificação de segurança no ambiente de produção.
    Depois de testar e validar exaustivamente o ficheiro JAR no ambiente de não produção, ative a verificação de segurança no seu ambiente de produção definindo a flag conf_security-secure.constructor.onlycomotruee atualizando o gráficoapigee-envpara o ambiente de produção para aplicar a alteração.
Reverter para uma versão anterior
  Para reverter para a versão anterior, use a versão mais antiga do gráfico para reverter o processo de atualização na ordem inversa. Comece por apigee-virtualhost e avance até apigee-operator e, em seguida, reverta os CRDs.
- Reverta todos os gráficos de apigee-virtualhostparaapigee-datastore. Os comandos seguintes pressupõem que está a usar os gráficos da versão anterior (v1.14.x).Execute o seguinte comando para cada grupo de ambientes: helm upgrade ENV_GROUP_RELEASE_NAME apigee-virtualhost/ \ --install \ --namespace apigee \ --atomic \ --set envgroup=ENV_GROUP_NAME \ -f 1.14_OVERRIDES_FILE Execute o seguinte comando para cada ambiente: helm upgrade ENV_RELEASE_NAME apigee-env/ \ --install \ --namespace apigee \ --atomic \ --set env=ENV_NAME \ -f 1.14_OVERRIDES_FILE Reverta os restantes gráficos, exceto o gráfico apigee-operator.helm upgrade ORG_NAME apigee-org/ \ --install \ --namespace apigee \ --atomic \ -f 1.14_OVERRIDES_FILE helm upgrade ingress-manager apigee-ingress-manager/ \ --install \ --namespace apigee \ --atomic \ -f 1.14_OVERRIDES_FILE helm upgrade redis apigee-redis/ \ --install \ --namespace apigee \ --atomic \ -f 1.14_OVERRIDES_FILE helm upgrade telemetry apigee-telemetry/ \ --install \ --namespace apigee \ --atomic \ -f 1.14_OVERRIDES_FILE helm upgrade datastore apigee-datastore/ \ --install \ --namespace apigee \ --atomic \ -f 1.14_OVERRIDES_FILE 
- Crie o espaço de nomes apigee-system.kubectl create namespace apigee-system 
- Corrija a anotação de recursos de volta para o espaço de nomes apigee-system.kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-namespace='apigee-system' 
- Se também tiver alterado o nome de lançamento, atualize a anotação com o nome de lançamento operator.kubectl annotate --overwrite clusterIssuer apigee-ca-issuer meta.helm.sh/release-name='operator' 
- Instale apigee-operatornovamente no espaço de nomesapigee-system.helm upgrade operator apigee-operator/ \ --install \ --namespace apigee-system \ --atomic \ -f 1.14_OVERRIDES_FILE 
- Reverta os CRDs reinstalando os CRDs mais antigos.
kubectl apply -k apigee-operator/etc/crds/default/ \ --server-side \ --force-conflicts \ --validate=false 
- Limpe a versão apigee-operatordo espaço de nomes APIGEE_NAMESPACE para concluir o processo de reversão.helm uninstall operator -n APIGEE_NAMESPACE 
- Alguns recursos com âmbito de cluster, como clusterIssuer, são eliminados quandooperatoré desinstalado. Reinstale-as com o seguinte comando:helm upgrade operator apigee-operator/ \ --install \ --namespace apigee-system \ --atomic \ -f 1.14_OVERRIDES_FILE