Atualizar o Apigee Hybrid para a versão 1.4

<0x0A

Se estiver a atualizar a partir da versão 1.2 ou mais antiga do Apigee hybrid, tem de atualizar primeiro para a versão 1.3 antes de atualizar para a versão 1.4.4. Consulte as instruções para atualizar o Apigee Hybrid para a versão 1.3.

Atualização para a versão 1.4.4: vista geral.

Os procedimentos para atualizar o Apigee hybrid estão organizados nas seguintes secções:

  1. Faça uma cópia de segurança da instalação híbrida.
  2. Verifique a sua versão do Kubernetes e atualize-a conforme adequado.
  3. Atualize o ASM.
  4. Instale a versão 1.4 do tempo de execução híbrido.

Pré-requisito

Atualize para a versão 1.4

  1. (Recomendado) Faça uma cópia de segurança do diretório $APIGEECTL_HOME/ da versão 1.3. Por exemplo:
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.3-backup.tar.gz $APIGEECTL_HOME
  2. (Recomendado) 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
  3. Atualize a sua plataforma Kubernetes da seguinte forma. Siga a documentação da sua plataforma se precisar de ajuda:
    Plataforma Atualize para a versão
    GKE 1.18.x
    GKE On-Prem (Anthos) 1.5.x
    AKS 1.18.x com clusters anexados do Anthos
    EKS 1.18.x com clusters anexados do Anthos
  4. Atualize o ASM para a versão 1.6.x.
    1. Faça a atualização através da documentação do ASM:
    2. Especifique as seguintes portas de entrada e defina a propriedade runAsRoot como true no ficheiro istio-operator.yaml"
          … … …
                  ports:
                  - port: 15021
                    name: status-port
                    targetPort: 15021
                  - port: 80
                    name: http2
                    targetPort: 80
                  - port: 443
                    name: https
                    targetPort: 443
      
          … … …
          values:
            gateways:
              istio-ingressgateway:
                runAsRoot: true 
    3. Crie CRs PeerAuthentication para desativar o mTLS no seu ficheiro istio-operator.yaml:
      ---
      apiVersion: security.istio.io/v1beta1
      kind: PeerAuthentication
      metadata:
        name: apigee-system
        namespace: apigee-system
      spec:
        mtls:
          mode: DISABLE
      ---
      apiVersion: security.istio.io/v1beta1
      kind: PeerAuthentication
      metadata:
        name: user-namespace
        namespace: user-namespace
      spec:
        mtls:
          mode: DISABLE
    4. Aplique estas alterações com istioctl, conforme descrito na documentação do ASM:

Instale o tempo de execução híbrido 1.4.4

  1. Armazene o número da versão mais recente numa variável:
    export VERSION=$(curl -s \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/current-version.txt?ignoreCache=1)
  2. Verifique se a variável foi preenchida com um número de versão. Se quiser usar uma versão diferente, pode guardá-la numa variável de ambiente. Por exemplo:
    echo $VERSION
      1.4.4
  3. Transfira o pacote de lançamento para o seu sistema operativo:

    Mac 64 bits:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_64.tar.gz

    Linux de 64 bits:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_64.tar.gz

    Mac de 32 bits:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_mac_32.tar.gz

    Linux de 32 bits:

    curl -LO \
        https://storage.googleapis.com/apigee-release/hybrid/apigee-hybrid-setup/$VERSION/apigeectl_linux_32.tar.gz
  4. Mude o nome do diretório apigeectl/ atual para um nome de diretório de cópia de segurança. Por exemplo:
    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.2/ 
  5. Extraia o conteúdo do ficheiro gzip transferido para o diretório de base híbrido. Por exemplo:

    tar xvzf filename.tar.gz -C hybrid-base-directory
  6. cd para o diretório base.
  7. 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.4.4-xxx_linux_64. Mude o nome desse diretório para apigeectl:

    mv apigeectl_1.4.5-xxx_linux_64 apigeectl
  8. No diretório new apigeectl/, execute apigeectl init, apigeectl apply e apigeectl check-ready:
    1. Inicialize o híbrido 1.4.4:
      apigeectl init -f overrides.yaml

      Onde overrides.yaml é o seu ficheiro overrides.yaml editado.

    2. Verifique se foi inicializado corretamente com os seguintes comandos:
      apigeectl check-ready -f overrides.yaml
      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
      
    3. A sintaxe da flag apigeectl --dry-run depende da versão do kubectl que está a usar. Verifique a versão do kubectl:
      gcloud version
    4. Verifique se existem erros com um teste com o comando adequado à sua versão do kubectl:

      kubectl versão 1.17 e mais antigas:

      apigeectl apply -f overrides.yaml --dry-run=true

      kubectl versão 1.18 e mais recentes:

      apigeectl apply -f overrides.yaml --dry-run=client
    5. Aplique as substituições. Selecione e siga as instruções para ambientes de produção ou ambientes de demonstração/experimentais, consoante a sua instalação.

      Produção

      Para ambientes de produção, deve atualizar cada componente híbrido individualmente e verificar o estado do componente atualizado antes de avançar para o componente seguinte.

      1. Aplique as substituições para atualizar o Cassandra:
        apigeectl apply -f overrides.yaml --datastore
      2. Conclusão da verificação:
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml

        Onde namespace é o espaço de nomes híbrido do Apigee.

        Avance para o passo seguinte apenas quando os pods estiverem prontos.

      3. Aplique as substituições para atualizar os componentes de telemetria e verifique a conclusão:
        apigeectl apply -f overrides.yaml --telemetry
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      4. 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 apply -f overrides.yaml --org
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      5. 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 apply -f overrides.yaml --env env_name
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

          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 apply -f overrides.yaml --all-envs
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

      Demonstração/experimental

      Na maioria dos ambientes de demonstração ou experimentais, pode aplicar as substituições a todos os componentes de uma só vez. Se o seu ambiente de demonstração/experimental 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

      1. apigeectl apply -f overrides.yaml
      2. Verifique o estado:
        apigeectl check-ready -f overrides.yaml

    Parabéns! Atualizou com êxito para a versão 1.4.4 do Apigee Hybrid.