Actualizaciones de imágenes posteriores a la migración
En esta página se describe cómo realizar operaciones de mantenimiento en las cargas de trabajo migradas.
Los artefactos de contenedor que generas no solo se usan para desplegar la carga de trabajo migrada en el clúster de destino. También los necesitas para las operaciones de mantenimiento del segundo día, como aplicar actualizaciones de software del sistema operativo en modo de aplicación y de usuario, parches de seguridad, editar configuraciones insertadas, añadir o sustituir archivos y actualizar el software de tiempo de ejecución de Migrar a contenedores.
Revisar el Dockerfile de la imagen generada
Las operaciones de mantenimiento usan el Dockerfile generado y la capa de imagen del sistema capturada. Si se combinan con la capa de tiempo de ejecución de Migrate to Containers, estos archivos se pueden compilar en una imagen de contenedor ejecutable.
Los artefactos de contenedor generados se crean teniendo en cuenta la integración de la fase de compilación del flujo de procesamiento de CI/CD, tal como se describe en el siguiente diagrama:
El archivo Dockerfile se estructura como una compilación de varias fases para facilitar el mantenimiento y la manipulación, al tiempo que se evita que la imagen aumente de tamaño.
A continuación se muestra un ejemplo de un archivo Dockerfile generado:
FROM us-docker.pkg.dev/migrate-modernize-public/modernize-plugins-prod/service-manager-runtime:1.0.3 as service-manager-runtime
FROM scratch
# Tar containing data captured from the source VM
ADD vmFiles.tar.gz /
COPY --from=service-manager-runtime / /
ADD blocklist.yaml /.m4a/blocklist.yaml
ADD logs.yaml /code/config/logs/logsArtifact.yaml
ADD services-config.yaml /.m4a/
ADD tempfiles.yaml /.m4a/
# If you want to update parts of the image, add your commands here.
# For example:
# RUN apt-get update
# RUN apt-get install -y \
# package1=version \
# package2=version \
# package3=version
# RUN yum update
# RUN wget http://github.com
ENTRYPOINT ["/ko-app/service-manager-runtime", "start", "-c", "/.m4a/"]
Para obtener más información sobre cómo crear imágenes de contenedor con Cloud Build, consulta el artículo Crear imágenes de contenedor.
Actualizar la capa de componentes de la carga de trabajo migrada
Si quieres aplicar alguna actualización o modificación a la capa de imagen de la carga de trabajo migrada, debes hacerlo antes de la directiva ENTRYPOINT
.
En el siguiente ejemplo, actualizamos una imagen de contenedor migrada desde una VM de SUSE Enterprise Linux (SLES) como origen, mediante Cloud Build y la CLI de gcloud. En el siguiente ejemplo se actualiza el paquete openssh
de la distribución SLES.
Dockerfile actualizado:
FROM us-docker.pkg.dev/migrate-modernize-public/modernize-plugins-prod/service-manager-runtime:1.0.3 as service-manager-runtime
FROM scratch
# Tar containing data captured from the source VM
ADD vmFiles.tar.gz /
COPY --from=service-manager-runtime / /
ADD blocklist.yaml /.m4a/blocklist.yaml
ADD logs.yaml /code/config/logs/logsArtifact.yaml
ADD services-config.yaml /.m4a/
ADD tempfiles.yaml /.m4a/
# If you want to update parts of the image, add your commands here.
# For example:
# RUN apt-get update
# RUN apt-get install -y \
# package1=version \
# package2=version \
# package3=version
# RUN yum update
# RUN wget http://github.com
RUN zypper ref -s && zypper -n in openssh
ENTRYPOINT ["/ko-app/service-manager-runtime", "start", "-c", "/.m4a/"]
A continuación, despliega la imagen actualizada en el clúster.
Actualizar la versión de la capa de Migrate to Containers
Cuando se lancen nuevas versiones del software de Migrate to Containers, podrá actualizar la versión del software en las imágenes de las cargas de trabajo desplegadas. Estas actualizaciones pueden incluir nuevas funciones, mejoras o correcciones de errores.
Para actualizar la capa de software de Migrate to Containers, edita el archivo Dockerfile y cambia la etiqueta de versión a la versión actualizada que quieras aplicar.
Siguiendo el ejemplo anterior, puedes actualizar la versión de 1.0.3 a la hipotética versión 1.0.4 editando la directiva FROM
de la siguiente manera:
FROM us-docker.pkg.dev/migrate-modernize-public/modernize-plugins-prod/service-manager-runtime:1.0.4 as service-manager-runtime
Después de actualizar el Dockerfile, tendrás que compilar una nueva versión de la imagen del contenedor de la carga de trabajo y aplicarla a las implementaciones actuales para que se actualice.
Siguientes pasos
- Consulta cómo monitorizar cargas de trabajo migradas.