Nesta página, explicamos como preparar clusters para upgrades para a versão 1.29 do GKE. É possível encontrar clientes de API fazendo chamadas para APIs descontinuadas removidas na versão 1.29 e atualizar esses clientes para usar as APIs GA. Para informações mais detalhadas, consulte o Guia de migração da API descontinuada do Kubernetes.
APIs removidas na versão 1.29
As APIs descontinuadas no Kubernetes versão 1.29 são APIs Beta que
passaram para GA (por exemplo, v2
) ou de uma versão Beta para outra (por exemplo,
de v1beta1
para v1beta2
). As APIs em GA oferecem garantias de compatibilidade de longo prazo
e devem 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/v1beta2
de FlowSchema e PriorityLevelConfiguration não é mais veiculada a partir da v1.29.
Migre manifestos e clientes da API para usar a versão da API
flowcontrol.apiserver.k8s.io/v1
, disponível desde a v1.29, ou a
versão da API flowcontrol.apiserver.k8s.io/v1beta3
, disponível desde a v1.26.
Todos os objetos atuais mantidos podem ser acessados por meio da nova API.
A versão flowcontrol.apiserver.k8s.io/v1
da API tem as seguintes mudanças
importantes:
- O campo PriorityLevelConfiguration
spec.limited.assuredConcurrencyShares
é renomeado comospec.limited.nominalConcurrencyShares
e só volta a ser 30 quando não especificado. Além disso, um valor explícito de 0 não muda para 30.
A versão flowcontrol.apiserver.k8s.io/v1beta3
da API tem as seguintes mudanças
importantes:
- O campo PriorityLevelConfiguration
spec.limited.assuredConcurrencyShares
foi renomeado comospec.limited.nominalConcurrencyShares
.
Preparação relativa ao upgrade para a versão 1.29
Não é preciso excluir nem recriar nenhum objeto 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 os manifestos e clientes antes de fazer o upgrade para o Kubernetes 1.29. Para saber mais, consulte o Guia de migração de APIs descontinuadas do Kubernetes.
É possível conferir insights e recomendações de descontinuação para determinar se o cluster está usando APIs descontinuadas do Kubernetes 1.29. 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:
- Verifique com seu provedor de software de terceiros se há uma versão atualizada.
- 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:
- Verifique quais user agents usam as APIs descontinuadas nos registros.
- Atualize os user agents que usam as APIs descontinuadas para usar as versões compatíveis.
- Atualize qualquer software de terceiros que chame APIs descontinuadas para as versões mais recentes.
- 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.
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.
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:
- Blog do Kubernetes:Remoções, descontinuações e principais alterações no Kubernetes 1.29
- Notas da versão 1.29 do Kubernetes
- Guia de migração da API obsoleta do Kubernetes