Usar o painel do Config Sync

Nesta página, explicamos como usar o painel do Config Sync.

O painel apresenta uma visão geral abrangente dos pacotes gerenciados pelo Config Sync e do status dos recursos desses pacotes.

Antes de começar

Permissões do IAM

Para acessar o painel do Config Sync, os seguintes papéis do IAM são necessários no projeto:

  • roles/container.clusterViewer
  • roles/gkehub.viewer

Controle de acesso baseado em papéis

O usuário também precisa das permissões relevantes do Kubernetes em cada cluster. Se você não quiser conceder aos usuários permissões extensivas, como as de administrador do cluster, crie um papel personalizado do RBAC que inclua as permissões mínimas necessárias para usar o painel do Config Sync.

O ClusterRole de config-sync-dashboard-reader concede ao usuário as permissões get e list nos recursos necessários para o painel.

  1. Para criar o ClusterRole de config-sync-dashboard-reader e aplicá-lo ao cluster, execute o seguinte comando:

    cat <<EOF > config-sync-dashboard-reader.yaml
    kind: ClusterRole
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: config-sync-dashboard-reader
    rules:
    - apiGroups: ["apiextensions.k8s.io"]
      resources: ["customresourcedefinitions"]
      verbs: ["get", "list"]
    - apiGroups: ["configmanagement.gke.io"]
      resources: ["configmanagements"]
      verbs: ["get", "list"]
    - apiGroups: ["configsync.gke.io"]
      resources: ["rootsyncs", "reposyncs"]
      verbs: ["get", "list"]
    - apiGroups: ["kpt.dev"]
      resources: ["resourcegroups"]
      verbs: ["get", "list"]
    - apiGroups: ["apps"]
      resources: ["deployments"]
      verbs: ["get", "list"]
    - apiGroups: [""]
      resources: ["pods", "services"]
      verbs: ["get", "list"]
    - apiGroups: ["anthos.cloud.google.com"]
      resources: ["canonicalservices"]
      verbs: ["get", "list"]
    - apiGroups: ["networking.istio.io"]
      resources: ["virtualservices"]
      verbs: ["get", "list"]
    EOF
    kubectl apply -f config-sync-dashboard-reader.yaml
    
  2. Siga as instruções para configurar o controle de acesso baseado em papéis nos clusters da edição Google Kubernetes Engine (GKE) Enterprise para configurar o ClusterRoleBinding.

Acessar o painel

  1. No console do Google Cloud, acesse a página Configuração na seção Recursos.

    Acessar "Configuração"

  2. Selecione o projeto que você quer acessar.

Ver o painel

A guia painel apresenta uma visão geral do status das suas instalações do Config Sync:

  • O status de reconciliação mostra quantos pacotes foram reconciliados. Um pacote é reconciliado se o estado pretendido, conforme expresso pelos recursos do pacote, tiver sido alcançado.

    Seus pacotes podem ter os seguintes status de reconciliação:

    • Current: o estado real do pacote corresponde ao estado que você quer. O processo de reconciliação é considerado concluído até que haja mudanças no estado que você quer ou no estado real.
    • Em andamento: o estado real do pacote ainda não atingiu o estado que você quer (conforme expresso pelos recursos no pacote). Os pacotes recém-criados geralmente começam com esse status.
    • Falha: o processo de reconciliar o estado real com o estado que você quer encontrou um erro ou fez progresso insuficiente.
    • Unknown: o Config Sync não conseguiu determinar o status de reconciliação de um pacote.
  • O Status de sincronização mostra quantos pacotes estão sincronizados. Um pacote é sincronizado quando o estado mais recente observado do pacote na origem (por exemplo, um repositório Git) é refletido no cluster.

    Os pacotes podem ter os seguintes status de sincronização:

    • Sincronizada: o pacote está sincronizado com um cluster.
    • Pendente: o pacote está com sincronização pendente.
    • Reconciliação: a implantação que sincroniza um pacote está sendo reconciliada.
    • Parada: a implantação que sincroniza um pacote está paralisada.
    • Erro: o pacote encontrou um erro durante a sincronização.
    • Desconhecida: o Config Sync não conseguiu determinar o status de sincronização de um pacote.
  • O status do Config Sync mostra o status da instalação do Config Sync nos clusters.

    Os clusters podem ter o seguinte status relacionado ao Config Sync:

    • Ativado: clusters com o Config Sync ativado.
    • Não ativado: clusters que não têm o Config Sync ativado.
    • Pendente: clusters com o Config Sync ativado, mas em andamento. Esse status geralmente ocorre durante a primeira configuração ou ao atualizar para uma nova versão.
    • Erro: clusters com o Config Sync ativado, mas há um problema e o Config Sync não está funcionando.
    • Desconhecido: não é possível determinar o status do Config Sync.

