Usa varios proyectos de Google Cloud

En este documento, se muestra cómo usar proyectos de Google Cloud independientes para diferentes aspectos de los clústeres de Anthos alojados en VMware (GKE On-Prem).

Las instrucciones que aparecen aquí están completas. Para obtener una introducción más breve al uso de un proyecto de Google Cloud, consulta Proyecto de Google Cloud (guía de inicio rápido).

Antes de comenzar

Instala Google Cloud CLI.

Archivos de configuración del clúster

Los archivos de configuración del clúster de administrador y del clúster de usuario tienen varios campos en los que puedes especificar un ID del proyecto de Google Cloud:

stackdriver:
  projectID: ""
...
gkeConnect:
  projectID: ""
...
usageMetering:
  bigQueryProjectID: ""
...
cloudAuditLogging:
  projectID: ""

La idea es que puedes tener un proyecto para administrar tu clúster desde la consola de Google Cloud, otro para ver registros y métricas, y así sucesivamente. La única excepción es que tu proyecto de registro de auditoría debe ser el mismo que el proyecto de conexión.

No es necesario usar ID de proyectos diferentes. Por ejemplo, puedes usar el mismo proyecto para la administración y el registro. Si lo deseas, puedes usar el mismo proyecto para todo.

Habilita servicios en un proyecto de Google Cloud

Cada uno de tus proyectos de Google Cloud debe tener habilitados determinados servicios. Por ejemplo, tu proyecto de conexión debe tener habilitados estos servicios:

cloudresourcemanager.googleapis.com
container.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
serviceusage.googleapis.com
iam.googleapis.com

Para habilitar los servicios en un proyecto, debes tener ciertos permisos en el proyecto de Google Cloud. A fin de obtener más información, consulta los permisos necesarios para services.enable en Control de acceso.

Si tienes los permisos necesarios, puedes habilitar los servicios tú mismo. De lo contrario, alguien de tu organización deberá habilitar los servicios por ti.

Proyecto de Connect

Cuando creas un clúster de usuario, los clústeres de Anthos alojados en VMware usan Connect para registrar el clúster con el proyecto de Google Cloud que elijas. Después de registrar el clúster, puedes verlo y administrarlo en este proyecto de la consola de Google Cloud.

Connect usa un Deployment llamado Connect Agent para establecer una conexión entre tu clúster de usuario y tu proyecto de Google Cloud.

En el archivo de configuración del clúster de usuario, establece gkecConnect.projectID en el ID del proyecto de Google Cloud en el que deseas ver y administrar tu clúster.

Habilita las API en tu proyecto de conexión

Para habilitar las API obligatorias en tu proyecto de conexión, haz lo siguiente:

Linux y 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

En el ejemplo anterior, [PROJECT_ID] es el ID de tu proyecto de conexión.

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

En el ejemplo anterior, [PROJECT_ID] es el ID de tu proyecto de conexión.

Otorga funciones a cuentas de servicio en tu proyecto de conexión

La cuenta de servicio del registro de conexión debe tener ciertas funciones en el proyecto de conexión. Para obtener más información, consulta Cuenta de servicio de registro de conexión.

Proyecto de supervisión y registro

En un clúster de usuario, los agentes de registros y métricas recopilan datos y los ponen a disposición de Cloud Logging y Cloud Monitoring. Para ver los registros y las métricas de tu clúster, debes especificar un proyecto de Google Cloud asociado.

En el archivo de configuración del clúster de usuario, establece stackdriver.projectID en el ID del proyecto de Google Cloud que deseas asociar con el registro y la supervisión. Este es el proyecto en el que verás los registros y las métricas del clúster.

Habilita las API en tu proyecto de supervisión y registro

Para habilitar las API necesarias en tu proyecto de supervisión y registro, haz lo siguiente:

Linux y macOS

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

En el ejemplo anterior, [PROJECT_ID] es el ID de tu proyecto de supervisión y registro.

Windows

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

En el ejemplo anterior, [PROJECT_ID] es el ID de tu proyecto de supervisión y registro.

Otorga funciones a las cuentas de servicio en tu proyecto de supervisión y registro

A la cuenta de servicio de supervisión y registro se le deben otorgar ciertas funciones en el proyecto de supervisión y registro.

