Atualizações de imagens pós-migração
Nesta página, você verá realizar operações de manutenção nas cargas de trabalho migradas.
Os artefatos de contêineres gerados não são destinados apenas para a implantação de cargas de trabalho migradas no cluster de destino. Eles também são necessários para operações de manutenção do Dia 2, incluindo as atualizações de software do SO de modo de usuário e de aplicativos, patches de segurança, edição de configurações incorporadas, adição ou substituição de arquivos e atualização do software do ambiente de execução do Migrate to Containers.
Analisar o Dockerfile da imagem gerada
As operações de manutenção usam o Dockerfile gerado e a camada de imagem do sistema capturada. Quando associados à camada do ambiente de execução do Migrate to Containers, esses arquivos podem ser incorporados em uma imagem de contêiner executável.
Os artefatos de contêineres gerados foram criados tendo em mente a integração da fase de compilação do pipeline de CI/CD, conforme descrito no seguinte diagrama:
O Dockerfile é estruturado como uma compilação em vários estágios, para facilitar a manutenção e a manipulação, para que a imagem não aumente.
Veja uma amostra de um Dockerfile gerado:
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 mais informações sobre como criar imagens de contêineres com o Cloud Build, consulte Como criar imagens de contêineres.
Atualizar a camada de componentes das cargas de trabalho migradas
Faça as atualizações ou modificações na camada de imagens das cargas de trabalho
migradas antes da diretiva ENTRYPOINT
.
No exemplo a seguir, atualizamos uma imagem de contêiner migrada de uma VM do SUSE
Enterprise Linux (SLES) como origem, usando o Cloud Build e o
gcloud CLI. O exemplo a seguir atualiza o pacote de distribuição openssh
do SLES.
Dockerfile atualizado:
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/"]
Em seguida, implante a imagem atualizada no cluster.
Atualizar a versão da camada do Migrate to Containers
Quando novas versões do software do Migrate to Containers forem lançadas, é possível atualizar a versão do software nas imagens de cargas de trabalho implantadas. Essas atualizações podem incluir novos recursos, melhorias ou correções de bugs.
Para atualizar a camada de software do Migrate to Containers, edite o Dockerfile e altere a tag de versão para a versão atualizada que você quer aplicar.
Usando o exemplo anterior, é possível atualizar a versão 1.0.3 para a
versão 1.0.4 hipotética editando a diretiva FROM
para o seguinte:
FROM us-docker.pkg.dev/migrate-modernize-public/modernize-plugins-prod/service-manager-runtime:1.0.4 as service-manager-runtime
Depois de atualizar o Dockerfile, é preciso criar uma nova versão da imagem do contêiner da carga de trabalho e aplicá-la às implantações atuais para atualizá-las.
Qual é a próxima etapa?
- Saiba como monitorar cargas de trabalho migradas.