Implantar uma carga de trabalho do Linux em um cluster de destino
Depois de migrar uma carga de trabalho da plataforma de origem, use os artefatos de implantação gerados durante esse processo para implantar o contêiner de carga de trabalho migrado para outro cluster.
O Skaffold pode lidar com o fluxo de trabalho para criar, enviar e implantar o aplicativo. Para mais informações, consulte Criar e implantar várias imagens usando o Skaffold.
Antes de começar
Antes de implantar a carga de trabalho, você precisa:
- Migrar a carga de trabalho usando as ferramentas do Migrate to Containers.
- Revisar os arquivos de implantação gerados.
Implantar em um cluster de destino
As seções a seguir descrevem as opções disponíveis para implantar seu em um cluster.
Implantar em um cluster de destino usando o GCR como o registro do Docker
Para que um cluster de destino tenha acesso ao Container Registry (GCR), crie um secret do Kubernetes que contenha as credenciais necessárias para acessar o GCR:
Crie uma conta de serviço para implantar uma migração, conforme descrito em Como criar uma conta de serviço para acessar o Container Registry e o Cloud Storage.
Esse processo faz o download de um arquivo de chave JSON chamado
m4a-install.json
.Crie um secret do Kubernetes que contenha as credenciais necessárias para acessar o GCR:
kubectl create secret docker-registry gcr-json-key \ --docker-server=gcr.io --docker-username=_json_key --docker-password="$(cat ~/m4a-install.json)" \ --docker-email=account@project.iam.gserviceaccount.com
em que:
docker-registry
especifica o nome do secret do Kubernetes. Neste exemplo, gcr-json-key;docker-server=gcr.io
especifica o GCR como o servidor;docker-username=_json_key
especifica que o nome de usuário está no arquivo de chave JSON;docker-password
especifica o uso da senha no arquivo de chave JSON.docker-email
especifica o endereço de e-mail da conta de serviço.
Configure o secret do Kubernetes de uma das seguintes maneiras:
Alterando o valor padrão de
imagePullSecrets
:kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "gcr-json-key"}]}'
Editar o arquivo
deployment_spec.yaml
para adicionar o valorimagePullSecrets
à definiçãospec.template.spec
.spec: containers: - image: gcr.io/PROJECT_ID/mycontainer-instance:v1.0.0 name: mycontainer-instance ... volumes: - hostPath: path: /sys/fs/cgroup type: Directory name: cgroups imagePullSecrets: - name: gcr-json-key
Implantar em um cluster de destino usando um registro do Docker com autenticação básica
Se você usa um registro do Docker para armazenar imagens de migração, o registro precisa ser compatível com a autenticação básica com um nome de usuário e uma senha. Como há muitas maneiras de configurar uma conexão somente leitura a um registro do Docker, use o método apropriado para sua plataforma de cluster e o registro do Docker.
Aplicar arquivo YAML de implantação gerado
Use kubectl
para aplicar a especificação de implantação ao cluster de destino, como um cluster de produção.
kubectl
Verifique se o cluster de destino tem acesso de leitura à imagem Docker de registros.
Implantar o contêiner:
kubectl apply -f deployment_spec.yaml
A seguir
- Saiba como concluir atualizações de imagem pós-migração.