Modernização do plano de controle gerenciado

Visão geral

O Google vai atualizar gradualmente as frotas atuais que usam a implementação do plano de controle gerenciado ISTIOD para usar a implementação TRAFFIC_DIRECTOR. Por padrão, o Google migra suas frotas automaticamente, mas você pode optar por fazer a migração por conta própria. Para verificar qual plano de controle sua frota está usando, consulte Verificar a implementação do plano de controle.

Considere o seguinte ao preparar sua frota para a modernização:

  1. Para se preparar para a modernização, você tem duas maneiras de controlar o processo:

    • Migração automática orientada pelo Google (padrão): você pode personalizar a ordem em que seus clusters são modernizados usando as instruções em Modernização orientada pelo Google.

    • Migração orientada pelo cliente (opcional): você pode optar por fazer a modernização das suas frotas por conta própria, rotulando-as de acordo com as instruções em Modernização orientada pelo cliente.

  2. A modernização orientada pelo Google é a opção padrão. Com essa opção, o Google determina quando suas frotas estão prontas para a modernização. O Google agenda a modernização das suas frotas e notifica você antes de iniciar o processo.

  3. A modernização de um cluster reinicia as cargas de trabalho que têm proxies. Isso não deve causar inatividade se você seguir as práticas recomendadas do Kubernetes. Além disso, o Google vai acionar a modernização durante uma janela de manutenção, se você tiver configurado uma. Depois de iniciada, ela é executada até a conclusão, com mais seis dias de tempo de imersão antes de ser marcada como finalizada. Se o monitoramento detectar problemas, você poderá solicitar um rollback.

  4. Para a modernização orientada pelo cliente, o Google notifica você quando suas frotas estão prontas para a modernização. Em seguida, você pode escolher quando acionar a modernização, cluster por cluster. Depois de concluída, marque cada modernização de frota como concluída.

  5. Depois que uma frota é modernizada, o Google remove todos os componentes baseados no Istiod.

  6. A implementação do plano de controle TRAFFIC_DIRECTOR exige que o cluster esteja registrado em uma frota com o recurso de malha ativado. Se você fez a integração usando ferramentas legadas, o Google vai registrar automaticamente seu cluster na frota do projeto usando a API de associação gkehub.googleapis.com. Se você tiver alguma automação que cancele o registro de um cluster, remova-a antes da modernização.

Modernização orientada pelo Google

Essa opção é a padrão se você não rotular suas frotas para a modernização orientada pelo cliente. O Google vai monitorar suas frotas para determinar quando elas estão prontas para serem modernizadas com segurança. Quando todas as frotas ativadas por malha na sua organização estiverem prontas, a modernização será agendada para a organização.

Várias frotas

Se sua organização tiver várias frotas com o Cloud Service Mesh gerenciado, você poderá controlar a ordem em que o Google moderniza suas frotas definindo um rótulo de projeto mesh-modernization-order para um dos valores: early, default, late. O Google vai concluir a modernização de cada grupo antes de iniciar a modernização de qualquer frota no próximo grupo. As frotas que você escolheu para a modernização orientada pelo cliente não serão consideradas nessa ordem.

Use o comando a seguir para definir o rótulo mesh-modernization-order para uma frota:

gcloud alpha projects update FLEET_PROJECT_ID --update-labels="mesh-modernization-order=VALUE"

Para instruções sobre como definir rótulos de projeto usando o console ou a API REST, consulte o documento Como criar e gerenciar rótulos.

Se você não usar Google Cloud organizações, suas frotas serão programadas e modernizadas de forma independente, e você não poderá controlar a ordem.

Malhas de vários clusters

Se uma frota tiver vários clusters usando o Cloud Service Mesh gerenciado, você poderá controlar a ordem em que o Google moderniza os clusters definindo o rótulo do cluster de mesh-modernization-order para um dos valores: early, default, late. O Google vai iniciar a modernização de cada grupo e aguardar a conclusão das etapas de modernização automatizada antes de iniciar a modernização de qualquer cluster no próximo grupo. Essa ordem só será aplicada em uma frota. Ela não afetará outras frotas na sua organização que possam estar sendo modernizadas em paralelo.

Use o comando a seguir para definir o rótulo mesh-modernization-order para um cluster:

gcloud container clusters update CLUSTER_NAME \
  --location LOCATION \
  --update-labels="mesh-modernization-order=VALUE"

Notificações e agendamento

Esta seção descreve como você será notificado sobre a modernização das suas frotas e clusters.

Notificação de que a modernização será agendada em breve

Primeiro, você será notificado quando suas frotas forem selecionadas para a modernização orientada pelo Google nas próximas semanas.

Essa notificação será enviada antes do primeiro dia útil de um mês nos EUA. A data de início da modernização do cluster mais antiga possível é 14 dias após o primeiro dia útil de um mês nos EUA, e o Google vai fazer o possível para iniciar a primeira modernização do cluster da sua organização até o final do mês civil seguinte. Por exemplo, as notificações serão feitas antes de 1º de abril de 2025, as modernizações de cluster poderão começar a partir de 15 de abril de 2025, e a primeira modernização de cluster deverá começar antes de 31 de maio de 2025.

Você será notificado simultaneamente para cada uma das frotas na sua organização (exceto aquelas que você escolheu para a modernização orientada pelo cliente).