Para obtener más detalles, consulta Cuenta de servicio de supervisión y registro.

Proyecto de registro de auditoría

Si habilitas los registros de auditoría de Cloud para un clúster, las entradas del registro de auditoría del servidor de la API de Kubernetes del clúster se envían a Google Cloud.

El proyecto en el que tus registros de auditoría de vistas se llama proyecto de registro de auditoría. El proyecto de registro de auditoría debe ser el mismo que el proyecto de conexión.

En el archivo de configuración del clúster, establece cloudAuditLogging.projectID en el ID de tu proyecto de conexión.

Habilita las API en tu proyecto de registro de auditoría

Para habilitar las API necesarias en tu proyecto de registro de auditoría, haz lo siguiente:

Linux y macOS

gcloud services enable --project [PROJECT_ID] \
    anthosgke.googleapis.com \
    anthosaudit.googleapis.com \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

En el ejemplo anterior, [PROJECT_ID] es el ID de tu proyecto de registro de auditoría.

Windows

gcloud services enable --project [PROJECT_ID] ^
    anthosgke.googleapis.com ^
    anthosaudit.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

En el ejemplo anterior, [PROJECT_ID] es el ID de tu proyecto de registro de auditoría.

Otorga funciones a cuentas de servicio en tu proyecto de registro de auditoría

La cuenta de servicio de registro de auditoría debe tener ciertas funciones en tu proyecto de registro de auditoría.

Para obtener más información, consulta Cuenta de servicio de registro de auditoría.

Proyecto superior de tu cuenta de servicio de acceso a los componentes

Antes de crear un clúster, debes tener una cuenta de servicio que los clústeres de Anthos alojados en VMware puedan usar para descargar componentes de Container Registry. Esta cuenta de servicio se denomina cuenta de servicio de acceso a los componentes.

El proyecto de Google Cloud en el que creaste la cuenta de servicio de acceso a los componentes se denomina superior de la cuenta de servicio de acceso a los componentes. Este proyecto puede ser el mismo que uno de los proyectos que especificas en los archivos de configuración del clúster o puede ser diferente de todos los proyectos que especifica en los archivos de configuración. Para obtener más información sobre las cuentas de servicio y los proyectos superiores, consulta Información sobre las cuentas de servicio y los proyectos de Google Cloud.

A fin de habilitar las API necesarias para el proyecto superior de la cuenta de servicio de acceso a los componentes, haz lo siguiente:

Linux y macOS

gcloud services enable --project [PROJECT_ID] \
    serviceusage.googleapis.com \
    iam.googleapis.com \
    cloudresourcemanager.googleapis.com

donde [PROJECT_ID] es el ID del proyecto superior de tu cuenta de servicio de acceso a los componentes.

Windows

gcloud services enable --project [PROJECT_ID] ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

en el que [PROJECT_ID] es el ID del proyecto superior de tu cuenta de servicio de acceso a los componentes.

Proyecto de medición del uso

Si habilitas la medición de uso de GKE para un clúster de usuario, los clústeres de Anthos alojados en VMware almacenan datos de uso en un conjunto de datos de BigQuery asociado con el proyecto de Google Cloud que elijas.

En tu archivo de configuración del clúster de usuario, establece usageMetering.bigQueryProjectID en el ID del proyecto de Google Cloud en el que deseas almacenar los datos de uso.

Habilita las API en el proyecto de medición del uso

Para habilitar las API requeridas en el proyecto de medición del uso, haz lo siguiente:

Linux y macOS

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

En el ejemplo anterior, [PROJECT_ID] es el ID del proyecto de medición del uso.

Windows

gcloud services enable --project [PROJECT_ID] ^
    bigquery.googleapis.com ^
    serviceusage.googleapis.com ^
    iam.googleapis.com ^
    cloudresourcemanager.googleapis.com

En el ejemplo anterior, [PROJECT_ID] es el ID del proyecto de medición del uso.

Otorga funciones a las cuentas de servicio en el proyecto de medición del uso

Tu cuenta de servicio de medición del uso debe tener ciertas funciones en el proyecto de medición del uso.

Para obtener más detalles, consulta Cuenta de servicio de medición del uso.

¿Qué sigue?

Crea claves y cuentas de servicio.