Como usar vários projetos do Google Cloud

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

Instale a Google Cloud CLI.

Arquivos de configuração de cluster

Os arquivos de configuração do cluster Admin e do cluster do usuário têm vários campos em que é possível especificar um ID do 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 código 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.