Actualizaciones de imágenes posteriores a la migración
En esta página, se describe cómo realizar operaciones de mantenimiento para tus cargas de trabajo migradas.
Los artefactos de contenedor que generas no están diseñados solo para la implementación de la carga de trabajo migrada en el clúster de destino. También los necesitas para las operaciones de mantenimiento del Día 2, que incluyen la aplicación de actualizaciones de software de SO del modo de usuario y la aplicación, parches de seguridad, la edición de configuraciones incorporadas, la adición o el reemplazo de archivos y la actualización del software del entorno de ejecución de Migrate to Containers.
Revisa el Dockerfile de la imagen generada
Las operaciones de mantenimiento usan el Dockerfile generado y la capa de imagen del sistema capturada. Cuando se los combina con la capa de entorno de ejecución de Migrate to Containers, estos archivos se pueden compilar en una imagen de contenedor ejecutable.
Los artefactos de contenedor generados están pensados para integración de fase de compilación de canalización de CI/CD, como se describe en el siguiente diagrama:
El Dockerfile está estructurado como una compilación de varias etapas para facilitar el mantenimiento y la manipulación mientras se evita que aumente el tamaño de la imagen.
A continuación, se muestra un ejemplo de un 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 compilar imágenes de contenedores con Cloud Build, consulta Compila imágenes de contenedores.
Actualiza la capa de componentes de la carga de trabajo migrada
Si deseas 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 fuente, con Cloud Build y la CLI de gcloud. En el siguiente ejemplo, se actualiza el paquete openssh
de distribución de 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/"]
Luego, implementa la imagen actualizada en el clúster.
Actualiza la versión de la capa de Migrate to Containers
Cuando se lanzan nuevas versiones del software de Migrate to Containers, puedes actualizar esa versión de software en las imágenes de cargas de trabajo implementadas. Esas actualizaciones pueden incluir nuevas funciones, mejoras o correcciones de errores.
Para actualizar la capa de software de Migrate to Containers, edita el Dockerfile y cambia la etiqueta de versión a la versión actualizada que deseas aplicar.
Con el ejemplo anterior, puedes actualizar de la versión 1.0.3 a la versión hipotética 1.0.4 si editas la directiva FROM
como se indica a continuación:
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, deberás compilar una nueva versión de imagen de contenedor de carga de trabajo y aplicarla a las implementaciones existentes para actualizarlas.
¿Qué sigue?
- Aprende a supervisar las cargas de trabajo migradas.