Migración de nodos de Docker a containerd
Contexto
Kubernetes ha eliminado dockershim de v1.24 y no es compatible con Docker de forma predeterminada. CCE seguirá soportando Docker en la v1.25 pero solo hasta la v1.27. Los siguientes pasos muestran cómo migrar nodos de Docker a containerd.
Requisitos previos
- Se ha creado al menos un clúster que admite nodos de containerd. Para obtener más información, véase Asignación entre los sistemas operativos de nodos y los motores de contenedores.
- Hay un nodo de Docker o un grupo de nodos de Docker en el clúster.
Precauciones
- Teóricamente, la migración durante la ejecución de contenedor interrumpirá los servicios durante un corto período de tiempo. Por lo tanto, se recomienda encarecidamente que los servicios que se van a migrar se hayan desplegado como varias instancias. Además, se recomienda probar el impacto de la migración en el entorno de prueba para minimizar los riesgos potenciales.
- containerd no puede crear imágenes. No utilice el comando docker build para generar imágenes en nodos de containerd. Para otras diferencias entre Docker y containerd, véase Descripción del motor de contenedores.
Migración de un nodo
- Inicie sesión en la consola de CCE y haga clic en el nombre del clúster para acceder al clúster.
- En el panel de navegación, elija Nodes. En la lista de nodos, seleccione uno o más nodos que desea restablecer y elija More > Reset Node.
- Ajuste Container Engine a containerd. Puede ajustar otros parámetros según sea necesario o conservarlos según se establezca durante la creación.
- Si el estado del nodo es Installing, se está restableciendo el nodo.
Cuando el estado del nodo es Running, puede ver que la versión del nodo cambia a containerd. Puede iniciar sesión en el nodo y ejecutar comandos de containerd como crictl para ver información sobre los contenedores que se ejecuta en el nodo.
Migración de un grupo de nodos
Puede copiar un grupo de nodos, establecer el motor contenedor del nuevo grupo de nodos en containerd y mantener otras configuraciones iguales a las del grupo de nodos de Docker original.
- Inicie sesión en la consola de CCE y haga clic en el nombre del clúster para acceder al clúster.
- En el panel de navegación, elija Nodes. En la página de ficha Node Pools, busque el grupo de nodos de Docker que desea copiar y elija More > Copy en la columna Operation.
- En el área Compute Settings, establezca Container Engine en containerd y modifique otros parámetros según sea necesario.
- Escale el número de grupos de nodos en containerd creados al número de grupos de nodos de Docker originales y eliminar los nodos de los grupos de nodos de Docker uno por uno.
Se prefiere la migración de balanceo. Es decir, agregue algunos nodos en containerd y luego elimine algunos nodos de Docker hasta que el número de nodos en el nuevo grupo de nodos en containerd sea el mismo que en el grupo de nodos Docker original.
Si ha establecido afinidad de nodos para las cargas de trabajo desplegadas en los nodos o el grupo de nodos de Docker originales, debe establecer políticas de afinidad para que las cargas de trabajo se ejecuten en los nuevos nodos o grupos de nodos containerd.
- Después de la migración, elimine el grupo de nodos de Docker original.