Como fazer upgrade da Apigee híbrida para a versão 1.4

Como fazer upgrade para a versão 1.4.4

Os procedimentos para fazer upgrade da Apigee híbrida são organizados nas seguintes seções:

  1. Faça o backup da instalação híbrida.
  2. Verifique sua versão do Kubernetes e faça upgrade conforme apropriado.
  3. Fazer upgrade do ASM.
  4. Instale o ambiente de execução híbrido versão 1.4.

Pré-requisito

Fazer upgrade para a versão 1.4

  1. (Recomendado) Faça uma cópia de backup do diretório $APIGEECTL_HOME/ da versão 1.3. Exemplo:
    tar -czvf $APIGEECTL_HOME/../apigeectl-v1.3-backup.tar.gz $APIGEECTL_HOME
  2. (Recomendado) Faça o backup do banco de dados do Cassandra seguindo as instruções em Backup e recuperação do Cassandra.
  3. Faça o upgrade da plataforma do Kubernetes da seguinte maneira. Siga a documentação da plataforma se precisar de ajuda:
    Plataforma Fazer upgrade para a versão
    GKE 1.18.x
    GKE On-Prem (Anthos) 1.5.x
    AKS 1.18.x usando clusters anexados ao Anthos
    EKS 1.18.x usando clusters anexados ao Anthos
  4. Atualize o ASM para a versão 1.6.x.
    1. Faça o upgrade usando a documentação do ASM:
    2. Especifique as seguintes portas de entrada e defina a propriedade runAsRoot como true no seu arquivo 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 respostas PeerAuthentication para desativar o mTLS no arquivo 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 essas alterações com istioctl, conforme descrito na documentação do ASM:

Instalar o ambiente de execução híbrido 1.4.4

  1. Armazene o número da versão mais recente em uma 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 você quiser usar uma versão diferente, salve-a em uma variável de ambiente. Exemplo:
    echo $VERSION
      1.4.4
  3. Faça o download do pacote de lançamento para seu sistema operacional:

    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 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. Renomeie o diretório apigeectl/ atual para um nome de diretório de backup. Por exemplo:
    mv $APIGEECTL_HOME/ $APIGEECTL_HOME-v1.2/ 
  5. Extraia o conteúdo do arquivo gzip baixado para seu diretório base híbrido. Por exemplo:

    tar xvzf filename.tar.gz -C hybrid-base-directory
  6. cd ao diretório base.
  7. 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.4.4-xxx_linux_64. Renomeie esse diretório para apigeectl:

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

      Em que overrides.yaml é o arquivo editado overrides.yaml editado.

    2. Verifique se ele foi inicializado corretamente com os seguintes comandos:
      apigeectl check-ready -f overrides.yaml
      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
      
    3. A sintaxe da sinalização apigeectl --dry-run depende da versão de kubectl que você está executando. Verifique a versão de kubectl:
      gcloud version
    4. Verifique se há erros com uma simulação usando o comando apropriado para a versão do kubectl:

      kubectl versão 1.17 e anteriores:

      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/experimental, dependendo da sua instalação.

      Produçã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.

      1. Aplique as modificações para fazer upgrade do Cassandra:
        apigeectl apply -f overrides.yaml --datastore
      2. Verifique a conclusão:
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml

        Em que namespace é seu namespace da Apigee híbrida.

        Passe para a próxima etapa somente quando os pods estiverem prontos.

      3. Aplique as modificações para fazer upgrade dos componentes de telemetria e verificar a conclusão:
        apigeectl apply -f overrides.yaml --telemetry
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      4. 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 apply -f overrides.yaml --org
        kubectl -n namespace get pods
        apigeectl check-ready -f overrides.yaml
      5. 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 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 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 apply -f overrides.yaml --all-envs
          kubectl -n namespace get pods
          apigeectl check-ready -f overrides.yaml

      Demonstração/Experimental

      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.

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

    Parabéns! Você fez upgrade para a versão 1.4.4 da Apigee híbrida.