Atualizações de imagem pós-migração
Esta página descreve como realizar operações de manutenção para suas cargas de trabalho migradas.
Os artefatos de contêiner gerados não são destinados apenas para a implantação da carga de trabalho migrada no cluster de destino. Eles também são necessários para operações de manutenção do Dia 2, incluindo a aplicação de 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 de tempo 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 combinados com a camada de 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êiner gerados foram criados tendo em mente a integração da fase de build do pipeline de CI/CD, conforme descrito no diagrama a seguir:
O Dockerfile é estruturado como uma compilação em vários estágios, para facilitar a manutenção e a manipulação, mantendo a imagem aumentada.
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êiner com o Cloud Build, consulte Como criar imagens de contêiner.
Atualizar a camada de componentes da carga de trabalho migrada
Se você quiser aplicar atualizações ou modificações à camada de imagem da carga de trabalho
migrada, aplique-as 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 a
gcloud CLI. O exemplo a seguir atualiza o pacote openssh
da distribuição
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 Migrate to Containers
Quando novas versões do software Migrate to Containers forem lançadas, é possível atualizar essa versão do software nas imagens de carga 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 de 1.0.3 para a
versão hipotética 1.0.4 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 de carga de trabalho e aplicá-la às implantações atuais para atualizá-la.
A seguir
- Saiba como monitorar cargas de trabalho migradas.