Hoy, 18 de septiembre, se lanza la próxima versión de Kubernetes: la 1.16. Como siempre nos esperan muchas mejoras y nuevos productos. Pero me gustaría llamar su atención sobre las secciones Acción requerida del archivo.
En general, requieren intervención manual...
Comencemos de inmediato con un cambio que probablemente afectará a todos los que han trabajado con Kubernetes durante el tiempo suficiente. La API de Kubernetes ya no admite versiones heredadas de API de recursos.
Si alguien no lo supo o lo olvidó...La versión API del recurso se indica en el manifiesto, en el campo apiVersion: apps/v1
A saber
Tipo de recurso
Versión antigua
¿Con qué se debe reemplazar?
Todos los recursos
aplicaciones/v1beta1
aplicaciones/v1beta2
aplicaciones / v1
Despliegues
demonio
conjunto de réplicas
extensión/v1beta1
aplicaciones / v1
políticas de red
extensiones/v1beta1
redes.k8s.io/v1
políticas de seguridad del pod
extensiones/v1beta1
política/v1beta1
También me gustaría llamar su atención sobre el hecho de que los objetos del tipo Ingress
también cambió apiVersion
en networking.k8s.io/v1beta1
. Antiguo significado extensions/v1beta1
todavía es compatible, pero hay una buena razón para actualizar esta versión en los manifiestos al mismo tiempo.
Hay bastantes cambios en varias etiquetas del sistema (etiquetas de nodo) que se instalan en los nodos.
A Kubelet se le prohibió establecer etiquetas arbitrarias (antes se podían configurar mediante claves de inicio). kubelet --node-labels
), dejaron solo esta lista
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/*
Etiquetas beta.kubernetes.io/metadata-proxy-ready
, beta.kubernetes.io/metadata-proxy-ready y beta.kubernetes.io/kube-proxy-ds-ready ya no se agregan a los nuevos nodos, y varios componentes adicionales han comenzado a usar etiquetas ligeramente diferentes como selectores de nodos:
componente
etiqueta vieja
Etiqueta actual
proxy de kube
beta.kubernetes.io/kube-proxy-ds-ready
node.kubernetes.io/kube-proxy-ds-ready
agente-máscara-ip
beta.kubernetes.io/masq-agent-ds-ready
node.kubernetes.io/masq-agent-ds-ready
proxy de metadatos
beta.kubernetes.io/metadata-proxy-ready
cloud.google.com/metadata-proxy-ready
kubeadm ahora elimina el archivo de configuración inicial del kublet detrás de él bootstrap-kubelet.conf
. Si sus herramientas estaban accediendo a este archivo, entonces cambie a usar kubelet.conf
, que almacena la configuración de acceso actual.
Cadvisor ya no proporciona métricas pod_name
и container_name
si los usaste en Prometheus, ve a métricas pod
и container
respectivamente.
Se eliminaron las claves con el comando de línea:
componente
llave retraída
hiperkube
--hacer-enlace simbólico
proxy de kube
--contenedor-de-recursos
El programador comenzó a utilizar la versión v1beta1 de la API de eventos. Si utiliza herramientas de terceros para interactuar con la API de eventos, cambie a la última versión.
Un momento de humor. Durante la preparación de la versión 1.16, se realizaron los siguientes cambios:
- eliminó la anotación
scheduler.alpha.kubernetes.io/critical-pod
en la versión v1.16.0-alpha.1 - devolvió la anotación
scheduler.alpha.kubernetes.io/critical-pod
en la versión v1.16.0-alpha.2 - eliminó la anotación
scheduler.alpha.kubernetes.io/critical-pod
en la versión v1.16.0-beta.1
Usa el campo spec.priorityClassName
para indicar la importancia de la vaina.
Fuente: habr.com