Instale o Config Sync como predefinição da frota

Pode instalar o Config Sync como predefinição da frota para que todos os novos clusters adicionados à sua frota tenham automaticamente o Config Sync ativado com as definições pretendidas. Ao configurar predefinições ao nível da frota, ajuda a garantir que cada novo cluster do GKE no Google Cloud registado na frota herda uma configuração padrão do Config Sync, incluindo a versão e as ligações à sua fonte de verdade. Este processo simplifica o aprovisionamento de clusters e ajuda a manter uma base de gestão de configuração uniforme.

Esta página explica o seguinte:

  • Como configurar estas predefinições ao nível da frota através da Google Cloud CLI, Google Cloud consola ou Terraform.
  • Como aplicar as predefinições a clusters existentes.
  • Como desativar a configuração predefinida da frota, se necessário.

Para ver informações gerais sobre as configurações predefinidas da frota, consulte o artigo Gerir funcionalidades ao nível da frota.

Antes de começar

Antes de instalar o Config Sync, prepare a sua fonte de verdade e um cluster adequado.

Conceda acesso do Config Sync à sua fonte de verdade

Para sincronizar a configuração de uma fonte de verdade com os seus clusters, o Config Sync requer acesso só de leitura ao seu repositório. Para autorizar o Config Sync a ler as suas configurações, conclua os seguintes passos:

Reveja os requisitos do cluster

Antes de criar um cluster, reveja os requisitos do cluster.

Limitações

  • A configuração do Helm como um tipo de origem não é suportada como predefinição da frota.
  • A consola Google Cloud não suporta a ligação a uma fonte de verdade como predefinição. Em alternativa, tem de usar a funcionalidade Implementar pacotes depois de criar um cluster.

Configure predefinições ao nível da frota para um repositório Git

Para configurar as predefinições ao nível da frota para o Config Sync, conclua os seguintes passos:

gcloud

  1. Crie um manifesto com o nome apply-spec.yaml com o seguinte conteúdo. Se já tiver criado um manifesto, não precisa de criar um novo.

    applySpecVersion: 1
    spec:
      configSync:
        enabled: true
        sourceType: git
        sourceFormat: unstructured
        syncRepo: REPO
        syncRev: REVISION
        secretType: SECRET_TYPE
        # only required if gcpserviceaccount is the secretType
        # gcpServiceAccountEmail: EMAIL
        metricsGcpServiceAccountEmail: METRICS_EMAIL
        preventDrift: false
    

    Substitua o seguinte:

    • REPO: o URL do seu repositório Git, por exemplo, https://github.com/GoogleCloudPlatform/anthos-config-management-samples. Use o formato HTTPS para o URL ou o formato SSH se ssh for o sourceType.
    • REVISION: a revisão de Git (etiqueta ou hash) ou o nome do ramo a partir do qual sincronizar. Quando usar um hash, tem de ser um hash completo e não uma forma abreviada.
    • SECRET_TYPE: o método de autenticação usado para estabelecer ligação ao seu repositório Git. Para repositórios públicos, use none. Para repositórios privados, use uma das seguintes opções:

      • ssh: usar um par de chaves SSH.
      • cookiefile: use um cookiefile.
      • token: use um token.
      • gcpserviceaccount: use uma conta de serviço Google se a Workload Identity Federation para o GKE estiver ativada. Secure Source Manager ou Cloud Source Repositories apenas.
      • gcenode: use uma conta de serviço Google se a Workload Identity Federation para o GKE não estiver ativada. Secure Source Manager ou Cloud Source Repositories apenas.
      • githubapp: use uma app GitHub para autenticar um repositório do GitHub.

      Para mais informações sobre como associar o seu repositório Git ao Config Sync, consulte o artigo Conceda acesso do Config Sync ao Git.

    • EMAIL: se gcpserviceaccount for o secretType, descomente este campo e adicione o endereço de email da conta do serviço Google, por exemplo, config-sync@PROJECT_ID.iam.gserviceaccount.com.

    • METRICS_EMAIL: o email da Google Cloud conta de serviço (GSA) usada para exportar métricas do Config Sync para o Cloud Monitoring. Para mais informações sobre a configuração da exportação de métricas, consulte o artigo Monitorize a sincronização de configuração.

    Para ver uma lista completa dos campos que pode adicionar ao apply-specmanifesto, consulte gcloud apply spec fields.

  2. Aplique o ficheiro apply-spec com as predefinições da frota executando o seguinte comando:

    gcloud beta container fleet config-management enable \
        --fleet-default-member-config=apply-spec.yaml
    

