Instalar o Config Sync como padrão da frota

É possível instalar o Config Sync como padrão da frota para que todos os novos clusters adicionados à frota tenham o Config Sync ativado automaticamente com as configurações desejadas. Ao configurar os padrões no nível da frota, você garante que cada novo cluster do GKE no Google Cloud registrado na frota herde uma configuração padrão do Config Sync, incluindo a versão e as conexões com sua fonte de verdade. Esse processo simplifica o provisionamento de clusters e ajuda a manter uma referência uniforme de gerenciamento de configuração.

Esta página explica o seguinte:

  • Como configurar essas configurações padrão no nível da frota usando a Google Cloud CLI, o console ou o Terraform. Google Cloud
  • Como aplicar as configurações padrão a clusters atuais.
  • Como desativar a configuração padrão da frota, se necessário.

Para informações gerais sobre as configurações padrão da frota, consulte Gerenciar recursos no nível da frota.

Antes de começar

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

Conceder acesso do Config Sync à sua fonte de verdade

Para sincronizar a configuração de uma fonte de verdade com seus clusters, o Config Sync exige acesso somente leitura ao seu repositório. Para autorizar o Config Sync a ler suas configurações, siga estas etapas:

Revisar os requisitos do cluster

Antes de criar um cluster, consulte os requisitos de cluster.

Limitações

  • Não é possível configurar o Helm como um tipo de origem padrão da frota.
  • O console Google Cloud não é compatível com a conexão a uma fonte de verdade como uma configuração padrão. Em vez disso, use o recurso Implantar pacotes depois de criar um cluster.

Configurar padrões no nível da frota para um repositório Git

Para configurar os padrões no nível da frota para o Config Sync, siga estas etapas:

gcloud

  1. Crie um manifesto chamado apply-spec.yaml com o seguinte conteúdo. Se você já criou um manifesto, não precisa criar outro.

    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:

    • 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 do Git (tag ou hash) ou o nome da ramificação para sincronizar. Ao usar um hash, ele precisa ser completo, e não uma forma abreviada.
    • SECRET_TYPE: o método de autenticação usado para se conectar ao repositório Git. Para repositórios públicos, use none. Para repositórios particulares, use uma das seguintes opções:

      • ssh: use um par de chaves SSH.
      • cookiefile: use um cookiefile.
      • token: use um token.
      • gcpserviceaccount: use uma conta de serviço do Google se a federação de identidade da carga de trabalho para GKE estiver ativada. Somente Secure Source Manager ou Cloud Source Repositories.
      • gcenode: use uma conta de serviço do Google se a Federação de Identidade da Carga de Trabalho para GKE não estiver ativada. Somente Secure Source Manager ou Cloud Source Repositories.
      • githubapp: use um app do GitHub para autenticar um repositório do GitHub.

      Para mais informações sobre como conectar seu repositório Git ao Config Sync, consulte Conceder acesso do Config Sync ao Git.

    • EMAIL: se gcpserviceaccount for o secretType, remova o comentário desse campo e adicione o endereço de e-mail da conta de serviço do Google, por exemplo, config-sync@PROJECT_ID.iam.gserviceaccount.com.

    • METRICS_EMAIL: o e-mail da conta de serviço Google Cloud(GSA) usada para exportar as métricas do Config Sync para o Cloud Monitoring. Para mais informações sobre como configurar a exportação de métricas, consulte Monitorar o Config Sync.

    Para uma lista completa de campos que podem ser adicionados ao manifesto apply-spec, consulte gcloud apply spec fields.

  2. Aplique o arquivo apply-spec com as configurações padrão da frota executando o seguinte comando:

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

Console

  1. No console Google Cloud , acesse a página Gerenciador de recursos.

    Acessar o gerenciador de recursos

  2. No painel Config Sync, clique em Configurar.

  3. Revisar as configurações da frota Todos os novos clusters criados na frota herdam essas configurações.

  4. Opcional: para mudar as configurações padrão, clique em Personalizar configurações da frota. Na caixa de diálogo exibida, execute as ações a seguir:

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

  6. Na caixa de diálogo de confirmação Configurar as configurações da frota, clique em Confirmar. Se você não tiver ativado o Config Sync, clicar em Confirmar também ativa a API anthosconfigmanagement.googleapis.com.

Embora não seja possível configurar as configurações da fonte de verdade como um padrão da frota no console Google Cloud , é possível selecionar vários clusters ao usar o recurso Implantar um pacote.

Terraform

Para ativar o Config Sync como padrão da frota, consulte o exemplo a seguir:

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:

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

Para mais informações sobre como usar o Terraform, consulte Provisionar recursos do Config Sync com o Terraform.

