Como fazer upgrade do Knative serving no Google Cloud para frotas

Use este guia para migrar sua instalação atual do Knative serving no Google Cloud para usar uma frota com o Cloud Service Mesh.

O "teste gratuito" anterior do Knative serving, também conhecido como como o complemento do GKE, inclui uma versão simplificada e integrada do Istio 1.4. que não é mais compatível a partir da versão 1.8 do Anthos.

Atualizar a instalação do Knative serving para usar frotas e O Cloud Service Mesh oferece upgrades de produto aprimorados e independência de gerenciamento como além de integração aprimorada entre os recursos do GKE Enterprise. Saiba mais sobre as novidades e mudanças.

Há dois caminhos para migrar a instalação:

  • O processo recomendado é migrar as cargas de trabalho do cluster a versão anterior do Knative serving esteja instalada ("complemento GKE"), em uma novo cluster em que você instalou e configurou uma nova instalação de frota do Knative serving. Embora esse processo seja relativamente simples e ideal, se as cargas de trabalho veicularem tráfego, a migração para um cluster recém-criado fará inatividade. Para executar esse caminho de migração, no novo cluster, você precisa:

    1. Instale o Knative serving como um componente de frota.
    2. Implante seus serviços na nova instalação.

      Por exemplo, você pode usar as instruções para como implantar uma revisão de um serviço atual para fazer o download individual de um arquivo de configuração YAML para cada serviços e implanta cada arquivo YAML no novo cluster na instalação em frota do Knative serving:

      1. Na instalação antiga, é possível executar o seguinte comando para fazer o download de um arquivo de configuração YAML, como service.yaml:

        gcloud run services describe SERVICE --format export > service.yaml

        Substitua SERVICE pelo nome do seu serviço Knative serving.

      2. Na nova instalação do componente da frota, execute o comando a seguir para implantar a mesma service.yaml:

        gcloud run deploy service.yaml --cluster CLUSTER_NAME --cluster-location CLUSTER_LOCATION --project PROJECT_ID

        Substitua:

        • CLUSTER_NAME pelo nome do cluster no novo instalação do componente da frota do Knative serving.

        • CLUSTER_LOCATION com o zona ou região do cluster na nova instalação de componentes da frota o Knative serving.

        • PROJECT_ID pelo ID do projeto do Google Cloud. em que a nova instalação de componentes da frota O Knative serving reside.

  • Alternativa: para usuários que não conseguem criar um novo cluster e precisam migrar a instalação ativa do Knative serving, você pode seguir deste guia para:

    • Remova o complemento GKE anterior e os recursos do Istio.
    • Instalar novos recursos da frota.
    • Migrar para o Cloud Service Mesh e depois migrar seu tráfego.
    • Limpar todos os recursos desatualizados e não utilizados.

O guia a seguir mostra o processo alternativo de upgrade instalação atual e ativa do Knative serving, incluindo todas as cargas de trabalho, para atender aos requisitos do GKE Enterprise 1.8 e posteriores.

Antes de começar

  • Esse processo de upgrade precisa ser executado apenas nos clusters do Google Kubernetes Engine que o Knative serving instalado anteriormente como "Complemento GKE".

    Verifique se o complemento GKE está instalado.

    Para verificar se sua instalação do Knative serving é a Complemento GKE, execute o seguinte comando:

    gcloud container clusters describe \
    CLUSTER_NAME \
    --region CLUSTER_LOCATION \
    --project PROJECT_ID --format='get(addonsConfig.cloudRunConfig)'
    

    Substitua:

    • CLUSTER_NAME pelo nome do cluster.
    • CLUSTER_LOCATION: pelo local em que o cluster está localizado.
    • PROJECT_ID pelo ID do seu projeto do Google Cloud.

    Resultados:

    • "Complemento do GKE" não instalado:
      • Nada será retornado ao terminal se o complemento nunca tiver sido instalado.
      • disabled=true será retornado se o complemento tiver sido desinstalado anteriormente.
    • "Complemento do GKE" está instalado: se o complemento estiver instalado no cluster, os detalhes da configuração do complemento serão retornados. Exemplo: loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    Exemplo:
    O exemplo a seguir demonstra que o Knative serving foi instalado no cluster my-addon-cluster pelo complemento GKE, que está configurado para lidar com tráfego externo:
    gcloud container clusters describe my-addon-cluster \
    --region us-central1-c --project my-gcp-project \
    --format='get(addonsConfig.cloudRunConfig)'
    

    Resposta:

    loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    

  • Você precisa ter permissões adequadas no projeto do Google Cloud para atender aos requisitos do cluster, frota e Cloud Service Mesh:

    • Se você tiver a função Proprietário em projeto do Google Cloud, então você tem mais do que as permissões necessárias para criar clusters, instalar e configurar o Knative serving.

    • Observe que o Requisitos de permissões do Cloud Service Mesh atendem a todos os requisitos de permissão para instalar e configurar o Knative serving.

    • Usar outros papéis e os requisitos mínimos:

      Dependendo da sua organização, também é possível atender aos requisitos de permissão combinando os seguintes papéis predefinidos:

  • Apenas o Cloud Service Mesh versão 1.18 é suportado.

Como fazer upgrade do Knative serving e migrar cargas de trabalho

Para ajudar no upgrade da instalação atual do Knative serving e para migrar suas cargas de trabalho, você executa um script que automatiza a maioria das etapas e solicita informações durante o processo.

  1. Prepare-se para o upgrade e configure o ambiente

  2. Desinstalar o complemento do GKE

  3. Migrar para o Cloud Service Mesh

  4. Instalar o componente de frota

  5. Migrar o tráfego de carga de trabalho para o Cloud Service Mesh

  6. Finalize o upgrade e execute tarefas de limpeza