Consola

  1. Na Google Cloud consola, aceda à página Gestor de funcionalidades.

    Aceda ao Gestor de funcionalidades

  2. No painel Sincronização de configuração, clique em Configurar.

  3. Reveja as definições ao nível da frota. Todos os novos clusters que criar na frota herdam estas definições.

  4. Opcional: para alterar as predefinições, clique em Personalizar definições da frota. Na caixa de diálogo apresentada, faça o seguinte:

    1. Selecione a versão do Config Sync que quer usar.
    2. Clique em Guardar alterações.
  5. Clique em Configurar.

  6. Na caixa de diálogo de confirmação Configurar definições da frota, clique em Confirmar. Se não ativou anteriormente a sincronização de configuração, clicar em Confirmar também ativa a API anthosconfigmanagement.googleapis.com.

Embora não possa configurar as definições da fonte de dados fidedignos como predefinição da frota a partir da consola Google Cloud , pode selecionar vários clusters quando usa a funcionalidade Implementar um pacote.

Terraform

Para ativar o Config Sync como predefinição da frota, consulte o seguinte exemplo:

resource "google_gke_hub_feature" "default" {
  name     = "configmanagement"
  location = "global"

  fleet_default_member_config {
    configmanagement {
      config_sync {
        # The field `enabled` was introduced in Terraform version 5.41.0, and
        # needs to be set to `true` explicitly to install Config Sync.
        enabled = true
        git {
          sync_repo   = "REPO"
          sync_branch = "BRANCH"
          policy_dir  = "DIRECTORY"
          secret_type = "SECRET"
        }
      }
    }
  }
}

Substitua o seguinte:

  • REPO: o URL do repositório Git que contém os seus ficheiros de configuração.
  • BRANCH: o ramo do repositório, por exemplo, main.
  • DIRECTORY: o caminho no repositório Git que representa o nível superior do repositório que quer sincronizar.
  • SECRET: o tipo de autenticação secreta.

Para mais informações sobre a utilização do Terraform, consulte o artigo Aprovisione recursos do Config Sync com o Terraform.

Configure predefinições ao nível da frota para uma imagem de OCI

Para configurar as predefinições ao nível da frota para o Config Sync, conclua os seguintes passos:

gcloud

  1. Crie um manifesto com o nome apply-spec.yaml com o seguinte conteúdo. Se já tiver criado um manifesto, não precisa de criar um novo.

    applySpecVersion: 1
    spec:
      configSync:
        enabled: true
        sourceType: oci
        sourceFormat: unstructured
        syncRepo: REPO
        secretType: SECRET_TYPE
        # only required if gcpserviceaccount is the secretType
        # gcpServiceAccountEmail: EMAIL
        metricsGcpServiceAccountEmail: METRICS_EMAIL
        preventDrift: false
    

    Substitua o seguinte:

    • REPO: o URL da sua imagem OCI com o formato LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME. Por predefinição, a imagem é extraída da etiqueta latest, mas pode extrair imagens através de TAG ou DIGEST. Especifique TAG ou DIGEST no PACKAGE_NAME:

      • Para puxar por TAG: LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME:TAG
      • Para puxar por DIGEST: LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME@sha256:DIGEST
    • SECRET_TYPE: o método de autenticação usado para se ligar à sua imagem OCI. Para imagens públicas, use none como valor. Para imagens privadas, use uma das seguintes opções:

      • gcpserviceaccount: apenas Secure Source Manager ou Cloud Source Repositories. Use uma conta de serviço Google se a federação de identidades da carga de trabalho para o GKE estiver ativada.
      • gcenode: apenas Secure Source Manager ou Cloud Source Repositories. Use uma conta de serviço Google se a Workload Identity Federation para o GKE não estiver ativada.

      Para mais informações sobre como associar a sua imagem OCI ao Config Sync, consulte o artigo Conceda acesso do Config Sync ao OCI ou ao Helm.

    • EMAIL: se gcpserviceaccount for o secretType, descomente este campo e adicione o endereço de email da conta do serviço Google, por exemplo, config-sync@PROJECT_ID.iam.gserviceaccount.com.

    • METRICS_EMAIL: o email da Google Cloud conta de serviço (GSA) usada para exportar métricas do Config Sync para o Cloud Monitoring. Para mais informações sobre a configuração da exportação de métricas, consulte o artigo Monitorize a sincronização de configuração.

    Para ver uma lista completa dos campos que pode adicionar ao apply-specmanifesto, consulte gcloud apply spec fields.

  2. Aplique o ficheiro apply-spec com as predefinições da frota executando o seguinte comando:

    gcloud beta container fleet config-management enable \
        --fleet-default-member-config=apply-spec.yaml
    

