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 variablePATH
.
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.