Atualizar o Knative Serving no Google Cloud para frotas

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

A versão "teste gratuito" anterior do Knative Serving, também denominada "suplemento do GKE", inclui uma versão integrada e simplificada do Istio 1.4 que já não é suportada a partir do Anthos 1.8.

A atualização da instalação do Knative Serving para usar frotas e o Cloud Service Mesh oferece uma melhoria na atualização do produto e na independência da gestão, bem como uma melhor integração nas funcionalidades do GKE Enterprise. Saiba mais sobre as novidades e as alterações.

Existem dois caminhos para migrar a sua instalação:

  • O processo recomendado é migrar as suas cargas de trabalho do cluster onde a versão anterior do Knative Serving está instalada ("suplemento do GKE") para um novo cluster onde instalou e configurou uma nova instalação da frota do Knative Serving. Embora este processo seja relativamente simples e ideal, se as suas cargas de trabalho publicarem tráfego, a migração para um cluster criado recentemente vai causar tempo de inatividade. Para seguir este caminho de migração, no novo cluster:

    1. Instale o Knative Serving como um componente da frota.
    2. Implemente os seus serviços na nova instalação.

      Por exemplo, pode usar as instruções para implementar uma revisão de um serviço existente para transferir individualmente um ficheiro de configuração YAML para cada um dos seus serviços e, em seguida, implementar cada ficheiro YAML no seu novo cluster na instalação de frota do Knative serving:

      1. Na instalação antiga, pode executar o seguinte comando para transferir um ficheiro de configuração YAML, como service.yaml:

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

        Substitua SERVICE pelo nome do seu serviço de fornecimento do Knative.

      2. Na instalação do componente de frota novo, pode executar o seguinte comando para implementar o mesmo service.yaml:

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

        Substituição:

        • CLUSTER_NAME com o nome do cluster na nova instalação do componente de frota do Knative Serving.

        • CLUSTER_LOCATION com a zona ou região do cluster na nova instalação do componente da frota do Knative Serving.

        • PROJECT_ID com o ID do seu Google Cloud projeto no qual reside a nova instalação do componente da frota do Knative Serving.

  • Alternativa: para os utilizadores que não conseguem criar um novo cluster e têm de migrar a respetiva instalação ativa do Knative Serving, podem seguir os passos neste guia para:

    • Remova o "GKE add-on" e os recursos do Istio anteriores.
    • Instale novos recursos da frota.
    • Migre para a malha de serviços na nuvem e, em seguida, migre o seu tráfego.
    • Limpe todos os recursos desatualizados e não usados.

O guia seguinte explica o processo alternativo de atualização da instalação existente e ativa do Knative Serving, incluindo todas as cargas de trabalho, para cumprir os requisitos do GKE Enterprise 1.8 e posterior.

Antes de começar

  • Este processo de atualização tem de ser realizado apenas em clusters do Google Kubernetes Engine que tenham instalado anteriormente o Knative Serving como o "suplemento do GKE".

    Verifique se o "suplemento do GKE" está instalado.

    Para verificar se a instalação do Knative Serving é o "suplemento do GKE", execute o seguinte comando:

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

    Substituição:

    • CLUSTER_NAME com o nome do seu cluster.
    • CLUSTER_LOCATION com a localização onde o seu cluster está localizado.
    • PROJECT_ID com o ID do seu Google Cloud projeto.

    Resultados:

    • "Suplemento do GKE" não instalado:
      • Não é devolvido nada ao seu terminal se o suplemento nunca tiver sido instalado.
      • disabled=true é devolvido se o suplemento tiver sido desinstalado anteriormente.
    • "Suplemento do GKE" está instalado: se o suplemento estiver instalado no seu cluster, são devolvidos os detalhes de configuração do suplemento. Exemplo: loadBalancerType=LOAD_BALANCER_TYPE_EXTERNAL
    Exemplo:
    O exemplo seguinte demonstra que o Knative Serving foi instalado no cluster my-addon-cluster através do "suplemento do GKE", que está configurado para processar 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

  • Tem de ter autorizações adequadas no seu Google Cloud projeto para cumprir os requisitos do cluster, da frota e do Cloud Service Mesh:

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

    • Tenha em atenção que os requisitos de autorizações da Cloud Service Mesh também cumprem todos os requisitos de autorizações para instalar e configurar o Knative serving.

    • Usar outras funções e os requisitos mínimos:

      Consoante a sua organização, também pode cumprir os requisitos de autorização através de uma combinação das seguintes funções predefinidas:

  • Apenas a versão 1.18 do Cloud Service Mesh é suportada.

Atualizar o Knative Serving e migrar cargas de trabalho

Para ajudar a atualizar a instalação existente do Knative Serving e migrar as cargas de trabalho, execute um script que automatiza a maioria dos passos e pede a sua introdução ao longo do processo.

  1. Prepare-se para a atualização e configure o seu ambiente

  2. Desinstale o suplemento do GKE

  3. Migre para o Cloud Service Mesh

  4. Instale o componente de frota

  5. Migre o tráfego de cargas de trabalho para o Cloud Service Mesh

  6. Finalize a atualização e execute tarefas de limpeza