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.

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 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 Container Registry, no mesmo projeto do Google Cloud que tem o Cluster do GKE. Você precisa ter a imagem no Container Registry e implantá-la pelo menos uma vez para ter uma carga de trabalho no GKE.

Como criar a implantação

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

  1. Acesse o menu "Cargas de trabalho" no Console do Google Cloud.

    Acesse o menu “Cargas de trabalho”

  2. Clique no nome da carga de trabalho que você quer implantar.

    Isso abre a página de detalhes da implantação da carga de trabalho.

  3. Clique no menu Ações e selecione Implantação automática.

    A tela Configurar implantação automatizada será exibida.

  4. Selecione o repositório que contém o código-fonte para criar a carga de trabalho.

    1. No menu suspenso Provedor de repositório, escolha o provedor do seu 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. No menu suspenso Repositório, selecione o nome do repositório que contém o código-fonte da carga de trabalho.

  5. Clique em Continuar e 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. Especifique o diretório do Dockerfile referente à raiz do repositório.

    3. Informe o nome do arquivo do Dockerfile que contém suas informações do build.

  6. Clique em Continuar.

  7. Forneça o local do arquivo YAML de 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 diretório em que o arquivo YAML está localizado, em relação à raiz do repositório.

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

  8. 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.

Qual é o próximo passo?

Depois de configurar uma 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 push 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").