APIs obsoletas do Kubernetes 1.26


Nesta página, explicamos como preparar clusters para upgrades para a versão 1.26 do GKE. É possível encontrar clientes de API fazendo chamadas para APIs descontinuadas removidas na versão 1.26 e atualizá-los para usar as APIs do GA. Para informações mais detalhadas, consulte o Guia de migração da API descontinuada do Kubernetes.

APIs removidas na versão 1.26

As APIs descontinuadas no Kubernetes versão 1.26 são APIs Beta que passaram para o GA (por exemplo, v2) ou de uma versão Beta para outra (por exemplo, de v1beta1 para v1beta2). As APIs do GA oferecem garantias de compatibilidade de longo prazo e precisam ser usadas no lugar das APIs Beta descontinuadas.

Todos os objetos existentes para APIs que passaram para novas versões podem interagir com as APIs atualizadas.

Recursos de controle de fluxo

A versão da API flowcontrol.apiserver.k8s.io/v1beta1 de FlowSchema e PriorityLevelConfiguration não é mais veiculada a partir da v1.26.

Migre manifestos e clientes de API para usar a versão da API flowcontrol.apiserver.k8s.io/v1beta3, disponível desde a v1.26. Todos os objetos persistidos existentes são acessíveis usando a nova API.

HorizontalPodAutoscaler

A versão da API autoscaling.apiserver.k8s.io/v2beta2 de HorizontalPodAutoscaler não é mais veiculada a partir da v1.26.

Migre manifestos e clientes de API para usar a versão da API autoscaling.apiserver.k8s.io/v2, disponível desde a v1.23. Todos os objetos persistidos existentes podem ser acessados usando a nova API.

Como preparar o upgrade para a versão 1.26

Não é necessário excluir nem recriar qualquer um dos objetos da API. Todos os objetos permanentes de APIs com upgrade para a verão GA já podem ser lidos e atualizados usando as novas versões da API.

No entanto, recomendamos que você migre seus clientes e manifestos antes de fazer o upgrade para o Kubernetes 1.26. Para saber mais, consulte o Guia de migração de APIs descontinuadas do Kubernetes.

É possível ver insights e recomendações de descontinuação para determinar se o cluster está usando APIs descontinuadas do Kubernetes 1.26. O GKE gera insights de descontinuação quando os user agents chamam APIs descontinuadas, não com base na configuração dos objetos do Kubernetes.

Encontrar clusters que usam APIs descontinuadas

Para saber quais clusters estão usando APIs descontinuadas, acesse os insights de descontinuação. Os insights de descontinuação também fornecem informações como quais clientes de API estão chamando as APIs descontinuadas no cluster.

Também é possível usar registros de auditoria para descobrir quais clientes estão fazendo chamadas para APIs descontinuadas.

Localizar clientes de API que fazem chamadas de gravação para APIs descontinuadas

Para clusters com a observabilidade do Google Cloud ativada, é possível usar a consulta do registro de auditoria da atividade do administrador a seguir para mostrar o uso de APIs descontinuadas por user agents que não são gerenciados pelo Google.

resource.type="k8s_cluster"
labels."k8s.io/removed-release"="DEPRECATED_API_MINOR_VERSION"
protoPayload.authenticationInfo.principalEmail:("system:serviceaccount" OR "@")
protoPayload.authenticationInfo.principalEmail!~("system:serviceaccount:kube-system:")

Substitua DEPRECATED_API_MINOR_VERSION pela versão secundária em que a API descontinuada foi removida, por exemplo, 1.22.

Os registros de auditoria de atividades do administrador são ativados automaticamente para clusters do GKE. Com essa consulta, os registros mostram os user agents que fazem chamadas de gravação para as APIs descontinuadas.

Localizar clientes de API que fazem chamadas de leitura para APIs descontinuadas

Por padrão, os registros de auditoria mostram apenas chamadas de gravação para as APIs descontinuadas. Para mostrar também chamadas de leitura para APIs descontinuadas, configure os registros de auditoria de acesso a dados.

Siga as instruções para configurar os registros de auditoria de acesso a dados com o console do Google Cloud. No console do Google Cloud, selecione a API Kubernetes Engine. Na guia "Tipos de registro" no painel de informações, selecione Admin Read e Data Read.

Com esses registros ativados, agora é possível usar a consulta original para ver chamadas de leitura e de gravação para as APIs descontinuadas.

Como fazer upgrade de componentes de terceiros

Os insights de descontinuação podem exibir resultados para agentes de terceiros que fazem chamadas para APIs descontinuadas no cluster.

Para resolver o problema de agentes de terceiros que chamam APIs descontinuadas, sugerimos as seguintes práticas recomendadas:

  1. Verifique com seu provedor de software de terceiros se há uma versão atualizada.
  2. Atualize o software de terceiros para a versão mais recente. Se não for possível fazer upgrade do software, teste se o upgrade do GKE para a versão em que as APIs descontinuadas foram removidas interrompe o serviço.

Recomendamos que você realize esse upgrade e o upgrade da versão do GKE em um cluster de preparo para monitorar interrupções antes de fazer upgrade dos clusters de produção.

Atualizar clusters afetados por descontinuação

Para fazer upgrade dos clusters afetados pelas descontinuações de uso, siga estas etapas:

  1. Verifique quais user agents usam as APIs descontinuadas nos registros.
  2. Atualize os user agents que usam as APIs descontinuadas para usar as versões compatíveis.
  3. Atualize qualquer software de terceiros que chame APIs descontinuadas para as versões mais recentes.
  4. Faça upgrade de um cluster de teste e teste o aplicativo em um ambiente de teste antes de fazer upgrade do cluster de produção. Isso reduz o risco de interrupções quando as APIs descontinuadas não estão mais disponíveis.
  5. Se não for possível atualizar um user agent afetado, faça upgrade de um cluster de teste separado para verificar se isso causa interrupções. Se o upgrade não causar interrupções, faça upgrade do cluster manualmente.

  6. Depois que você atualizar todos os user agents, o GKE aguardará até que ele não observe mais o uso de APIs descontinuadas por 30 dias e, em seguida, desbloqueará os upgrades automáticos. Os upgrades automáticos prosseguem de acordo com a programação de lançamentos.

Recursos

Há mais informações disponíveis na documentação do OSS Kubernetes: