Este procedimento abrange a atualização da versão 1.9.x do Apigee Hybrid para a versão 1.10.5 do Apigee Hybrid e das versões anteriores do Hybrid 1.10.x para a versão 1.10.5.
Use os mesmos procedimentos para atualizações de versões secundárias (por exemplo, da versão 1.9 para a 1.10) e para atualizações de lançamentos de patches (por exemplo, da versão 1.10.0 para a 1.10.5).
Atualização para a versão 1.10.5: vista geral
Os procedimentos para atualizar o Apigee hybrid estão organizados nas seguintes secções:
Pré-requisitos
Estas instruções de atualização pressupõem que tem a versão 1.9.x do Apigee hybrid instalada e quer atualizá-la para a versão 1.10.5. Se estiver a fazer a atualização a partir de uma versão anterior, consulte as instruções para atualizar o Apigee hybrid para a versão 1.9.
Prepare-se para atualizar para a versão 1.10
Faça uma cópia de segurança da sua instalação híbrida (recomendado)
- Estas instruções usam a variável de ambiente APIGEECTL_HOME para o diretório no seu sistema de ficheiros onde instalou o apigeectl. Se necessário, altere o diretório para o diretórioapigeectle defina a variável com o seguinte comando:Linuxexport APIGEECTL_HOME=$PWD echo $APIGEECTL_HOMEMac OSexport APIGEECTL_HOME=$PWD echo $APIGEECTL_HOMEWindowsset APIGEECTL_HOME=%CD% echo %APIGEECTL_HOME%
- Faça uma cópia de segurança do diretório $APIGEECTL_HOME/da versão 1.9. Por exemplo:tar -czvf $APIGEECTL_HOME/../apigeectl-v1.9-backup.tar.gz $APIGEECTL_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.
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 Hybrid 1.9 e pelo Hybrid 1.10. Siga a documentação da sua plataforma se precisar de ajuda.
Instale o tempo de execução híbrido 1.10.5
- Certifique-se de que está no diretório base híbrido (o diretório principal do diretório onde
    se encontra o ficheiro executável apigeectl):cd $APIGEECTL_HOME/.. 
- 
    Transfira o pacote de lançamento para o seu sistema operativo através do seguinte comando. Certifique-se de que seleciona a sua plataforma na tabela seguinte: LinuxLinux de 64 bits: curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_linux_64.tar.gz Mac OSMac 64 bits: curl -LO \ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_mac_64.tar.gz WindowsWindows de 64 bits: curl -LO ^ https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/1.10.5/apigeectl_windows_64.zip 
- Mude o nome do diretório apigeectl/atual para um nome de diretório de cópia de segurança. Por exemplo:Linuxmv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/ Mac OSmv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.9/ Windowsrename %APIGEECTL_HOME% %APIGEECTL_HOME%-v1.9 
- 
    Extraia o conteúdo do ficheiro gzip transferido para o diretório de base híbrido. O diretório base híbrido é o diretório onde se encontra o diretório apigeectl-v1.9com o nome alterado:Linuxtar xvzf filename.tar.gz -C ./ Mac OStar xvzf filename.tar.gz -C ./ Windowstar xvzf filename.zip -C ./ 
- 
    Por predefinição, o conteúdo do TAR é expandido para um diretório com a versão e a plataforma no respetivo nome. Por exemplo: ./apigeectl_1.10.5-xxxxxxx_linux_64. Mude o nome desse diretório paraapigeectlatravés do seguinte comando:Linuxmv apigeectl_1.10.5-xxxxxxx_linux_64 apigeectl Mac OSmv apigeectl_1.10.5-xxxxxxx_mac_64 apigeectl Windowsrename apigeectl_1.10.5-xxxxxxx_windows_64 apigeectl 
- 
     Altere para o diretório apigeectl:cd ./apigeectl Este diretório é o apigeectldiretório inicial. É onde se encontra o comando executávelapigeectl.
- Estas instruções usam a variável de ambiente $APIGEECTL_HOMEpara o diretório no seu sistema de ficheiros onde o utilitárioapigeectlestá instalado. Se necessário, altere o diretório para o diretórioapigeectle defina a variável com o seguinte comando:Linuxexport APIGEECTL_HOME=$PWD echo $APIGEECTL_HOME Mac OSexport APIGEECTL_HOME=$PWD echo $APIGEECTL_HOME Windowsset APIGEECTL_HOME=%CD% echo %APIGEECTL_HOME% 
- Valide a versão do apigeectlcom o comandoversion:./apigeectl version Version: 1.10.5 
- Crie um diretório hybrid-base-directory/hybrid-filese, de seguida, mova para o mesmo. O diretóriohybrid-filesé onde se encontram os ficheiros de configuração, como o ficheiro de substituições, os certificados e as contas de serviço. Por exemplo:Linuxmkdir $APIGEECTL_HOME/../hybrid-files cd $APIGEECTL_HOME/../hybrid-files Mac OSmkdir $APIGEECTL_HOME/../hybrid-files cd $APIGEECTL_HOME/../hybrid-files Windowsmkdir %APIGEECTL_HOME%/../hybrid-files cd %APIGEECTL_HOME%/../hybrid-files 
- Verifique se kubectlestá definido para o contexto correto através do seguinte comando. O contexto atual deve ser definido para o cluster no qual está a atualizar o Apigee Hybrid.kubectl config get-contexts | grep \* 
- No diretório hybrid-files:- 
    Atualize os seguintes links simbólicos para
    $APIGEECTL_HOME. Estes links permitem-lhe executar o comandoapigeectlrecém-instalado a partir do 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 o seguinte comando e certifique-se de que os caminhos dos links apontam para as localizações corretas:
    ls -l | grep ^l 
 
