
Hoy, 18 de septiembre, se lanza la próxima versión de Kubernetes: 1.16. Como siempre, encontraremos muchas mejoras y nuevos productos. Pero me gustaría llamar su atención sobre las secciones del archivo Acción requerida
CHANGELOG-1.16.md . Estas secciones publican cambios que pueden dañar su aplicación, las herramientas de mantenimiento del clúster o requerir cambios en los archivos de configuración.
En general, requieren intervención manual ...
Comencemos de inmediato con un cambio que probablemente afecte a todos los que han estado trabajando con kubernetes durante bastante tiempo. La API de Kubernetes ha dejado de admitir versiones heredadas de la API de recursos.
Si alguien no lo sabía, o se olvidó ...La versión de la API de recursos se indica en el manifiesto en el campo apiVersion: apps/v1
A saber:
También quiero señalar que para objetos como
Ingress
apiVersion
también
apiVersion
cambiado a
networking.k8s.io/v1beta1
. El antiguo
extensions/v1beta1
todavía
extensions/v1beta1
compatible, pero hay una buena razón para actualizar esta versión en manifiestos al mismo tiempo.
Hay muchos cambios en varias etiquetas del sistema (etiquetas de nodo) que se instalan en los nodos.
Se prohibió a Kubelet establecer etiquetas arbitrarias (antes de que se pudieran establecer a través de las
kubelet --node-labels
), dejaron solo esta lista de
permitidas :
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/*
Las etiquetas
beta.kubernetes.io/metadata-proxy-ready
,
beta.kubernetes.io/masq-agent-ds-ready
y
beta.kubernetes.io/kube-proxy-ds-ready
ya no se agregan a nuevos nodos, y varios más los componentes comenzaron a usar etiquetas ligeramente diferentes como un selector de nodo:
kubeadm ahora elimina el archivo de configuración inicial de
bootstrap-kubelet.conf
. Si sus herramientas accedieron a este archivo, cambie a usar
kubelet.conf
, que almacena la configuración de acceso actual.
Cadvisor ya no proporciona las métricas
pod_name
y
container_name
, si las usó en Prometheus, vaya a las métricas
pod
y
container
, respectivamente.
Las claves se eliminaron con la línea de comando:
Sheduler comenzó a usar la versión v1beta1 Event API. Si utiliza herramientas de terceros para interactuar con la API de eventos, cambie a la versión actual.
Un momento de humor. En el proceso de preparación de la versión 1.16, se realizaron los siguientes cambios:
- Anotación eliminada
scheduler.alpha.kubernetes.io/critical-pod
en la versión v1.16.0-alpha.1 - Anotación devuelta
scheduler.alpha.kubernetes.io/critical-pod
en la versión v1.16.0-alpha.2 - Anotación eliminada
scheduler.alpha.kubernetes.io/critical-pod
en la versión v1.16.0-beta.1
Use el campo
spec.priorityClassName
para indicar la importancia del hogar.