Use este guia para migrar sua instalação atual do Knative no Google Cloud e usar uma frota com o Cloud Service Mesh.
A versão anterior de "teste gratuito" do Knative, também conhecida como "complemento do GKE", inclui uma versão integrada e reduzida do Istio 1.4 que não tem mais suporte a partir do Anthos 1.8.
Fazer upgrade da instalação de exibição do Knative para usar frotas e o Cloud Service Mesh proporciona independência de gerenciamento e upgrade de produto aprimorado, bem como melhor integração 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 está instalada ("complemento do GKE") para um novo cluster em que você instalou e configurou uma nova instalação de frota de exibição do Knative. 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 servindo como um componente da frota.
Implante seus serviços na nova instalação.
Por exemplo, é possível 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 um dos serviços e, em seguida, implantar cada arquivo YAML no novo cluster na instalação da frota de exibição do Knative:
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 serviço de veiculação do Knative.
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 do componente da frota do Knative.
CLUSTER_LOCATION pela zona ou região do cluster na nova instalação do componente da frota da disponibilização do Knative.
PROJECT_ID pelo ID do projeto do Google Cloud em que a nova instalação do componente da frota de disponibilização do Knative reside.
Alternativa: para usuários que não conseguem criar um novo cluster e precisam migrar a instalação ativa do Knative, siga as etapas deste guia para:
- Remova o complemento GKE anterior e os recursos do Istio.
- Instale novos recursos da frota.
- Migre para o Cloud Service Mesh e depois o tráfego.
- Limpar todos os recursos desatualizados e não utilizados.
O guia a seguir mostra o processo alternativo de upgrade da instalação atual e ativa do Knative, incluindo todas as cargas de trabalho, para atender aos requisitos do GKE Enterprise 1.8 e versões posteriores.
Antes de começar
Esse processo de upgrade precisa ser realizado apenas nos clusters do Google Kubernetes Engine que já instalaram o Knative como o "complemento do GKE".
Verifique se o complemento GKE está instalado.
Para verificar se a instalação do Knative é 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 a exibição do Knative foi instalada no
cluster
my-addon-cluster
por meio do "complemento do GKE", que é configurado para lidar com o 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, da frota e do Cloud Service Mesh:
Se você tiver o papel Proprietário no projeto do Google Cloud, terá mais do que as permissões necessárias para criar clusters, instalar e configurar a exibição do Knative.
Os requisitos de permissões do Cloud Service Mesh também atendem a todos os requisitos de permissão para instalar e configurar a exibição do 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 GKE Hub ou um papel que inclua 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 é compatível.
O Cloud Service Mesh exige 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 Cloud 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 atual do Knative usa o complemento Istio no GKE, é necessário migrar para o 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 do Cloud Service Mesh no cluster.
Como fazer upgrade do Knative e migrar cargas de trabalho
Para ajudar a fazer upgrade da instalação atual do Knative e migrar suas cargas de trabalho, você executa um script que automatiza a maioria das etapas e solicita entradas durante todo o processo.