- 
    Atualize os seguintes links simbólicos para
    
- Faça a seguinte alteração ao ficheiro overrides.yaml para permitir que o gráfico apigee-operatoruse a etiqueta correta,1.10.5-hotfix.1:ao: image: url: "gcr.io/apigee-release/hybrid/apigee-operators" tag: "1.10.5-hotfix.1"
- Faça uma inicialização de teste para verificar se existem erros:
      ${APIGEECTL_HOME}/apigeectl init -f OVERRIDES_FILE --dry-run=clientOnde OVERRIDES_FILE é o nome do ficheiro de substituições, por exemplo, ./overrides/overrides.yaml.
- Se não houver erros, inicialize o Hybrid 1.10.5:
      $APIGEECTL_HOME/apigeectl init -f OVERRIDES_FILE 
- Verifique o estado de inicialização:
      $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE Se for bem-sucedido, o resultado indica: All containers ready.kubectl describe apigeeds -n apigee No resultado, procure State: running.
- Verifique se existem erros com uma execução de teste do comando applyatravés do sinalizador--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 de não produção, consoante a sua instalação.
      ProduçãoPara ambientes de produção, atualize cada componente híbrido individualmente e verifique o estado do componente atualizado antes de avançar para o componente seguinte. - Certifique-se de que está no diretório hybrid-files.
- Aplique as substituições para atualizar o Cassandra:
              $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --datastore 
- Conclusão da verificação:
              $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE Avance para o passo seguinte apenas quando os pods estiverem prontos. 
- Aplique as substituições para atualizar os componentes de telemetria e verifique a conclusão:
              $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --telemetry $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE 
- Apresente os componentes do Redis:
              $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --redis 
- Aplique as substituições para atualizar os componentes ao 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 substituições para atualizar os seus ambientes. Tem 2 opções:
              - Ambiente por ambiente: aplique as substituições a um ambiente de cada vez e verifique a conclusão. Repita
                  este passo para cada ambiente:
                  $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --env ENV_NAME $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE Em que ENV_NAME é o nome do ambiente que está a atualizar. 
- Todos os ambientes ao mesmo tempo: aplique as substituiçõ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 as substituições a um ambiente de cada vez e verifique a conclusão. Repita
                  este passo para cada ambiente:
                  
- Aplique as substituições para atualizar os componentes virtualhostse verifique a conclusão:$APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE --settings virtualhosts $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE 
 Não prodNa maioria dos ambientes de não produção, demonstração ou experimentais, pode aplicar as substituições a todos os componentes de uma só vez. Se o seu ambiente de não produção for grande e complexo ou imitar de perto um ambiente de produção, é recomendável usar as instruções para atualizar ambientes de produção. - Certifique-se de que está no diretório hybrid-files.
- $APIGEECTL_HOME/apigeectl apply -f OVERRIDES_FILE 
- Verifique o estado:
              $APIGEECTL_HOME/apigeectl check-ready -f OVERRIDES_FILE 
 
- Certifique-se de que está no diretório 
Reverter uma atualização
Siga estes passos para reverter uma atualização anterior:
- Limpe as tarefas concluídas para o espaço de nomes de tempo de execução híbrido, em que NAMESPACE é o espaço de nomes especificado no ficheiro de substituições, se tiver especificado um espaço de nomes. Caso contrário, o espaço de nomes predefinido é apigee:kubectl delete job -n NAMESPACE \ $(kubectl get job -n NAMESPACE \ -o=jsonpath='{.items[?(@.status.succeeded==1)].metadata.name}')
- Limpe as tarefas concluídas para o espaço de nomes 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_HOMEpara apontar para o diretório que contém a versão anterior deapigeectl. Por exemplo:export APIGEECTL_HOME=PATH_TO_PREVIOUS_APIGEECTL_DIRECTORY 
- No diretório raiz da instalação para a qual quer reverter, execute o comando
    apigeectl apply, verifique o estado dos seus pods e, em seguida, execute o comandoapigeectl init. Certifique-se de que usa o ficheiro de substituições original para a versão para a qual quer reverter:- No diretório hybrid-files, execute apigeectl apply:$APIGEECTL_HOME/apigeectl apply -f ORIGINAL_OVERRIDES_FILEEm que ORIGINAL_OVERRIDES_FILE é o caminho relativo e o nome do ficheiro das substituições para a instalação híbrida da versão anterior, por exemplo, ./overrides/overrides1.9.yaml.
- Verifique o estado dos seus pods:
        kubectl -n NAMESPACE get pods Onde NAMESPACE é o espaço de nomes híbrido do Apigee. 
- Verifique o estado de apigeeds:kubectl describe apigeeds -n apigee O resultado deve ter um aspeto semelhante ao seguinte: 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 Avance para o passo seguinte apenas quando o apigeedspod estiver em execução.
- Execute o seguinte comando para tomar nota dos novos valores de contagem de réplicas do processador de mensagens após a atualização. Se estes valores não corresponderem aos que definiu
        anteriormente, altere os valores no ficheiro de substituições para corresponderem à sua
        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 2 O resultado deve ter um aspeto semelhante ao seguinte: autoScaler: minReplicas: 2 maxReplicas: 10
- Corrida apigeectl init:$APIGEECTL_HOME/apigeectl init -f ORIGINAL_OVERRIDES_FILE
 
- No diretório hybrid-files, execute