Use este guia para migrar sua instalação atual do Knative serving no Google Cloud para usar uma frota com o Cloud Service Mesh.
A versão anterior de "teste sem custo financeiro" do serviço Knative, também conhecida como "complemento do GKE", inclui uma versão integrada e simplificada do Istio 1.4, que não é mais compatível com o Anthos 1.8.
O upgrade da instalação de veiculação do Knative para usar frotas e o Cloud Service Mesh oferece maior upgrade de produtos e independência de gerenciamento, 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 em que a versão anterior do Knative Serving está instalada ("complemento do GKE") para um 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:
- Instale o Knative serving como um componente de frota.
Implante seus serviços na nova instalação.
Por exemplo, você pode usar as instruções para 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:
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.
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 na nova instalação de componente de frota do Knative serving.
CLUSTER_LOCATION pela zona ou região do cluster na instalação do novo componente de frota do serviço Knative.
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, siga as etapas neste guia para:
- Remova o complemento GKE anterior e os recursos do Istio.
- Instalar novos recursos da frota.
- Migre para o GKE Service Mesh e migre 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 versões mais recentes.
Antes de começar
Esse processo de upgrade precisa ser executado apenas em clusters do Google Kubernetes Engine que já instalaram o serviço Knative como o "complemento do GKE".
Verifique se o complemento GKE está instalado.
Para verificar se a instalação do Knative serving é o "complemento do 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 do 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 as permissões adequadas no seu projeto do Google Cloud para atender aos requisitos do cluster, da frota e do 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.
Os requisitos de permissões do Cloud Service Mesh também atendem a todos os requisitos de permissão para instalar e configurar o serviço Knative.
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:
Permissões do projeto do Google Cloud: papel básico de Editor
Permissões da frota: administrador do hub do GKE ou um papel que inclui as seguintes permissões:
gkehub.features.create
gkehub.features.update
Permissões de cluster: um papel de administrador do Kubernetes Engine:
- Administrador do Kubernetes Engine
- Administrador de cluster do Kubernetes Engine
Apenas o Cloud Service Mesh versão 1.18 é suportado.
O Cloud Service Mesh requer que o cluster use um tipo de máquina com pelo menos quatro vCPUs, como
e2-standard-4
. Consulte o guia de instalação do Anthos Service Mesh para ver detalhes sobre os requisitos. Se você precisar alterar o tipo de máquina do cluster, consulte Como migrar cargas de trabalho para diferentes tipos de máquina.Usar o Cloud Shell é o ambiente recomendado para executar os comandos e o script de migração durante esse processo. O script de instalação do Cloud Service Mesh é compatível apenas com Linux ou Cloud Shell.
Se a instalação existente do Knative serving usar o como complemento do Istio no GKE, será preciso migrar Plano de controle gerenciado do Cloud Service Mesh. No momento, não é possível migrar do complemento Istio no GKE para o plano de controle no cluster do Cloud Service Mesh.
Como fazer upgrade do Knative serving e migrar cargas de trabalho
Para ajudar na atualização da instalação atual do Knative serving e na migração das cargas de trabalho, você executa um script que automatiza a maioria das etapas e solicita a entrada de informações durante todo o processo.