
Hoje, 18 de setembro, a próxima versão do Kubernetes é lançada - 1.16. Como sempre, encontraremos muitas melhorias e novos produtos. Gostaria de chamar sua atenção para as seções do arquivo de ação necessária
CHANGELOG-1.16.md . Essas seções publicam alterações que podem interromper seu aplicativo, ferramentas de manutenção de cluster ou exigir alterações nos arquivos de configuração.
Em geral, requerem intervenção manual ...
Vamos começar imediatamente com uma mudança que provavelmente afetará todos os que trabalham com o kubernetes há algum tempo. A API do Kubernetes parou de oferecer suporte a versões herdadas da API do recurso.
Se alguém não sabia, ou esqueceu ...A versão da API do recurso é indicada no manifesto no campo apiVersion: apps/v1
Ou seja:
Também quero observar que, para objetos como o
Ingress
apiVersion
também mudou para
networking.k8s.io/v1beta1
. O valor antigo
extensions/v1beta1
ainda
extensions/v1beta1
suportado, mas há um bom motivo para atualizar esta versão em manifestos ao mesmo tempo.
Há muitas alterações nos vários rótulos do sistema (rótulos dos nós) instalados nos nós.
O Kubelet foi proibido de definir rótulos arbitrários (antes que eles pudessem ser definidos através das
kubelet --node-labels
do
kubelet --node-labels
), eles deixaram apenas esta lista de nomes
permitidos :
kubernetes.io/hostname kubernetes.io/instance-type kubernetes.io/os kubernetes.io/arch beta.kubernetes.io/instance-type beta.kubernetes.io/os beta.kubernetes.io/arch failure-domain.beta.kubernetes.io/zone failure-domain.beta.kubernetes.io/region failure-domain.kubernetes.io/zone failure-domain.kubernetes.io/region [*.]kubelet.kubernetes.io/* [*.]node.kubernetes.io/*
Os rótulos
beta.kubernetes.io/metadata-proxy-ready
,
beta.kubernetes.io/masq-agent-ds-ready
e
beta.kubernetes.io/kube-proxy-ds-ready
não
beta.kubernetes.io/kube-proxy-ds-ready
mais adicionados a novos nós e vários adicionais componentes começaram a usar rótulos ligeiramente diferentes como um seletor de nó:
O kubeadm agora remove o arquivo de configuração inicial do
bootstrap-kubelet.conf
. Se suas ferramentas acessaram esse arquivo, mude para o
kubelet.conf
, que armazena as configurações de acesso atuais.
O Cadvisor não fornece mais as métricas
pod_name
e
container_name
; se você as usou no Prometheus, acesse as métricas de
pod
e
container
, respectivamente.
As chaves foram removidas com a linha de comando:
O Sheduler começou a usar a API de eventos da versão v1beta1. Se você usar ferramentas de terceiros para interagir com a API de eventos, mude para a versão atual.
Um momento de humor. No processo de preparação do release 1.16, as seguintes alterações foram feitas:
- anotação
scheduler.alpha.kubernetes.io/critical-pod
removida na versão v1.16.0-alpha.1 - anotação retornada
scheduler.alpha.kubernetes.io/critical-pod
na versão v1.16.0-alpha.2 - anotação
scheduler.alpha.kubernetes.io/critical-pod
removida na versão v1.16.0-beta.1
Use o campo
spec.priorityClassName
para indicar a importância da lareira.