Además de cumplir los requisitos previos de instalación, hardware y sistema operativo, debes configurar y configurar los proyectos de Google Cloud, las APIs y las cuentas de servicio para ejecutar clústeres de Anthos en equipos físicos.
Ten en cuenta que el comando de bmctl
puede habilitar de manera automática cuentas de servicio y APIs durante la creación del clúster, pero también puedes configurar estos servicios de forma manual para un control más preciso de las operaciones.
Antes de comenzar
Crea un proyecto de Google Cloud y una cuenta de facturación.
Durante la instalación, debes proporcionar las siguientes credenciales:
- Las claves SSH privadas necesarias para acceder a las máquinas de nodo del clúster
- Si no usas
root
, el nombre de acceso de la máquina del nodo del clúster
Asegúrate de tener todas las credenciales necesarias antes de instalar clústeres de Anthos en un equipo físico.
Accede a gcloud
- Accede a gcloud como un usuario con el acceso
gcloud auth application-default
. - Administrador de cuenta de servicio
- Administrador de clave de cuenta de servicio
- Administrador de IAM de proyecto
- Lector de Compute
- Administrador de Service Usage
- Obtén tu ID del proyecto de Google Cloud para usarlo con la creación del clúster:
gcloud auth application-default login
export GOOGLE_APPLICATION_CREDENTIALS=JSON_KEY_FILE
export CLOUD_PROJECT_ID=$(gcloud config get-value project)
Configura el ID del proyecto de Google Cloud y los roles predeterminados
Puedes configurar tu project id
predeterminado además de configurar las cuentas de servicio.
Debes tener las funciones owner
o editor
en tu proyecto para los clústeres de Anthos en equipos físicos.
Para configurar el proyecto predeterminado, ejecuta el siguiente comando y reemplaza PROJECT_ID por tu ID del proyecto de Google Cloud:
gcloud config set project PROJECT_ID
Habilite las APIs
Antes de instalar clústeres de Anthos alojados en Bare Metal, debes habilitar varias APIs en el proyecto de Google Cloud asociado. Para habilitar las API en tu proyecto, debes tener una de las siguientes funciones en el proyecto de Google Cloud: roles/owner
, roles/editor
o roles/serviceusage.serviceUsageAdmin
.
Para obtener información adicional, consulta Otorga un solo rol.
Una vez que tengas los permisos de IAM necesarios, habilita las siguientes APIs:
anthos.googleapis.com
anthosaudit.googleapis.com
anthosgke.googleapis.com
cloudresourcemanager.googleapis.com
connectgateway.googleapis.com
container.googleapis.com
gkeconnect.googleapis.com
gkehub.googleapis.com
iam.googleapis.com
logging.googleapis.com
monitoring.googleapis.com
opsconfigmonitoring.googleapis.com
serviceusage.googleapis.com
stackdriver.googleapis.com
También puedes usar la herramienta bmctl
para habilitar estos servicios.
Configura las cuentas de servicio de forma manual
El comando bmctl
de clústeres de Anthos en equipos físicos puede configurar automáticamente cuentas de servicio y API de Google cuando creas clústeres.
Sin embargo, para tener más control sobre tu sistema u optimizar la creación de clústeres con un conjunto predeterminado de servicios, cuentas y proyectos, puedes configurar estos servicios de forma manual.
En entornos de producción, debes crear cuentas de servicio independientes para diferentes propósitos. Los clústeres de Anthos alojados en Bare Metal necesitan los siguientes tipos de cuentas de servicio de Google Cloud, según su propósito:
- Para acceder a Container Registry (
gcr.io
), no se necesita un rol especial. - Para registrar un clúster en una flota, otorga el rol de IAM
roles/gkehub.admin
a la cuenta de servicio en tu proyecto de Google Cloud. - Para conectarte a flotas, otorga el rol de IAM
roles/gkehub.connect
a la cuenta de servicio de tu proyecto de Google Cloud. Para enviar registros y métricas a Google Cloud's operations suite, otorga los siguientes roles de IAM a la cuenta de servicio de tu proyecto de Google Cloud:
roles/logging.logWriter
roles/monitoring.metricWriter
roles/stackdriver.resourceMetadata.writer
roles/monitoring.dashboardEditor
roles/opsconfigmonitoring.resourceMetadata.writer
Los clústeres de Anthos en equipos físicos conectan tus clústeres a Google Cloud. Esta conexión habilita la siguiente función:
- Conéctate para conectar tu clúster de equipos físicos a Google Cloud. Esto permite el acceso al clúster y a las funciones de administración de cargas de trabajo, incluida una interfaz de usuario unificada, la consola de Cloud, para interactuar con el clúster.
- Logging y Monitoring para ver los registros y las métricas del clúster en la consola de Cloud.
- Cargas automáticas de instantáneas del clúster en los buckets de Cloud Storage.
El proceso para configurar el acceso de forma manual incluye lo siguiente:
- Habilita los servicios de Google necesarios en tu proyecto de Cloud.
- Crea las siguientes cuentas de servicio con las funciones necesarias:
- Cuenta de servicio del agente de conexión: Connect usa esta cuenta de servicio para mantener una conexión entre tu clúster y Google Cloud.
- Cuenta de servicio de registro de Connect: Connect usa esta cuenta de servicio para registrar tus clústeres con Google Cloud.
- Cuenta de servicio de supervisión de registros: Connect usa esta cuenta de servicio para exportar registros y métricas de clústeres a Logging y Monitoring.
- Cuenta de servicio del agente de almacenamiento:
bmctl
usa esta cuenta de servicio para almacenar de forma automática las instantáneas de los clústeres en Cloud Storage.
- Descargar los archivos de claves JSON para cada cuenta de servicio
Luego, agregas referencias a los archivos de claves JSON a los archivos de configuración de clúster adecuados. Consulta Crea clústeres: descripción general para obtener más información.
Configura cuentas de servicio para usar con Connect
Para crear las cuentas de servicio y los archivos de claves, haz lo siguiente:
- Asegúrate de estar en el directorio
baremetal
. - Habilita los servicios de Google necesarios en tu proyecto de Cloud:
- Crea la cuenta de servicio agente de Connect con la función necesaria y descargue el archivo de claves.
En estos pasos, se crea el archivo de claves
connect-agent.json
en el directoriobaremetal
:- Crear cuenta de servicio:
- Otorga la función gkehub.connect:
- Descarga el archivo de claves JSON de la cuenta de servicio:
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
- Crea la cuenta de servicio de registro de conexión con la función necesaria y descarga el archivo de claves. En estos pasos, se crea el archivo de claves
connect-register.json
en el directoriobaremetal
:- Crear cuenta de servicio:
- Otorga la función gkehub.admin:
- Descarga el archivo de claves JSON de la cuenta de servicio:
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 \ connectgateway.googleapis.com \ cloudresourcemanager.googleapis.com \ anthos.googleapis.com
Configura una cuenta de servicio para auditar registros y supervisar proyectos
Para crear la cuenta de servicio y el archivo de claves para Logging y Monitoring, sigue estos pasos:
- Asegúrate de estar en el directorio
baremetal
. - Habilita los servicios de Google necesarios en tu proyecto de Cloud:
- Crea la cuenta de servicio de supervisión de registros con las funciones necesarias y descarga el archivo de claves. En estos pasos, se crea el archivo de claves
cloud-ops.json
en el directoriobaremetal
: - Crear cuenta de servicio
- Otorga la función logging.logWriter
- Otorga la función monitoring.metricWriter
- Otorga la función roles/stackdriver.resourceMetadata.writer
- Otorga la función roles/opsconfigmonitoring.resourceMetadata.writer role
- Otorga la función roles/monitoring.dashboardEditor
- Descarga el archivo de claves JSON de la cuenta de servicio:
gcloud services enable --project PROJECT_ID \ anthos.googleapis.com \ anthosaudit.googleapis.com \ anthosgke.googleapis.com \ cloudresourcemanager.googleapis.com \ gkeconnect.googleapis.com \ gkehub.googleapis.com \ logging.googleapis.com \ monitoring.googleapis.com \ opsconfigmonitoring.googleapis.com \ serviceusage.googleapis.com \ stackdriver.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
Configura una cuenta de servicio que pueda acceder a un bucket de Cloud Storage
Usa una cuenta de servicio y un archivo de claves para acceder a Cloud Storage. Puedes usar esta cuenta de servicio para permitir que las instantáneas de los clústeres se suban de forma automática a los buckets de Cloud Storage, o bien importar imágenes de máquinas virtuales (VM) desde buckets de Cloud Storage para usarlas con el entorno de ejecución de VM de Anthos.
Para crear la cuenta de servicio y el archivo de claves, completa los siguientes pasos:
- Asegúrate de estar en el directorio
baremetal
. - Habilita los servicios de Google necesarios en tu proyecto de Cloud:
- Crea una cuenta de servicio que tu clúster pueda usar para acceder a los buckets de Cloud Storage:
- Otorga un rol
storage.admin
a la cuenta de servicio para que esta pueda subir datos a un bucket de Cloud Storage o importar imágenes de VM: - Descarga el archivo de claves JSON de la cuenta de servicio:
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
Si deseas obtener más información para crear instantáneas de clúster y subirlas automáticamente a un bucket de Cloud Storage, consulta Crea instantáneas de diagnóstico de problemas de clústeres.
Si deseas obtener más información sobre cómo importar imágenes de VM desde Cloud Storage, consulta Crea y usa credenciales para importar imágenes desde el entorno de ejecución de VM de Cloud Storage para Anthos.