Como usar vários projetos do Google Cloud

Neste documento, mostramos como associar um ou mais projetos do Google Cloud a um cluster do GKE Enterprise no VMware.

As instruções aqui são completas. Para uma introdução mais breve sobre como usar um projeto do Google Cloud, consulte Configurar uma infraestrutura mínima.

Antes de começar

Instale a Google Cloud CLI.

Projeto host da frota

Cada cluster de administrador precisa ser registrado em uma frota. E todo cluster de usuário gerenciado por um cluster de administrador precisa ser registrado na mesma frota do cluster de administrador.

Quando um cluster de administrador ou de usuário está registrado em uma frota, ele é associado a um projeto host da frota. Um cluster de administrador e todos os clusters de usuário que ele gerencia têm o mesmo projeto host de frota. No console do Google Cloud, no projeto host da frota, é possível ver e gerenciar os clusters de administrador e de usuário.

Para especificar um projeto host da frota em um cluster de administrador, insira o ID do projeto no campo gkeConnect.projectID do arquivo de configuração do cluster de administrador.

Se você usar a ferramenta de linha de comando gkectl para criar um cluster de usuário, insira um ID do projeto no campo gkeConnect.projectID do arquivo de configuração do cluster de usuário.

Se você usar o console do Google Cloud para criar um cluster de usuário, o projeto do Google Cloud atual se tornará automaticamente o projeto host da frota.

Ativar APIs no projeto host da frota

Linux e macOS

Ative as APIs necessárias no projeto host da frota:

gcloud services enable --project FLEET_HOST_PROJECT_ID \
    anthos.googleapis.com \
    container.googleapis.com \
    gkehub.googleapis.com \
    gkeconnect.googleapis.com \
    connectgateway.googleapis.com \
    stackdriver.googleapis.com \
    monitoring.googleapis.com \
    logging.googleapis.com \
    opsconfigmonitoring.googleapis.com \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

Se você quiser gerenciar o ciclo de vida dos clusters de usuário no Console do Google Cloud, no Google Cloud CLI ou no Terraform, ative estas APIs adicionais no projeto host da frota:

gcloud services enable --project FLEET_HOST_PROJECT_ID \
    gkeonprem.googleapis.com \
    anthosaudit.googleapis.com \
    storage.googleapis.com

Windows

Ative as APIs necessárias no projeto host da frota:

gcloud services enable --project FLEET_HOST_PROJECT_ID ^
    anthos.googleapis.com ^
    container.googleapis.com ^
    gkehub.googleapis.com ^
    gkeconnect.googleapis.com ^
    connectgateway.googleapis.com ^
    stackdriver.googleapis.com ^
    monitoring.googleapis.com ^
    logging.googleapis.com ^
    opsconfigmonitoring.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

Se você quiser gerenciar o ciclo de vida dos clusters de usuário no console do Google Cloud, na Google Cloud CLI ou no Terraform, ative estas APIs extras no projeto host da frota:

gcloud services enable --project FLEET_HOST_PROJECT_ID ^
    gkeonprem.googleapis.com ^
    anthosaudit.googleapis.com ^
    storage.googleapis.com

Ver registros e métricas no projeto host da frota

Se você quiser ver métricas e registros do cluster no console do Google Cloud, insira o ID do projeto host da frota no campo stackdriver.projectID do arquivo de configuração do admin e do admin.

Esta seção stackdriver é obrigatória por padrão. Ou seja, se você não preencher a seção stackdriver, inclua a sinalização --skip-validation-stackdriver ao executar gkectl create.

Não é possível inserir outro ID do projeto no campo stackdriver.projectID. Se você inserir um valor, ele precisará ser o ID do projeto host da frota.

Se você optar por visualizar registros e métricas do cluster no console do Google Cloud, ative as seguintes APIs no projeto host da frota:

Linux e macOS

gcloud services enable --project FLEET_HOST_PROJECT_ID \
    stackdriver.googleapis.com \
    monitoring.googleapis.com \
    logging.googleapis.com \
    opsconfigmonitoring.googleapis.com \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

Windows

gcloud services enable --project FLEET_HOST_PROJECT_ID ^
    stackdriver.googleapis.com ^
    monitoring.googleapis.com ^
    logging.googleapis.com ^
    opsconfigmonitoring.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

Ver registros de auditoria no projeto host da frota

Se você quiser ver os registros de auditoria no Console do Google Cloud, insira o ID do projeto host da frota no campo cloudAuditLogging.projectID do arquivo de configuração do admin e do usuário.

Não é possível inserir outro ID do projeto no campo cloudAuditLogging.projectID. Se você inserir um valor, ele precisará ser o ID do projeto host da frota.

Se você optar por visualizar os registros de auditoria no console do Google Cloud, ative estas APIs no seu projeto host da frota:

Linux e macOS

gcloud services enable --project FLEET_HOST_PROJECT_ID \
    anthosaudit.googleapis.com \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

Windows

gcloud services enable --project FLEET_HOST_PROJECT_ID ^
    anthosaudit.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

Como atribuir papéis a contas de serviço no projeto host da frota

Sua conta de serviço connect-register precisa receber determinados papéis no projeto host da frota. Para detalhes, consulte Conta de serviço connect-register

A conta de serviço de monitoramento de registros precisa receber determinados papéis no projeto host da frota. Para detalhes, consulte Conta de serviço logging-monitoring.

A conta de serviço de registro de auditoria precisa receber determinados papéis no projeto host da frota. Para detalhes, consulte Conta de serviço de registro de auditoria.

Projeto de medição de uso

Se você ativar a medição de uso do GKE para um cluster de usuário, o GKE no VMware armazenará os dados de uso em um conjunto de dados do BigQuery associado a um projeto do Google Cloud de sua escolha. Esse projeto do Google Cloud é chamado de projeto de medição de uso.

O projeto de medição de uso pode ser o mesmo que o projeto host da frota ou pode ser diferente.

Para ativar a medição de uso, no arquivo de configuração do cluster de usuário, defina usageMetering.bigQueryProjectID como o ID do projeto de medição de uso.

Se você quiser ativar a medição de uso, ative estas APIs no projeto de medição de uso:

Linux e macOS

gcloud services enable --project USAGE_METERING_PROJECT_ID] \
    bigquery.googleapis.com \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

Windows

gcloud services enable --project USAGE_METERING_PROJECT_ID ^
    bigquery.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

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.

Projeto pai da sua conta de serviço de acesso a componentes

Antes de criar um cluster, você precisa ter uma conta de serviço que o GKE no VMware possa 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 a componentes é chamado de parent 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.

A seguir

Crie contas de serviço e chaves.