Configurar padrões no nível da frota para uma imagem OCI

Para configurar os padrões no nível da frota para o Config Sync, siga estas etapas:

gcloud

  1. Crie um manifesto chamado apply-spec.yaml com o seguinte conteúdo. Se você já criou um manifesto, não precisa criar outro.

    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:

    • REPO: o URL da imagem OCI no formato LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME. Por padrão, a imagem é extraída da tag latest, mas é possível extrair imagens por TAG ou DIGEST. Especifique TAG ou DIGEST no PACKAGE_NAME:

      • Para extrair por TAG: LOCATION-docker.pkg.dev/PROJECT_ID/REPOSITORY_NAME/PACKAGE_NAME:TAG
      • Para extrair 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 conectar à sua imagem do OCI. Para imagens públicas, use none como o valor. Para imagens particulares, use uma das seguintes opções:

      • gcpserviceaccount: somente Secure Source Manager ou Cloud Source Repositories. Use uma conta de serviço do Google se a federação de identidade da carga de trabalho do GKE estiver ativada.
      • gcenode: somente Secure Source Manager ou Cloud Source Repositories. Use uma conta de serviço do Google se a Federação de Identidade da Carga de Trabalho para GKE não estiver ativada.

      Para mais informações sobre como conectar sua imagem OCI ao Config Sync, consulte Conceder acesso do Config Sync ao OCI ou ao Helm.

    • EMAIL: se gcpserviceaccount for o secretType, remova o comentário desse campo e adicione o endereço de e-mail da conta de serviço do Google, por exemplo, config-sync@PROJECT_ID.iam.gserviceaccount.com.

    • METRICS_EMAIL: o e-mail da conta de serviço Google Cloud(GSA) usada para exportar as métricas do Config Sync para o Cloud Monitoring. Para mais informações sobre como configurar a exportação de métricas, consulte Monitorar o Config Sync.

    Para uma lista completa de campos que podem ser adicionados ao manifesto apply-spec, consulte gcloud apply spec fields.

  2. Aplique o arquivo apply-spec com as configurações padrão da frota executando o seguinte comando:

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

Console

  1. No console Google Cloud , acesse a página Gerenciador de recursos.

    Acessar o gerenciador de recursos

  2. No painel Config Sync, clique em Configurar.

  3. Revisar as configurações da frota Todos os novos clusters criados na frota vão herdar essas configurações.

  4. Opcional: para mudar as configurações padrão, clique em Personalizar configurações da frota. Na caixa de diálogo exibida, execute as ações a seguir:

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

  6. Na caixa de diálogo de confirmação Configurar as configurações da frota, clique em Confirmar. Se você não tiver ativado o Config Sync, clicar em Confirmar também ativa a API anthosconfigmanagement.googleapis.com.

Embora não seja possível configurar as configurações da fonte de verdade como um padrão da frota no console Google Cloud , é possível selecionar vários clusters ao usar o recurso Implantar um pacote.

Terraform

Para ativar o Config Sync como padrão da frota, consulte o exemplo a seguir:

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:

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

Para mais informações sobre como usar o Terraform, consulte Provisionar recursos do Config Sync com o Terraform.

Atualizar clusters atuais para herdar os padrões da frota

Para atualizar clusters existentes para usar as configurações padrão do Config Sync, use o console Google Cloud ou a CLI gcloud para sincronizar clusters de frota selecionados com os padrões da frota. Também é possível configurar manualmente cada cluster com as mesmas configurações usando o Terraform e seguindo as instruções para instalar o Config Sync na seção anterior. Se você já usou o Terraform para especificar os padrões da frota, use o mesmo bloco configmanagement e config_sync usado na definição dos padrões para configurar os clusters escolhidos.

Para sincronizar as configurações padrão do Config Sync em toda a frota, siga estas etapas:

gcloud

  1. Sincronize uma assinatura existente com a configuração padrão da frota:

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

    Substitua MEMBERSHIP_NAME pelo nome da assinatura de frota do cluster que deve ser sincronizado com a configuração padrão da frota.

  2. Confirme se as configurações de assinatura estão sincronizadas com o padrão da frota:

    gcloud beta container fleet config-management status
    

    A saída desse comando vai aparecer como Yes para o status Synced_to_Fleet_Default da assinatura que você sincronizou.

Console

  1. Acessar o Gerenciador de recursosger:

    Acessar o Gerenciador de recursos: Config Sync

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

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

Desativar os padrões da frota

Para desativar as configurações padrão do Config Sync em toda a frota, siga estas etapas:

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

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

    gcloud beta container fleet config-management status
    

A seguir