Como configurar implantações automáticas

É possível configurar implantações automáticas para as cargas de trabalho no Google Kubernetes Engine (GKE).

Nesta página, mostramos como configurar um pipeline simples de integração/entrega contínua (CI/CD) para a carga de trabalho. Quando você envia uma alteração para seu repositório, o Cloud Build cria e implanta o contêiner automaticamente no Cluster do GKE.

Como funciona uma implantação automática

Se você tiver uma carga de trabalho que faça referência a uma imagem de contêiner único no GKE, será possível configurar uma implantação automática. Assim, o aplicativo será recriado e implantado novamente sempre que uma alteração de código for inserida no repositório.

Com a implantação automática, você define a carga de trabalho como um arquivo YAML e a armazena no repositório seguindo as práticas recomendadas. O GKE gera o YAML que pode ser usado para isso.

Você tem duas opções para usar arquivos YAML:

  • Se você ainda não tiver um arquivo YAML que defina sua carga de trabalho, use o arquivo YAML gerado. Salve o arquivo YAML no seu repositório. O Cloud Build o utiliza para implantar a carga de trabalho todas as vezes.

  • Se você já tiver um arquivo YAML que defina sua carga de trabalho, poderá apontar o GKE para o local dele no seu repositório. É possível comparar o arquivo YAML no seu repositório com o arquivo YAML recomendado para garantir que você está implantando a carga de trabalho correta da maneira certa.

Antes de começar

Antes de começar, verifique se você realizou as tarefas a seguir:

Defina as configurações padrão da gcloud usando um dos métodos a seguir:

  • Use gcloud init se quiser orientações para definir os padrões.
  • Use gcloud config para definir individualmente a região, a zona e o ID do projeto.

Como usar o gcloud init

Se você receber o erro One of [--zone, --region] must be supplied: Please specify location, conclua esta seção.

  1. Execute gcloud init e siga as instruções:

    gcloud init

    Se você estiver usando SSH em um servidor remoto, utilize a sinalização --console-only para impedir que o comando inicie um navegador:

    gcloud init --console-only
  2. Siga as instruções para autorizar a gcloud a usar sua conta do Google Cloud.
  3. Crie uma nova configuração ou selecione uma atual.
  4. Escolha um projeto do Google Cloud.
  5. Escolha uma zona padrão do Compute Engine para clusters zonais ou uma região para clusters regionais ou de Autopilot.

Como usar o gcloud config

  • Defina o ID do projeto padrão:
    gcloud config set project PROJECT_ID
  • Se você estiver trabalhando com clusters zonais, defina a zona do Compute padrão:
    gcloud config set compute/zone COMPUTE_ZONE
  • Se você estiver trabalhando com clusters de Autopilot ou regionais, defina a região do Compute padrão:
    gcloud config set compute/region COMPUTE_REGION
  • Atualize gcloud para a versão mais recente:
    gcloud components update

Requisitos

As implantações automatizadas têm os seguintes requisitos:

  • Só é possível usar uma implantação automatizada com cargas de trabalho do tipo Deployment que especificam uma única imagem de contêiner. Cargas de trabalho de vários contêineres e de outros tipos (por exemplo, ReplicaSet) não são compatíveis.

  • Para criar a imagem, seu repositório de código-fonte precisa ter um Dockerfile.

    É possível hospedar esse repositório em um dos seguintes produtos:

    Se você usa o GitHub ou o Bitbucket, precisa conceder ao Google Cloud acesso ao seu repositório.

  • Armazene a imagem do contêiner no Artifact Registry, no mesmo projeto do Google Cloud que tem o Cluster do GKE. Você precisa ter a imagem no Artifact Registry e implantá-la pelo menos uma vez para ter uma carga de trabalho no GKE.

Como criar a implantação automática

Para criar uma implantação automatizada, siga estas etapas:

  1. Acesse a página Cargas de trabalho no Console do Cloud.

    Acesse "Cargas de trabalho"

  2. Na lista de cargas de trabalho, clique no nome da implantação que você quer modificar.

  3. Clique em Ações > Implantação automatizada.

No painel Automatizar a implantação, siga estas etapas:

  1. Em Repositório de origem, escolha seu repositório de código-fonte:

    1. Na lista suspensa Provedor de repositório, escolha o provedor do repositório

      Uma implantação automatizada é compatível com os hosts de controle de origem a seguir:

      • Cloud Source Repositories
      • GitHub
      • Bitbucket

        Se você estiver usando o GitHub ou o Bitbucket, faça a autenticação com seu nome de usuário e senha.

    2. Na lista suspensa Repositório, selecione o nome do repositório que contém o código-fonte da implantação.

    3. Clique em Continuar.

  2. Em Configurações do build, especifique as informações de configuração da compilação:

    1. Insira o nome da ramificação que você quer usar para criar ou uma expressão regular (RegExp2) para corresponder a uma ou mais ramificações. A ramificação padrão é master. Quando você executa o push para essa ramificação, o Cloud Build cria o aplicativo.
    2. Digite o caminho relativo do diretório do Dockerfile.
    3. Digite o nome do Dockerfile.

    4. Clique em Continuar.

  3. Em Configuração de implantação automatizada, forneça o local do arquivo YAML da configuração.

    O sistema gera automaticamente um arquivo YAML, que pode ser usado para preencher o arquivo YAML no seu repositório.

    1. Clique em Ver o YAML recomendado pelo Google para ver o arquivo YAML gerado.

    2. Compare-o com o próprio arquivo YAML, se você o tiver, e atualize o seu com base nesse.

      Caso contrário, crie um novo arquivo e preencha-o com o YAML gerado. Isso ajuda a garantir que a carga de trabalho implantada corresponda ao que está sendo executado no momento. O arquivo pode ter qualquer nome, mas precisa ter uma extensão .yaml ou .yml.

    3. Especifique o caminho relativo para o diretório que contém o arquivo YAML.

      Se houver mais de um arquivo YAML no diretório especificado, o GKE usará todos eles.

  4. Clique em Configurar para concluir a configuração da implantação automática.

    Talvez seja necessário conceder permissões à conta de serviço do Cloud Build. Essa permissão é obrigatória.

O que vem depois

Depois de configurar a implantação automática para a carga de trabalho selecionada, você terá um gatilho do Cloud Build que cria uma imagem de contêiner depois do envio para a ramificação selecionada do repositório. O Cloud Build também implanta uma nova revisão da carga de trabalho no cluster em que a imagem original foi implantada.

Para mais informações sobre sua carga de trabalho, consulte a página Detalhes de implantação (guia "Histórico de revisões").