Kubernetes 1.17: cómo actualizar y no gastar todo el presupuesto de errores

Kubernetes 1.17: cómo actualizar y no gastar todo el presupuesto de errores

El 9 de diciembre se lanzó la próxima versión de Kubernetes: la 1.17. Su lema es "Estabilidad", muchas funciones recibieron el estado GA, se eliminaron varias funciones obsoletas...

Y, como siempre, nuestra sección favorita es el archivo Acción requerida. REGISTRO DE CAMBIOS-1.17.md requiere atención.

Trabajemos con nuestras manos...

¡Atención, almacenamiento!

La actualización de kubelet sobre la marcha no es compatible con la versión 1.17 porque la ruta para bloquear volúmenes ha cambiado. Antes de actualizar un nodo, debes evacuar todos los pods de él usando el comando kubectl drain.

Banderas y puertas...

En el registro de cambios generalmente escriben que tal o cual bandera o puerta de característica fue eliminada o agregada, pero por alguna razón nunca escriben la aplicación para la cual ocurrió este cambio...:

  • Bandera eliminada --include-uninitialized у kubectl;
  • Funcionalidad que cuentan con puertas permitidas. GCERegionalPersistentDisk, EnableAggregatedDiscoveryTimeout и PersistentLocalVolumes, ahora siempre se utiliza y no se puede desactivar. Estas opciones han sido eliminadas de posibles claves. api-server и controller-manager;
  • La red de direcciones IP para servicios ya no está asignada por defecto. Debe especificarse usando la bandera. --service-cluster-ip-range al iniciar el servidor API y el controlador-administrador.

kubeadm

  • Kubeadm aprendió a configurar la renovación automática de certificados para kubelet en todos los nodos del clúster, incluido el primer maestro donde se ejecutó el comando. kubeadm init. Un efecto secundario fue el requisito de un archivo con la configuración inicial de kubelet. bootstrap-kubelet.conf en lugar de kubelet.conf en tiempo de ejecución kubeadm init;
  • Al agregar modos de autorización a la API, el servidor kubeadm ya no sustituye los modos Node, RBAC en el manifiesto del pod estático, lo que le permite cambiar completamente la configuración.

RBAC

Se eliminaron roles de clúster integrados. system:csi-external-provisioner и system:csi-external-attacher.

Obsoleto…

Varias funciones han quedado obsoletas, pero aún son compatibles. Pero me gustaría destacar especialmente el proceso de transición al uso de ContainerStorageInterface. Los administradores que hayan implementado sus propios clústeres (no administrados) en AWS y GCE deben planificar la migración y utilizar el controlador CSI para trabajar con volúmenes persistentes en lugar de los controladores integrados en Kubernetes. El procedimiento de CSIMigration debería ayudarles con esto; estamos esperando que aparezca la guía paso a paso. Para los administradores que utilizan otros proveedores para conectar discos persistentes, es hora de buscar y leer la documentación: la versión 1.21 promete eliminar permanentemente todos los controladores integrados.

Fuente: habr.com

Añadir un comentario