Consola

  1. Na Google Cloud consola, aceda à página Gestor de funcionalidades.

    Aceda ao Gestor de funcionalidades

  2. No painel Sincronização de configuração, clique em Configurar.

  3. Reveja as definições ao nível da frota. Todos os novos clusters que criar na frota herdam estas definições.

  4. Opcional: para alterar as predefinições, clique em Personalizar definições da frota. Na caixa de diálogo apresentada, faça o seguinte:

    1. Selecione a versão do Config Sync que quer usar.
    2. Clique em Guardar alterações.
  5. Clique em Configurar.

  6. Na caixa de diálogo de confirmação Configurar definições da frota, clique em Confirmar. Se não ativou anteriormente a sincronização de configuração, clicar em Confirmar também ativa a API anthosconfigmanagement.googleapis.com.

Embora não possa configurar as definições da fonte de dados fidedignos como predefinição da frota a partir da consola Google Cloud , pode selecionar vários clusters quando usa a funcionalidade Implementar um pacote.

Terraform

Para ativar o Config Sync como predefinição da frota, consulte o seguinte exemplo:

resource "google_gke_hub_feature" "configmanagement_feature_member" {
  name     = "configmanagement"
  location = "global"

  fleet_default_member_config {
    configmanagement {
      config_sync {
        # The field `enabled` was introduced in Terraform version 5.41.0, and
        # needs to be set to `true` explicitly to install Config Sync.
        enabled = true
        oci {
          sync_repo   = "REPO"
          policy_dir  = "DIRECTORY"
          secret_type = "SECRET"
        }
      }
    }
  }
}

Substitua o seguinte:

  • REPO: o URL para o repositório de imagens da OCI que contém os seus ficheiros de configuração.
  • DIRECTORY: o caminho absoluto do diretório que contém os recursos que quer sincronizar. Para usar o diretório raiz, deixe este campo em branco.
  • SECRET: o tipo de autenticação secreta.

Para mais informações sobre a utilização do Terraform, consulte o artigo Aprovisione recursos do Config Sync com o Terraform.

Atualize os clusters existentes para herdarem as predefinições da frota

Para atualizar os clusters existentes de modo a usarem as predefinições do Config Sync, pode usar a consola ou a CLI gcloud para sincronizar os clusters selecionados da frota com as predefinições da frota. Google Cloud Em alternativa, pode configurar manualmente cada cluster com as mesmas definições através do Terraform e seguindo as instruções de instalação do Config Sync na secção anterior. Se usou anteriormente o Terraform para especificar as predefinições da frota, use o mesmo bloco configmanagement e config_sync que usou para definir as predefinições para configurar os clusters escolhidos.

Para sincronizar as predefinições do Config Sync na sua frota, siga estes passos:

gcloud

  1. Sincronize uma subscrição existente com a configuração predefinida da frota:

    gcloud beta container fleet config-management apply \
        --origin=FLEET \
        --membership=MEMBERSHIP_NAME
    

    Substitua MEMBERSHIP_NAME pelo nome de membro da frota do cluster que quer sincronizar com a configuração predefinida da frota.

  2. Confirme se as configurações da subscrição estão sincronizadas com a predefinição da frota:

    gcloud beta container fleet config-management status
    

    O resultado deste comando deve ser apresentado como Yes para o estado Synced_to_Fleet_Default da subscrição que sincronizou.

consola

  1. Aceda ao Gestor de funcionalidades:

    Aceda ao Gestor de funcionalidades: Config Sync

  2. Na tabela de clusters, selecione os clusters que quer sincronizar com as definições da frota.

  3. Clique em Sincronizar com as definições da frota.

Desative as predefinições da frota

Para desativar as predefinições do Config Sync em toda a sua frota, siga estes passos:

  1. Para desativar a configuração predefinida da frota, execute o seguinte comando:

    gcloud beta container fleet config-management disable --fleet-default-member-config
    
  2. Confirme que a configuração predefinida da frota está desativada:

    gcloud beta container fleet config-management status
    

O que se segue?