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:
- 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 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:
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 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:
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 é suportado.
O Cloud Service Mesh exige que seu cluster use um tipo de máquina com pelo menos quatro vCPUs, como
e2-standard-4
. Confira o Cloud Service Mesh guia de instalação para 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. Observe que o Script de instalação do Cloud Service Mesh oferece suporte apenas ao Linux ou ao Cloud Shell.
Se a instalação existente do Knative serving usar o como complemento Istio on GKE, será preciso migrar Plano de controle gerenciado do Cloud Service Mesh. Migrar do complemento Istio no GKE para a Plano de controle no cluster do Cloud Service Mesh não tem suporte no momento.
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.