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.
Ativar APIs
Para ativar APIs no projeto, um dos seguintes papéis precisa
ser atribuído à sua conta: roles/owner
, roles/editor
ou
roles/serviceusage.serviceUsageAdmin
.
Para mais informações, consulte Conceder um único papel.
Depois que sua conta tiver um papel atribuído, será possível ativar as APIs no Console do Google Cloud ou executando o seguinte comando no Cloud Shell ou na Google Cloud CLI.
gcloud services enable --project=PROJECT_ID \ servicemanagement.googleapis.com \ servicecontrol.googleapis.com
Definir o ID e os 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
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 a seguinte funcionalidade:
- 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.
- Uploads automáticos de snapshots do cluster para buckets do Cloud Storage.
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.
- Conta de serviço de agente de armazenamento:
bmctl
usa essa conta de serviço para armazenar automaticamente snapshots de clusters no Cloud Storage.
- 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.
Configurar contas de serviço para uso com o Connect
Para criar as contas de serviço e os arquivos de chaves:
- Verifique se você está no diretório
baremetal
. - Ative os serviços necessários do Google no projeto do Cloud:
- 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óriobaremetal
:- Crie a conta de serviço
- Conceda o papel gkehub.connect:
- Faça o download do arquivo de chave JSON da conta de serviço:
gcloud iam service-accounts create connect-agent-svc-account --project=PROJECT_ID
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:connect-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/gkehub.connect"
gcloud iam service-accounts keys create connect-agent.json \ --project=PROJECT_ID \ --iam-account=connect-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com
- 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óriobaremetal
:- Crie a conta de serviço
- Conceda o papel gkehub.admin:
- Faça o download do arquivo de chave JSON da conta de serviço:
gcloud iam service-accounts create connect-register-svc-account \ --project=PROJECT_ID
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:connect-register-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role=roles/gkehub.admin
gcloud iam service-accounts keys create connect-register.json \ --project=PROJECT_ID \ --iam-account=connect-register-svc-account@PROJECT_ID.iam.gserviceaccount.com
gcloud services enable --project=PROJECT_ID \ gkeconnect.googleapis.com \ gkehub.googleapis.com \ cloudresourcemanager.googleapis.com \ anthos.googleapis.com
Configurar uma conta de serviço para auditar registros e monitorar projetos
Para criar a conta de serviço e o arquivo de chave de registro e monitoramento, faça o seguinte:
- Verifique se você está no diretório
baremetal
. - Ative os serviços necessários do Google no projeto do Cloud:
- 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óriobaremetal
: - Criar conta de serviço
- Conceda o papel logging.logWriter
- Conceda o papel monitoring.metricWriter
- Conceda o papel roles/stackdriver.resourceMetadata.writer
- Conceda os papéis/papel roles/stackdriver.resourceMetadata
- Conceder o papel roles/monitoring.dashboardEditor
- Faça o download do arquivo de chave JSON da conta de serviço:
gcloud services enable --project PROJECT_ID \ anthos.googleapis.com \ anthosaudit.googleapis.com \ anthosgke.googleapis.com \ cloudresourcemanager.googleapis.com \ gkeconnect.googleapis.com \ gkehub.googleapis.com \ serviceusage.googleapis.com \ stackdriver.googleapis.com \ monitoring.googleapis.com \ logging.googleapis.com \ opsconfigmonitoring.googleapis.com
gcloud iam service-accounts create logging-monitoring-svc-account \ --project=PROJECT_ID
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/logging.logWriter"
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/monitoring.metricWriter"
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/stackdriver.resourceMetadata.writer"
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/opsconfigmonitoring.resourceMetadata.writer"
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/monitoring.dashboardEditor"
gcloud iam service-accounts keys create cloud-ops.json \ --project=PROJECT_ID \ --iam-account=logging-monitoring-svc-account@PROJECT_ID.iam.gserviceaccount.com
Configure uma conta de serviço que faça upload para o bucket do Cloud Storage
Para criar a conta de serviço e o arquivo de chave que permite que os snapshots dos clusters sejam enviados automaticamente para os buckets do Cloud Storage:
- Verifique se você está no diretório
baremetal
. - Ative os serviços necessários do Google no projeto do Cloud:
- Crie uma conta de serviço que o comando
bmctl check cluster --snapshot
usará para fazer upload automático de um snapshot de cluster em um bucket do Cloud Storage: - Conceda um papel
storage.admin
à conta de serviço para que ela possa fazer upload de dados no bucket Cloud Storage. - Faça o download do arquivo de chave JSON da conta de serviço:
gcloud services enable --project=PROJECT_ID \ storage.googleapis.com
gcloud iam service-accounts create storage-agent-svc-account \ --project=PROJECT_ID
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:storage-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/storage.admin"
gcloud iam service-accounts keys create storage-agent.json \ --iam-account=storage-agent-svc-account@PROJECT_ID.iam.gserviceaccount.com
Para mais informações sobre como criar snapshots de clusters e fazer upload automático deles em um bucket do Cloud Storage, consulte Criar snapshots para ajudar a diagnosticar problemas do cluster.