Prepara la instalación

En esta página, se explican algunos pasos que debes seguir antes de instalar GKE On-Prem en tu entorno.

Antes de comenzar

Revisa los siguientes temas:

Limitaciones

Limitación Descripción
Límites máximos y mínimos de los clústeres y los nodos

Consulta Cuotas y límites. El rendimiento del entorno puede afectar estos límites.

Nombres únicos de clúster de usuario

Todos los clústeres de usuario registrados en el mismo proyecto de Google Cloud deben tener nombres únicos.

No se pueden implementar los mismos clústeres en más de un centro de datos de vCenter o vSphere

Por el momento, solo puedes implementar un clúster de administrador y un conjunto de clústeres de usuario asociados en un solo centro de datos de vCenter o vSphere. No puedes implementar los mismos clústeres de administrador y de usuario en más de un centro de datos de vCenter o vSphere.

No se puede cambiar la configuración de un clúster de forma declarativa después de su creación Si bien puedes crear clústeres adicionales y cambiar el tamaño de los clústeres existentes, no puedes cambiar un clúster existente mediante su archivo de configuración.

Crea un proyecto de Google Cloud

Crea un proyecto de Google Cloud, si aún no tienes uno. Necesitas un proyecto para ejecutar GKE On-Prem.

Instala las herramientas necesarias de la interfaz de línea de comandos

  • Instala la CLI de Google Cloud, que incluye gcloud, la interfaz de línea de comandos (CLI) en Google Cloud.

  • Instala govc, la CLI de VMware vSphere.

  • Instala Terraform 0.11, que incluye la CLI terraform. Sigue las instrucciones de instalación de Terraform para verificar la instalación y configurar la variable PATH.

Configura la CLI de Google Cloud para usar tu proxy o firewall desde tu laptop o estación de trabajo

Si usas un proxy para conectarte a Internet desde tu laptop o estación de trabajo, debes configurar Google Cloud CLI para el proxy, de modo que puedas ejecutar los comandos de gcloud y gsutil. Si deseas obtener instrucciones, consulta Configura la CLI de gcloud para usarla detrás de un proxy o firewall.

Autoriza a gcloud para que acceda a Google Cloud

Después de instalar la CLI de gcloud, accede a Google Cloud con las credenciales de tu cuenta:

gcloud auth login

Configura un proyecto predeterminado de Google Cloud

Configurar un proyecto predeterminado de Google Cloud hace que todos los comandos de la CLI de gcloud se ejecuten en ese proyecto, de modo que no tengas que especificar el proyecto para cada comando. Para establecer un proyecto predeterminado, ejecuta el siguiente comando:

gcloud config set project [PROJECT_ID]

Reemplaza [PROJECT_ID] por el ID del proyecto. (Puedes encontrar el ID del proyecto en la consola de Google Cloud o mediante la ejecución de gcloud config get-value project).

Crea cuentas de servicio de Google Cloud

Antes de instalar GKE On-Prem por primera vez, debes usar gcloud para crear cuatro cuentas de servicio de Google Cloud. GKE On-Prem usa estas cuentas de servicio para completar las tareas por ti. En las siguientes secciones, se describe el propósito de cada cuenta.

Cuenta de servicio de acceso

Usa esta cuenta de servicio para descargar los objetos binarios de GKE On-Prem desde Cloud Storage. Es la única cuenta de servicio que Google incluye en la lista de anunciantes permitidos.

Ejecuta el siguiente comando para crear access-service-account:

gcloud iam service-accounts create access-service-account

Cuenta de servicio de registro

Connect usa esta cuenta de servicio para registrar tus clústeres de GKE On-Prem con Google Cloud Console.

Ejecuta el siguiente comando para crear register-service-account:

gcloud iam service-accounts create register-service-account

Cuenta de servicio de Connect

Connect usa esta cuenta de servicio para mantener una conexión entre los clústeres de GKE On-Prem y Google Cloud.

Ejecuta el siguiente comando para crear connect-service-account:

gcloud iam service-accounts create connect-service-account

Cuenta de servicio de Google Cloud's operations suite

Esta cuenta de servicio permite que GKE On-Prem escriba datos de registro y supervisión en Google Cloud's operations suite:

Ejecuta el siguiente comando para crear stackdriver-service-account:

