Use as APIs beta do Kubernetes para aceder a novas funcionalidades nos seus clusters do Google Kubernetes Engine (GKE). Para usar APIs beta introduzidas com a versão 1.24 ou posterior, configure as APIs beta.
Como são introduzidas novas funcionalidades com a API Kubernetes
Os clusters do GKE consistem num painel de controlo e nós de trabalho. O plano de controlo expõe o servidor da API, que expõe a API Kubernetes para que os utilizadores finais, juntamente com os componentes internos e externos, possam comunicar. Esta API evolui ao longo do tempo, com novas funcionalidades introduzidas nas fases alfa ou beta e, posteriormente, a passar para disponibilidade geral (DG) ou a ser descontinuada e removida em versões secundárias mais recentes.
Só pode usar APIs alfa com clusters alfa, mas pode usar APIs beta com todos os tipos de clusters do GKE. A partir da versão 1.24 do Kubernetes, as novas APIs beta estão desativadas por predefinição nos novos clusters. Os clusters existentes criados com uma versão anterior à 1.24 mantêm as APIs beta existentes ativadas, uma vez que as APIs beta ativadas automaticamente (introduzidas antes da versão 1.24) ou ativadas manualmente (introduzidas na versão 1.24 ou posterior) não podem ser desativadas em clusters existentes. Para todos os clusters, as APIs beta existentes introduzidas antes da versão 1.24 permanecem ativadas por predefinição, e as novas versões das APIs beta existentes também permanecem ativadas por predefinição.
Por exemplo, se uma API v1beta1
foi introduzida na versão 1.22 do Kubernetes, e uma nova versão desta API beta, como v1beta3
, for introduzida na versão 1.25 do Kubernetes, a API é ativada automaticamente. Isto acontece porque é uma nova versão de uma API beta existente e não uma API beta completamente nova. No entanto, uma nova API beta com a versão v1beta1
introduzida na versão 1.24 do Kubernetes ou posterior está desativada por predefinição.
Para usar as APIs beta introduzidas com a versão 1.24 e posteriores, tem de configurar as APIs beta por recurso por cluster. Pode ativar APIs durante a criação do cluster ou para um cluster existente. Para ver que APIs beta estão disponíveis para a versão secundária do seu cluster, consulte as APIs beta disponíveis.
Depois de ativar uma API beta, esta permanece ativada até ser descontinuada e o cluster ser atualizado para a versão secundária em que a API é removida. Para ver que APIs beta o seu cluster tem ativadas, consulte o artigo Verifique que APIs beta estão ativadas.
APIs beta do Kubernetes e gates de funcionalidades do Kubernetes
Os Feature Gates são um mecanismo distinto para a ativação de funcionalidades das APIs Kubernetes e são geridos de forma diferente pelos clusters do GKE. Algumas APIs Kubernetes e Kubernetes feature gates funcionam em conjunto. Certifique-se de que compreende a ligação entre APIs e gates de funcionalidades específicos. Para mais informações, consulte Feature gates.
APIs beta disponíveis
Pode ativar um subconjunto de APIs beta do Kubernetes para os seus clusters do GKE. Outras APIs beta não estão disponíveis por motivos como os seguintes:
- A API beta baseia-se em funcionalidades do Kubernetes não GA.
- A API beta não é segura.
- A API beta não é compatível com o Autopilot.
Consulte a tabela seguinte para ver as APIs beta e a versão secundária correspondente em que foram introduzidas:
Versão do Kubernetes | APIs beta adicionadas com esta versão secundária do Kubernetes | Disponível com o GKE | Notas |
---|---|---|---|
1.32 |
|
|
Tem de ativar todas as APIs |
1.31 |
|
|
Tem de ativar as 2 APIs |
1,29 |
|
|
Tem de ativar ambas as APIs em simultâneo. Esta opção ativa a funcionalidade beta Validating Admission Policy. |
1.28 |
|
|
|
1,27 |
|
|
Considerações antes de usar APIs beta
As APIs beta do Kubernetes estão sujeitas à Política de Descontinuação do Kubernetes. Quando uma API beta é descontinuada, tem de interromper a respetiva utilização. Para saber mais, consulte as descontinuações da API Beta.
Antes de começar
Antes de começar, certifique-se de que realizou as seguintes tarefas:
- Ative a API Google Kubernetes Engine. Ative a API Google Kubernetes Engine
- Se quiser usar a CLI gcloud para esta tarefa,
instale-a e, em seguida,
inicialize-a. Se instalou anteriormente a CLI gcloud, execute
gcloud components update
para obter a versão mais recente.
Configure APIs beta
As APIs beta são ativadas por recurso por cluster. Pode ativar APIs quando criar um cluster ou para um cluster existente.
Para apresentar um recurso da API beta para estes comandos, use a representação
{group}/{version}/{resource}
. A versão tem de ser uma versão beta. Um exemplo desta representação válida é authentication.k8s.io/v1beta1/selfsubjectreviews
.
Para os comandos na secção seguinte, substitua as seguintes variáveis:
CLUSTER_NAME
: o nome do cluster que quer atualizar.LIST_OF_APIS
: a lista de APIs beta que quer ativar, numa lista separada por vírgulas.CONTROL_PLANE_LOCATION
: a localização do Compute Engine do plano de controlo do seu cluster. Indique uma região para clusters regionais ou uma zona para clusters zonais.
Crie um novo cluster com as APIs beta ativadas
Crie um novo cluster com uma lista de APIs beta ativadas:
gcloud container clusters create-auto CLUSTER_NAME \
--enable-kubernetes-unstable-apis=LIST_OF_APIS \
--location=CONTROL_PLANE_LOCATION
Ative APIs beta num cluster existente
Ative uma lista de APIs beta num cluster existente:
gcloud container clusters update CLUSTER_NAME \
--enable-kubernetes-unstable-apis=LIST_OF_APIS \
--location=CONTROL_PLANE_LOCATION
Certifique-se de que os nós usam as APIs beta recém-ativadas
Algumas funcionalidades beta requerem que a funcionalidade também esteja ativada no kubelet em execução nos nós de trabalho.
Para usar estas funcionalidades da API beta recém-ativadas com cargas de trabalho em execução nos nós de trabalho, o GKE tem de aplicar a alteração aos nós:
- Para nós em novos grupos de nós padrão e grupos de nós do Autopilot, o GKE ativa as APIs beta.
- Para nós novos e existentes em pools de nós padrão existentes ou grupos de nós existentes no Autopilot, o GKE aplica a alteração quando os nós são recriados durante as atualizações de nós ou outros tipos de atualizações de nós. Para aplicar imediatamente a alteração aos nós existentes num node pool do cluster padrão, pode atualizar manualmente o node pool para uma versão posterior do GKE. A execução de uma atualização no local não aplica a alteração.
Desative as APIs beta num cluster existente
Não pode desativar APIs beta que já estejam ativadas num cluster. As APIs beta permanecem disponíveis até serem descontinuadas e o cluster ser atualizado para a versão secundária em que a API é removida. Para saber mais, consulte o artigo Descontinuações de APIs beta.
Verifique que APIs beta estão ativadas
Verifique que APIs beta estão ativadas para o seu cluster do GKE:
gcloud container clusters describe CLUSTER_NAME \
--location=CONTROL_PLANE_LOCATION \
--format="value(enableK8sBetaApis.enabledApis)"
Descontinuações de APIs beta
Depois de ativar uma API beta, esta permanece ativada até ser descontinuada e o cluster ser atualizado para a versão secundária em que a API é removida.
Normalmente, as APIs beta estão disponíveis durante três versões secundárias antes de serem descontinuadas em favor de uma nova versão beta, uma versão estável ou sem substituição. As versões beta das APIs são removidas três versões secundárias após a descontinuação. Se estiver a usar uma API beta que foi descontinuada e vai ser removida numa próxima versão secundária do Kubernetes, tem de migrar para APIs suportadas para que o cluster possa ser atualizado para a versão secundária onde a API beta é removida. Para saber mais, consulte o artigo Como funcionam as descontinuações do Kubernetes com o GKE.
O GKE facilita este processo ao tentar detetar a utilização de APIs Kubernetes descontinuadas. Se o GKE detetar a utilização de uma API descontinuada, pausa as atualizações automáticas para a versão secundária em que essa API é removida. O GKE também partilha estatísticas de descontinuação e recomendações para lhe enviar uma notificação sobre a utilização de uma API descontinuada pelo seu cluster, para que possa tomar medidas para permitir que as atualizações continuem. Para saber mais, consulte o artigo Avalie e mitigue a exposição a descontinuações futuras do Kubernetes.
Consulte a tabela de descontinuações da API Kubernetes para ver uma lista completa das APIs descontinuadas e se o GKE deteta a utilização.