Implantar em clusters anexados do GKE

Neste documento, descrevemos como implantar seus aplicativos em clusters anexados ao GKE. O suporte para clusters anexados do GKE permite a implantação em clusters da AWS, do Azure e locais.

Com o Cloud Deploy, é possível implantar cargas de trabalho baseadas em contêineres em qualquer cluster anexado do GKE a que você tenha acesso usando o gateway do Connect.

Antes de começar

  • Ter um cluster de usuário para implantação.

    Os clusters podem ser criados como clusters anexados do GKE ou você pode registrar um cluster do Kubernetes atual. Os clusters criados como clusters anexados ao GKE recebem associações automaticamente. Para clusters atuais que você registra em uma frota, você designa um nome de associação ao registrar. Você precisa desse nome de associação ao configurar a meta.

    Se você estiver usando a versão 407.0.0 ou mais recente da Google Cloud CLI, inclua a flag --install-connect-agent no comando gcloud container fleet memberships register ao registrar um cluster do Google Kubernetes Engine. O agente do Connect não é mais instalado por padrão.

  • Configure o gateway do Connect para conectar o cluster ou os clusters registrados ao Google Cloud.

    Configure o gateway usando a mesma conta de serviço que será usada como a conta de serviço de execução do Cloud Deploy. Caso contrário, a conta de serviço de execução não terá as permissões necessárias para fazer a implantação no cluster.

Configurar o Cloud Deploy para implantar em clusters anexados ao GKE

  1. Crie a configuração de destino.

    O destino pode ser configurado no YAML do pipeline de entrega ou em um arquivo separado. Além disso, é possível configurar mais de um destino no mesmo arquivo, mas eles precisam estar em diferentes seções kind: Target.

  2. Conceda à conta de serviço de execução os papéis necessários para que ela possa interagir com clusters conectados pelo gateway.

    Essa concessão é necessária, seja usando a conta de serviço padrão do Cloud Deploy ou uma conta de serviço personalizada.

  3. Configure o RBAC para a conta de serviço de execução no cluster do Kubernetes subjacente.

  4. Opcional: se o cluster subjacente não for do GKE, talvez seja necessário configurar um imagePullSecret para permitir que o cluster extraia do Artifact Registry.

  5. Na definição de destino, crie uma estrofe anthosCluster para apontar para o cluster:

    A sintaxe para especificar clusters anexados do GKE é a seguinte:

    anthosCluster:
     membership: projects/[project_name]/locations/global/memberships/[membership_name]
    

    Esse identificador de recurso de clusters anexados do GKE usa os seguintes elementos:

    • [project_name] é o nome do projeto do Google Cloud em que você está executando este cluster.

      O cluster em que você está fazendo a implantação, incluindo clusters anexados do GKE, não precisa estar no mesmo projeto que o pipeline de entrega.

    • [membership_name] é o nome escolhido quando você registrou o cluster em uma frota.

    Para location, todas as associações de cluster são global. Portanto, não é necessário mudar /locations/global/ nesse identificador de recurso.

Confira um exemplo de configuração de destino:

      apiVersion: deploy.cloud.google.com/v1
      kind: Target
      metadata:
       name: qsdev
      description: development cluster
      anthosCluster:
       membership: projects/my-app/locations/global/memberships/my-app-dev-cluster

A seguir