Essa notificação está disponível nas condições de estado do recurso no nível da frota. Use o seguinte comando da Google Cloud CLI para verificar a notificação:

gcloud alpha container fleet mesh describe --project $FLEET_PROJ

Depois que a frota for agendada, você verá uma condição com code: MODERNIZATION_WILL_BE_SCHEDULED e details semelhante a esta:

state:
  servicemesh:
    conditions:
      - code: MODERNIZATION_WILL_BE_SCHEDULED
        details: We will soon schedule clusters in this fleet to be modernized to use the TRAFFIC_DIRECTOR
          control plane implementation. Please confirm your fleet and cluster preferences prior to
          scheduling. Cluster modernization dates will be on or after 2025-03-17.
        documentation_link: ...
        severity: INFO

Notificação no nível do cluster de que a modernização está agendada

Você será notificado, no nível do cluster, da data de início estimada para a modernização orientada pelo Google desse cluster, pelo menos um dia antes do início da modernização do cluster.

Após a notificação no nível da frota, isso oferece um tempo muito mais preciso de modernização de clusters individuais.

As notificações estão disponíveis nas condições de estado do recurso no nível do cluster. Use o seguinte comando da Google Cloud CLI para verificar a notificação:

gcloud container hub mesh describe --project=PROJECT_ID

Você verá resultados semelhantes a estes:

membershipStates:
  projects/656460026795/locations/us-central1/memberships/cluster:
    servicemesh:
      conditions:
      - code: MODERNIZATION_SCHEDULED
        details: This cluster has been scheduled for modernization on or after 2025-03-17.
        documentationLink: ...
        severity: INFO

Modernização ativa para migração orientada pelo Google

Esta seção descreve as etapas da modernização orientada pelo Google.

Modernização de frotas

O Google vai acionar a modernização ativa de cada uma das frotas da sua organização. Isso significa que, para cada frota, as seguintes etapas são executadas:

  1. Modernize todos os clusters com mesh-modernization-order de early.
  2. Modernize todos os clusters com mesh-modernization-order de default ou não especificado.
  3. Modernize todos os clusters com mesh-modernization-order de late.
  4. Aguarde até que a modernização de cada cluster seja marcada como finalizada. Isso significa aguardar pelo menos seis dias úteis após a reinicialização do último pod em qualquer cluster dessa frota.
  5. Finalize a modernização dessa frota, removendo os componentes baseados no Istiod.

Modernização de um cluster

Durante a modernização ativa de um cluster, as duas implementações do plano de controle são executadas temporariamente lado a lado, e as seguintes tarefas são processadas de maneira segura e controlada:

  1. Ative a nova implementação do plano de controle. Se você configurou janelas de manutenção para o cluster e está usando a modernização orientada pelo Google, essa etapa será iniciada durante uma janela de manutenção e continuará até a conclusão. Observe os seguintes detalhes:
  2. Mude o tráfego para a nova implementação do plano de controle. Se você configurou janelas de manutenção para o cluster e está usando a modernização orientada pelo Google, essa etapa será iniciada durante uma janela de manutenção e continuará até a conclusão. Observe os seguintes detalhes:
    • Os pods gerenciados pela implantação do Kubernetes que têm proxies do Cloud Service Mesh são reiniciados para que se reconectem ao novo plano de controle.
    • Os pods são reiniciados em ondas progressivamente maiores com tempo de imersão após cada onda para monitoramento.
  3. Há uma espera de pelo menos seis dias úteis de tempo de imersão antes que a modernização de um cluster seja marcada como finalizada.

Use o seguinte comando da Google Cloud CLI para verificar o status da modernização ativa:

gcloud container fleet mesh describe --project FLEET_PROJECT_ID

Você verá uma condição como uma das seguintes no campo membershipStates por cluster:

...
membershipStates:
  projects/FLEET_PROJ/locations/us-central1/memberships/MEMBERSHIP:
    servicemesh:
      conditions:
      - code: MODERNIZATION_IN_PROGRESS
        details: ...
        documentationLink: ...
        severity: INFO
...
      # If you see this, see instructions provided in the details and documentationLink fields.
      - code: MODERNIZATION_ACTION_REQUIRED
        details: [details about required actions]
        documentationLink: [link to documentation for required actions]
        severity: WARNING
...
      - code: MODERNIZATION_COMPLETED
        details: ...
        documentationLink: ...
        severity: INFO

Modernização orientada pelo cliente

Você pode optar por controlar o tempo exato da modernização no nível da frota. Para fazer isso, aplique um rótulo no projeto host da frota usando o comando a seguir:

gcloud alpha projects update FLEET_PROJECT_ID \
  --update-labels="mesh-modernization-mode=manual"

Se sua Google Cloud organização tiver várias frotas, qualquer frota não rotulada será agendada para a modernização orientada pelo Google.

Quando sua frota estiver qualificada para ser modernizada, você receberá uma notificação no estado do recurso no nível da frota. Você precisa acionar a modernização em até três meses após receber essa notificação.

Consulte as práticas recomendadas de configuração obrigatória a seguir para preparar o cluster para a modernização. Inscreva-se no feed de notas de lançamento do Cloud Service Mesh para receber notificações.