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:
- Instale o Knative Serving como um componente da frota.
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:
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.
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:
Google Cloud autorizações do projeto: função Editor básica
Autorizações da frota: Administrador do GKE Hub ou uma função que inclua as seguintes autorizações:
gkehub.features.create
gkehub.features.update
Autorizações de cluster: Uma função de administrador do Kubernetes Engine:
- Administrador do Kubernetes Engine
- Administrador do cluster do Kubernetes Engine
Apenas a versão 1.18 do Cloud Service Mesh é suportada.
A malha de serviços na nuvem requer que o cluster use um tipo de máquina com, pelo menos, 4 vCPUs, como
e2-standard-4
. Consulte o guia de instalação do Cloud Service Mesh para ver detalhes sobre os requisitos. Se precisar de alterar o tipo de máquina do cluster existente, consulte o artigo Migrar cargas de trabalho para diferentes tipos de máquinas.Recomendamos que use o Cloud Shell como ambiente para executar os comandos e o script de migração durante este processo. Tenha em atenção que o script de instalação do Cloud Service Mesh só é compatível com o Linux ou o Cloud Shell.
Se a sua instalação existente do Knative Serving usar o suplemento Istio no GKE, tem de migrar para o plano de controlo gerido do Cloud Service Mesh. Atualmente, a migração do suplemento Istio on GKE para o plano de controlo no cluster do Cloud Service Mesh não é 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.