As tabelas extras mostram problemas agrupados por pacote e cluster, além de links para instalar o Config Sync e visualizar configurações, além de recursos para começar.

Ver status do pacote

A guia Pacotes permite ver detalhes de pacotes e clusters individuais. Use essa guia para entender melhor as possíveis causas dos erros de sincronização e recursos não íntegros.

Editar um pacote

Também é possível usar a guia Packages para editar as configurações dos pacotes.

Para implantar um pacote, siga estas etapas:

  1. Ao lado do nome do pacote que você quer editar, selecione na coluna Edit package.
  2. Na seção Detalhes do pacote, na lista suspensa Tipo de origem, selecione o tipo de origem.
  3. Na seção Origem, faça o seguinte:

    • Para fontes hospedadas em um repositório Git, insira os seguintes campos:

      1. Digite o URL do repositório Git que você está usando como fonte de verdade como o URL do repositório.
      2. Opcional: atualize o campo Revisão para verificar se você não está usando o HEAD padrão.
      3. Opcional: atualize o campo Path se você não quiser sincronizar a partir do repositório raiz.
      4. Opcional: atualize o campo Ramificação se você não estiver usando a ramificação main padrão.
    • Para fontes hospedadas em uma imagem OCI, insira os seguintes campos:

      1. Insira o URL da imagem OCI que você está usando como fonte de verdade como a Imagem.
      2. Insira o caminho do diretório de onde sincronizar, relativo ao diretório raiz, como o Diretório.
  4. (Opcional): expanda a seção Configurações avançadas para concluir o seguinte:

    1. Selecione um Tipo de autenticação:

      • Nenhum: não usar autenticação.
      • SSH: use um par de chaves SSH.
      • Cookiefile: use um cookiefile.
      • Token: use um token.
      • Google Cloud Repository: use uma conta de serviço do Google para acessar um repositório do Cloud Source Repositories. Selecione esta opção somente se a identidade da carga de trabalho não estiver ativada em seu cluster.
      • Identidade da carga de trabalho: use uma conta de serviço do Google para acessar um repositório do Cloud Source Repositories.
    2. Insira um número em segundos para definir o Tempo de espera da sincronização, que determina quanto tempo o Config Sync espera entre a sincronização da fonte de verdade.

    3. Insira um URL de proxy Git para o proxy HTTPS a ser usado ao se comunicar com a fonte da verdade.

    4. Escolha Hierarquia para mudar o Formato de origem.

      O valor padrão Não estruturado é recomendado na maioria dos casos, porque permite organizar a fonte de verdade como você quiser.

  5. Quando terminar de editar o pacote, clique em Salvar.

    Você será redirecionado para a página Pacotes do Config Sync. Após alguns minutos, a mensagem Sincronizado vai aparecer na coluna Status da sincronização do cluster configurado.

Ver configurações

A guia Configurações mostra uma lista de clusters e informações sobre as configurações do Config Sync e da frota.

Também é possível usar esta guia para fazer upgrade do Config Sync em um cluster:

  • Ao lado do nome do cluster que você quer atualizar, selecione o menu de contexto e, em seguida, Editar configuração.

Para ver orientações sobre as configurações do Config Sync, consulte Configurar o Config Sync.

A seguir