Neste documento, mostramos como usar projetos separados do Google Cloud para diferentes aspectos dos clusters do Anthos no VMware (GKE On-Prem).
As instruções aqui são completas. Para ver uma introdução mais curta sobre o uso de um projeto do Google Cloud, consulte o projeto do Google Cloud (guia de início rápido).
Antes de começar
Arquivos de configuração de cluster
Os arquivos de configuração do cluster do administrador e do cluster do usuário têm vários campos em que é possível especificar um ID de projeto do Google Cloud:
stackdriver: projectID: "" ... gkeConnect: projectID: "" ... usageMetering: bigQueryProjectID: "" ... cloudAuditLogging: projectID: ""
A ideia é que você tenha um projeto para gerenciar o cluster no Console do Google Cloud, outro para visualizar registros e métricas e assim por diante. A única exceção é que o projeto de geração de registros de auditoria precisa ser igual ao projeto de conexão.
Não é necessário usar IDs de projeto separados. Por exemplo, é possível usar o mesmo projeto para gerenciamento e geração de registros. Se quiser, use o mesmo projeto para tudo.
Como ativar serviços em um projeto do Google Cloud
Cada um dos seus projetos do Google Cloud precisa ter determinados serviços ativados. Por exemplo, o projeto de conexão precisa ter os seguintes serviços ativados:
cloudresourcemanager.googleapis.com container.googleapis.com gkeconnect.googleapis.com gkehub.googleapis.com serviceusage.googleapis.com iam.googleapis.com
Para ativar os serviços em um projeto, é preciso ter determinadas permissões no
projeto do Google Cloud. Para detalhes, consulte as permissões necessárias para
services.enable
no controle de acesso.
Se tiver as permissões necessárias, você mesmo poderá ativar os serviços. Caso contrário, outra pessoa na sua organização precisará ativar esses serviços para você.
Projeto connect
Quando você cria um cluster de usuário, os clusters do Anthos no VMware usam o Connect para registrar o cluster com um projeto do Google Cloud de sua escolha. Depois que o cluster for registrado, você poderá vê-lo e gerenciá-lo neste projeto no Console do Google Cloud.
O Connect usa uma implantação chamada de agente do Connect para estabelecer uma conexão entre o cluster do usuário e o projeto do Google Cloud.
No arquivo de configuração do cluster do usuário, defina gkecConnect.projectID
como
o código do projeto do Google Cloud em que você quer visualizar e gerenciar o
cluster.
Como ativar APIs no projeto connect
Para ativar as APIs necessárias no projeto connect:
Linux e macOS
gcloud services enable --project [PROJECT_ID] \ cloudresourcemanager.googleapis.com \ container.googleapis.com \ gkeconnect.googleapis.com \ gkehub.googleapis.com \ serviceusage.googleapis.com \ iam.googleapis.com
[PROJECT_ID] é o ID do projeto connect.
Windows
gcloud services enable --project [PROJECT_ID] ^ cloudresourcemanager.googleapis.com ^ container.googleapis.com ^ gkeconnect.googleapis.com ^ gkehub.googleapis.com ^ serviceusage.googleapis.com ^ iam.googleapis.com ^ cloudresourcemanager.googleapis.com
[PROJECT_ID] é o ID do projeto connect.
Como atribuir papéis a contas de serviço no projeto connect
A conta de serviço connect-register e a conta de serviço connect-agent precisam receber determinados papéis no projeto connect.
Para detalhes, consulte Conta de serviço connect-register e Conta de serviço connect-agent.
Projeto logging-monitoring
Em um cluster de usuário, os agentes de geração de registros e métricas coletam dados e os disponibilizam no Cloud Logging e no Cloud Monitoring. Para ver registros e métricas do cluster, especifique um projeto do Google Cloud associado.
No arquivo de configuração do cluster do usuário, defina stackdriver.projectID
como
o código do projeto do Google Cloud que você quer associar ao Logging
e ao Monitoring. Esse é o projeto em que você verá os registros e as métricas do
cluster.
Como ativar APIs no projeto logging-monitoring
Para ativar as APIs necessárias no projeto logging-monitoring:
Linux e macOS
gcloud services enable --project [PROJECT_ID] \ stackdriver.googleapis.com \ monitoring.googleapis.com \ logging.googleapis.com \ serviceusage.googleapis.com \ iam.googleapis.com \ cloudresourcemanager.googleapis.com
em que [PROJECT_ID] é o ID do projeto logging-monitoring.
Windows
gcloud services enable --project [PROJECT_ID] ^ stackdriver.googleapis.com ^ monitoring.googleapis.com ^ logging.googleapis.com ^ serviceusage.googleapis.com ^ iam.googleapis.com ^ cloudresourcemanager.googleapis.com
em que [PROJECT_ID] é o ID do projeto logging-monitoring.
Como conceder papéis a contas de serviço no projeto logging-monitoring
Sua conta de serviço logging-monitoring precisa receber determinados papéis no projeto logging-monitoring.
Para detalhes, consulte Conta de serviço logging-monitoring.
Projeto de registro de auditoria
Se você ativar os registros de auditoria do Cloud para um cluster, as entradas de registro de auditoria do servidor da API Kubernetes do cluster serão enviadas ao Google Cloud.
O projeto em que os registros de auditoria de visualização é denominado projeto de geração de registros de auditoria. Seu projeto de geração de registros de auditoria precisa ser igual ao projeto de conexão.
No arquivo de configuração do cluster, defina
cloudAuditLogging.projectID
como o código do seu projeto conectado.
Como ativar APIs no projeto de registro de auditoria
Para ativar as APIs necessárias no projeto de registro de auditoria:
Linux e macOS
gcloud services enable --project [PROJECT_ID] \ anthosgke.googleapis.com \ anthosaudit.googleapis.com \ serviceusage.googleapis.com \ iam.googleapis.com \ cloudresourcemanager.googleapis.com
[PROJECT_ID] é o ID do projeto de registro de auditoria.
Windows
gcloud services enable --project [PROJECT_ID] ^ anthosgke.googleapis.com ^ anthosaudit.googleapis.com ^ serviceusage.googleapis.com ^ iam.googleapis.com ^ cloudresourcemanager.googleapis.com
[PROJECT_ID] é o ID do projeto de registro de auditoria.
Como conceder papéis a contas de serviço no projeto de registro de auditoria
Sua conta de serviço de registro de auditoria precisa receber determinados papéis do projeto de registro de auditoria.
Para detalhes, consulte Conta de serviço de registro de auditoria.
Projeto pai da sua conta de serviço de acesso a componentes
Antes de criar um cluster, é preciso ter uma conta de serviço que os clusters do Anthos no VMware possam usar para fazer o download de componentes do Container Registry. Essa conta é chamada de conta de serviço de acesso a componentes.
O projeto do Google Cloud em que você criou a conta de serviço de acesso conjunto é chamado de pai da conta de serviço de acesso a componentes. Esse projeto pode ser o mesmo que um dos projetos que você especifica nos arquivos de configuração do cluster ou pode ser diferente de todos os projetos especificados nos arquivos de configuração. Para mais informações sobre contas de serviço e projetos pai, consulte Noções básicas sobre contas de serviço e projetos do Google Cloud.
Para ativar as APIs necessárias para o projeto pai da conta de serviço de acesso a componentes:
Linux e macOS
gcloud services enable --project [PROJECT_ID] \ serviceusage.googleapis.com \ iam.googleapis.com \ cloudresourcemanager.googleapis.com
em que [PROJECT_ID] é o ID do projeto pai da sua conta de serviço de acesso a componentes.
Windows
gcloud services enable --project [PROJECT_ID] ^ serviceusage.googleapis.com ^ iam.googleapis.com ^ cloudresourcemanager.googleapis.com
em que [PROJECT_ID] é o ID do projeto pai da sua conta de serviço de acesso a componentes.
Projeto de medição de uso
Se você ativar a medição de uso do GKE para um cluster de usuário, os clusters do Anthos no VMware armazenarão dados de uso em um conjunto de dados do BigQuery associado a um projeto do Google Cloud de sua escolha.
No
arquivo de configuração do cluster do usuário,
defina usageMetering.bigQueryProjectID
como o ID do projeto do Google Cloud
em que você quer armazenar os dados de uso.
Como ativar APIs no projeto de medição de uso
Para ativar as APIs necessárias no seu projeto de medição de uso:
Linux e macOS
gcloud services enable --project [PROJECT_ID] \ bigquery.googleapis.com \ serviceusage.googleapis.com \ iam.googleapis.com \ cloudresourcemanager.googleapis.com
[PROJECT_ID] é o ID do projeto de medição de uso.
Windows
gcloud services enable --project [PROJECT_ID] ^ bigquery.googleapis.com ^ serviceusage.googleapis.com ^ iam.googleapis.com ^ cloudresourcemanager.googleapis.com
[PROJECT_ID] é o ID do projeto de medição de uso.
Como atribuir papéis a contas de serviço no projeto de medição de uso
Sua conta de serviço de medição de uso precisa receber determinados papéis no projeto de medição de uso.
Para detalhes, consulte a conta de serviço de medição de uso.
A seguir
Crie contas de serviço e chaves.