gcloud iam service-accounts create stackdriver-service-account

Agrega tu proyecto y tus cuentas a la lista de anunciantes permitidos

Después de comprar Anthos, Google incluye los siguientes elementos en la lista de anunciantes permitidos para otorgar acceso a GKE On-Prem y a Connect:

  • Tu proyecto de Google Cloud
  • Tu Cuenta de Google y las cuentas individuales de Google de los miembros del equipo
  • Tu cuenta de servicio de acceso

Si quieres usar un proyecto o una cuenta de servicio diferentes, o si deseas habilitar usuarios adicionales, el equipo de Google Cloud Support o el administrador técnico de cuentas pueden ayudarte. Abre un caso de ayuda a través de la consola de Google Cloud o de Google Cloud Support Center.

Habilita las API necesarias en tu proyecto

Debes habilitar las siguientes API en el proyecto de Google Cloud:

  • cloudresourcemanager.googleapis.com
  • container.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com
  • monitoring.googleapis.com
  • logging.googleapis.com

Para habilitar estas API, ejecuta el siguiente comando:

gcloud services enable \
cloudresourcemanager.googleapis.com \
container.googleapis.com \
gkeconnect.googleapis.com \
gkehub.googleapis.com \
serviceusage.googleapis.com \
stackdriver.googleapis.com \
monitoring.googleapis.com \
logging.googleapis.com

Asigna funciones de administración de identidades y accesos a las cuentas de servicio

IAM otorga permisos a las cuentas para llamar a las API de Google Cloud. Asigna funciones de IAM dedicadas a estas cuentas de servicio para el aislamiento de privilegios.

Enumera las direcciones de correo electrónico de las cuentas de servicio

Primero, enumera las cuentas de servicio en el proyecto de Google Cloud:

gcloud iam service-accounts list

En un proyecto de Google Cloud llamado my-gcp-project, el resultado de este comando se verá así:

gcloud iam service-accounts list
NAME                                    EMAIL
                                        access-service-account@my-gcp-project.iam.gserviceaccount.com
                                        register-service-account@my-gcp-project.iam.gserviceaccount.com
                                        connect-service-account@my-gcp-project.iam.gserviceaccount.com
                                        stackdriver-service-account@my-gcp-project.iam.gserviceaccount.com

Toma nota de la dirección de correo electrónico de cada cuenta. En cada una de las siguientes secciones, debes proporcionar la cuenta de correo electrónico de la cuenta correspondiente.

Cuenta de servicio de registro

