Como ativar serviços e contas de serviço do Google

Além de atender aos pré-requisitos de instalação, hardware e sistema operacional, é necessário configurar projetos, APIs e contas de serviço do Google Cloud para executar clusters do Anthos em bare metal.

O comando bmctl pode ativar automaticamente contas de serviço e APIs no momento da criação do cluster, mas também é possível configurar esses serviços manualmente para um controle mais detalhado das operações.

Ativando APIs

No projeto do Cloud, ative as seguintes APIs, no Console do Google Cloud ou com o comando a seguir.

Você precisa ter os papéis owner, editor ou serviceusage.serviceUsageAdmin no projeto associado

  • servicemanagement.googleapis.com
  • servicecontrol.googleapis.com

    gcloud services enable --project=PROJECT_ID \
    servicemanagement.googleapis.com \
    servicecontrol.googleapis.com \
    

Como definir os IDs e papéis padrão do projeto do Google Cloud

É possível definir seu project id padrão além de configurar contas de serviço.

Você precisa ter papéis owner ou editor no projeto para clusters do Anthos em bare metal.

Para definir o projeto padrão, emita o comando a seguir e substitua PROJECT_ID pelo ID do projeto do Google Cloud:

gcloud config set project PROJECT_ID

Como configurar contas de serviço manualmente

O comando bmctl dos clusters do Anthos em bare metal podem configurar automaticamente as contas de serviço e as APIs do Google quando você cria clusters.

No entanto, para ter mais controle sobre seu sistema ou para simplificar a criação de clusters com um conjunto padrão de serviços, contas e projetos, você pode configurá-los manualmente.

Os clusters do Anthos em bare metal conectam seus clusters ao Google Cloud. Essa conexão permite gerenciar e observar seus clusters no Console do Cloud usando:

  • Conecte-se para conectar seu cluster bare metal ao Google Cloud. Assim, é possível acessar o cluster e os recursos de gerenciamento de carga de trabalho. Isso inclui uma interface de usuário unificada, o Console do Cloud, para interagir com o cluster.
  • Logging e Monitoring para ver registros e métricas do cluster no Console do Cloud.

O processo de configuração manual do acesso inclui:

  • Ativação dos serviços do Google necessários no projeto do Cloud;
  • Criação das seguintes contas de serviço com os papéis necessários:
    • Conta de serviço do agente de conexão: a conexão usa essa conta de serviço para manter uma conexão entre seu cluster e o Google Cloud.
    • Conta de serviço de conexão de registro: o Connect usa essa conta para registrar seus clusters com o Google Cloud.
    • Conta de serviço de geração de registros: o Connect usa essa conta de serviço para exportar registros e métricas de clusters para o Logging e o Monitoring.

  • Download dos arquivos de chave JSON para cada conta de serviço.

Em seguida, adicione referências aos arquivos de chave JSON aos arquivos de configuração apropriados do cluster. Consulte Como criar clusters: visão geral para mais informações.

Como configurar contas de serviço para uso com o Connect

Para criar as contas de serviço e os arquivos de chaves:

  1. Verifique se você está no diretório baremetal.
  2. Ative os serviços necessários do Google no projeto do Cloud:
  3. gcloud services enable --project=PROJECT_ID \
        container.googleapis.com \
        gkeconnect.googleapis.com \
        gkehub.googleapis.com \
        cloudresourcemanager.googleapis.com \
        anthos.googleapis.com
  4. Crie a conta de serviço connect-agent com o papel necessário e faça o download do arquivo de chave. Estas etapas criam o arquivo de chave connect-agent.json no diretório baremetal:
    1. Crie a conta de serviço
    2. gcloud iam service-accounts create connect-agent-svc-account --project=PROJECT_ID
    3. Conceda o papel gkehub.connect:
    4. gcloud projects add-iam-policy-binding  PROJECT_ID \
          --member="serviceAccount:connect-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com" \
          --role="roles/gkehub.connect"
    5. Faça o download do arquivo de chave JSON da conta de serviço:
    6. gcloud iam service-accounts keys create connect-agent.json \
          --iam-account=connect-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com \
          --project=PROJECT_ID
  5. Crie a conta de serviço de conexão de registro com o papel necessário e faça o download do arquivo de chave. Estas etapas criam o arquivo de chave connect-register.json no diretório baremetal:
    1. Crie a conta de serviço
    2. gcloud iam service-accounts create connect-register-svc-account \
          --project=PROJECT_ID
    3. Conceda o papel gkehub.admin:
    4. gcloud projects add-iam-policy-binding PROJECT_ID \
          --member="serviceAccount:connect-register-svc-account@PROJECT_ID.iam.gserviceaccount.com" \
          --role=roles/gkehub.admin
    5. Faça o download do arquivo de chave JSON da conta de serviço:
    6. gcloud iam service-accounts keys create connect-register.json \
          --iam-account=connect-register-svc-account@PROJECT_ID.iam.gserviceaccount.com \
          --project=PROJECT_ID

Como configurar uma conta de serviço para uso com o Logging e o Monitoring

Para criar a conta de serviço e o arquivo de chave do Logging e do Monitoring:

  1. Verifique se você está no diretório baremetal.
  2. Ative os serviços necessários do Google no projeto do Cloud:
  3. gcloud services enable --project PROJECT_ID \
        anthos.googleapis.com \
        anthosgke.googleapis.com \
        cloudresourcemanager.googleapis.com \
        container.googleapis.com \
        gkeconnect.googleapis.com \
        gkehub.googleapis.com \
        serviceusage.googleapis.com \
        stackdriver.googleapis.com \
        monitoring.googleapis.com \
        logging.googleapis.com
    
  4. Crie a conta de serviço do Logging-Monitoring com os papéis necessários e faça o download do arquivo de chave. Estas etapas criam o arquivo de chave cloud-ops.json no diretório baremetal:
    1. Criar conta de serviço
    2. gcloud iam service-accounts create logging-monitoring-svc-account \
          --project=PROJECT_ID
      
    3. Conceda o papel logging.logWriter
    4. gcloud projects add-iam-policy-binding PROJECT_ID \
          --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \
          --role="roles/logging.logWriter"
      
    5. Conceda o papel monitoring.metricWriter
    6. gcloud projects add-iam-policy-binding PROJECT_ID \
          --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \
          --role="roles/monitoring.metricWriter"
      
    7. Conceda o papel roles/stackdriver.resourceMetadata.writer
    8. gcloud projects add-iam-policy-binding PROJECT_ID \
          --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \
          --role="roles/stackdriver.resourceMetadata.writer"
      
    9. Conceder o papel roles/monitoring.dashboardEditor
    10. gcloud projects add-iam-policy-binding PROJECT_ID \
          --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \
          --role="roles/monitoring.dashboardEditor"
      
    11. Faça o download do arquivo de chave JSON da conta de serviço:
    12. gcloud iam service-accounts keys create cloud-ops.json \
          --iam-account=logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com \
          --project=PROJECT_ID