Otorga las funciones gkehub.admin y serviceuseage.serviceUsageViewer a la cuenta de servicio de registro:

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[REGISTER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/gkehub.admin"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[REGISTER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/serviceusage.serviceUsageViewer"

Cuenta de servicio de Connect

Otorga la función gkehub.connect a la cuenta de servicio de Connect:

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[CONNECT_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/gkehub.connect"

Cuenta de servicio de Google Cloud's operations suite

Otorga las funciones stackdriver.resourceMetadata.writer, logging.logWriter y monitoring.metricWriter a la cuenta de servicio de Google Cloud's operations suite:

gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[STACKDRIVER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/stackdriver.resourceMetadata.writer"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[STACKDRIVER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/logging.logWriter"
gcloud projects add-iam-policy-binding [PROJECT_ID] \
--member "serviceAccount:[STACKDRIVER_SERVICE_ACCOUNT_EMAIL]" \
--role "roles/monitoring.metricWriter"

Configura los registros y la supervisión

Stackdriver Logging y Stackdriver Monitoring están habilitados de forma predeterminada para GKE On-Prem.

Agrega direcciones de tu proxy a la lista de anunciantes permitidos

Si la organización requiere acceso a Internet a fin de pasar por un proxy HTTP, debes incluir en la lista de anunciantes permitidos las siguientes direcciones para tu proxy.

En las siguientes secciones, se explican las direcciones en detalle.

Direcciones de Google

GKE On-Prem usa varias API de Google para crear y administrar clústeres. Incluye en la lista de anunciantes permitidos las siguientes direcciones de Google en el proxy:

Address Propósito
accounts.google.com Permite el acceso a las Cuentas de Google a fin de acceder a tu proyecto de Google Cloud.
cloudresourcemanager.googleapis.com Crea, lee y actualiza los metadatos para contenedores de recursos de Google Cloud.
console.cloud.google.com Permite el acceso a la consola de Google Cloud.
container.googleapis.com Permite el acceso a la API de Google Kubernetes Engine.
gcr.io Permite el acceso a los repositorios de Container Registry, incluido el repositorio de GKE On-Prem.
gkeconnect.googleapis.com Permite el acceso a Connect para establecer una conexión encriptada de larga duración con Google Cloud.
gkehub.googleapis.com Permite el acceso a la consola de Google Cloud para el registro de clústeres con tu proyecto de Google Cloud.
logging.googleapis.com Permite el acceso a la API de Cloud Logging para las funciones de registro de métricas del clúster.
monitoring.googleapis.com Permite el acceso a la API de Cloud Monitoring para las funciones de supervisión del clúster.
oauth2.googleapis.com Permite el acceso a la API de OAuth2 de Google para la autenticación.
serviceusage.googleapis.com
storage.googleapis.com Permite el acceso a los depósitos de Cloud Storage.
googleapis.com Permite el acceso a extremos específicos de productos de Google Cloud.

Direcciones de HashiCorp

Debes usar la versión 0.11 de HashiCorp Terraform para crear una VM de estación de trabajo de administrador en vSphere. Para ejecutar Terraform en un entorno con un proxy o firewall, debes incluir en la lista de anunciantes permitidos las siguientes direcciones de HashiCorp:

Dirección Propósito
checkpoint-api.hashicorp.com Permite el acceso a la información de la versión y de alertas de HashiCorp para diversos productos de código abierto y de propiedad exclusiva.
releases.hashicorp.com Permite el acceso a los objetos binarios de HashiCorp.

VMware, el balanceador de cargas y otras direcciones

Por último, asegúrate de incluir en la lista de anunciantes permitidos las siguientes direcciones para tu proxy. Estas direcciones pueden variar:

Dirección Propósito
Dirección IP de vCenter Server Permite el tráfico de Internet para vCenter Server.
Todas las direcciones IP de los hosts de ESXi Permiten el tráfico de Internet para tus hosts de ESXi que ejecutan clústeres de GKE On-Prem.
Otras direcciones IP que planeas configurar en el balanceador de cargas Permiten el tráfico de Internet para otras direcciones IP, como clientes y cargas de trabajo.

Reserva los rangos de Pod y Service

Para el clúster de administrador y cada clúster de usuario que desees crear, debes separar dos bloques IPv4 de CIDR: uno destinado a las IP de Pod y otro a las IP de Service.

Los tamaños de estos rangos dependen de la cantidad de Pods y Services que quieres crear. Por ejemplo, si tienes la intención de crear menos de 256 Services en un clúster, podrías reservar un rango de Service de /24, como 10.96.233.0/24. Si pretendes crear menos de 4,096 Pods en el clúster, puedes reservar un rango de Pods de /20, como 172.16.0.0/20.

Para los clústeres determinados, los rangos de Service y Pod no deben superponerse. Tampoco deben superponerse en ningún clúster con las direcciones IP que se usan para los nodos.

Prepara el balanceador de cargas

Los clústeres de GKE On-Prem pueden ejecutarse con uno de los dos modos de balanceo de cargas, “integrado” o “manual”. Con el modo integrado, los clústeres de GKE On-Prem se ejecutan con el balanceador de cargas BIG-IP de F5. Con el modo manual, debes configurar de forma manual un balanceador de cargas diferente.

Prepara particiones de BIG-IP de F5

Si eliges usar el modo integrado, debes crear una partición de BIG-IP de F5 a fin de controlar el balanceo de cargas de cada clúster de GKE On-Prem que decidas crear.

En principio, debes crear al menos dos particiones: una para el clúster de administrador y otra para un clúster de usuario. Debes crear una partición antes de crear el clúster correspondiente.

No uses las particiones del clúster para nada más. Cada uno de los clústeres debe tener una partición para uso exclusivo de ese clúster.

Para aprender cómo crear particiones, consulta Crea una partición administrativa en la documentación de BIG-IP de F5.

Usa el modo de balanceo de cargas manual

El modo de balanceo de cargas manual requiere más configuración que el modo integrado. Para obtener más información, consulta Habilita el balanceo de cargas manual.