Implementa cargas de trabajo de terceros en Config Controller

En esta página, se explica cómo implementar tus propias cargas de trabajo en clústeres de Config Controller.

Esta página está destinada a administradores y operadores de TI que administran el ciclo de vida de la infraestructura tecnológica subyacente, planifican la capacidad y, además, implementan apps y servicios en producción. Para obtener más información sobre los roles comunes y las tareas de ejemplo a las que hacemos referencia en el contenido de Google Cloud, consulta Tareas y roles comunes de los usuarios de GKE Enterprise.

Antes de comenzar

Antes de comenzar, asegúrate de haber realizado las siguientes tareas:

  1. Configura Config Controller.
  2. Si tu clúster de Config Controller está en una versión de GKE anterior a la 1.27, actualízalo a la versión 1.27 o una posterior.

Habilita el aprovisionamiento automático de nodos en clústeres estándar

Debes habilitar el aprovisionamiento automático de nodos para implementar tus propias cargas de trabajo en los clústeres de Config Controller. Esto permite la separación de cargas de trabajo entre las tuyas y las que administra Google, que se instalan de forma predeterminada en los clústeres de Config Controller.

Si usas clústeres de Autopilot, no necesitas habilitar el aprovisionamiento automático de nodos, ya que GKE administra de forma automática el escalamiento y el aprovisionamiento de nodos.

gcloud

Para habilitar el aprovisionamiento automático de nodos, ejecuta el comando siguiente:

gcloud container clusters update CLUSTER_NAME \
    --enable-autoprovisioning \
    --min-cpu MINIMUM_CPU \
    --min-memory MIMIMUM_MEMORY \
    --max-cpu MAXIMUM_CPU \
    --max-memory MAXIMUM_MEMORY \
    --autoprovisioning-scopes=https://www.googleapis.com/auth/logging.write,https://www.googleapis.com/auth/monitoring,https://www.googleapis.com/auth/devstorage.read_only

Reemplaza lo siguiente:

  • CLUSTER_NAME: El nombre de tu clúster de Config Controller:
  • MINIMUM_CPU es la cantidad mínima de núcleos en el clúster.
  • MINIMUM_MEMORY es la cantidad mínima de gigabytes de memoria en el clúster.
  • MAXIMUM_CPU es la cantidad máxima de núcleos en el clúster.
  • MAXIMUM_MEMORY es la cantidad máxima de gigabytes de memoria en el clúster.

Console

Para habilitar el aprovisionamiento automático de nodos, sigue estos pasos:

  1. Ve a la página de Google Kubernetes Engine en la consola de Google Cloud.

    Ir a Google Kubernetes Engine

  2. Haz clic en el nombre del clúster.

  3. En la sección Automatización, en Aprovisionamiento automático de nodos, haz clic en Editar.

  4. Selecciona la casilla de verificación Habilitar el aprovisionamiento automático de nodos.

  5. Configura el uso mínimo y máximo de CPU y memoria para el clúster.

  6. Haz clic en Guardar cambios.

Para obtener más información sobre cómo configurar el aprovisionamiento automático de nodos, como establecer valores predeterminados, consulta Configura el aprovisionamiento automático de nodos.

Implementa tu carga de trabajo

Cuando implementas tus cargas de trabajo, Config Controller habilita automáticamente GKE Sandbox para proporcionar una capa adicional de seguridad que evita que el código no confiable afecte el kernel del host en los nodos de tu clúster. Para obtener más información, consulta Acerca de GKE Sandbox.

Para implementar una carga de trabajo, escribe un archivo de manifiesto de carga de trabajo y, luego, ejecuta el siguiente comando:

kubectl apply -f WORKLOAD_FILE

Reemplaza WORKLOAD_FILE por el archivo de manifiesto, como my-app.yaml.

Confirma que tu carga de trabajo se esté ejecutando en los nodos aprovisionados automáticamente:

  1. Obtén la lista de nodos creados para tu carga de trabajo:

    kubectl get nodes
  2. Inspecciona un nodo específico:

    kubectl get nodes NODE_NAME -o yaml

    Reemplaza NODE_NAME por el nombre del nodo que deseas inspeccionar.

Limitaciones

  • GKE Sandbox: GKE Sandbox funciona bien con muchas aplicaciones, pero no con todas. Para obtener más información, consulta Limitaciones de GKE Sandbox.
  • Seguridad del plano de control: Cuando otorgues permisos para tus cargas de trabajo, usa el principio de privilegio mínimo para otorgar solo los permisos que necesites. Si tu carga de trabajo se ve comprometida, puede usar permisos demasiado permisivos para cambiar o borrar recursos de Kubernetes.
  • Disponibilidad del plano de control: si tus cargas de trabajo aumentan el tráfico en poco tiempo, es posible que el plano de control del clúster deje de estar disponible hasta que disminuya el tráfico.
  • Cambio de tamaño del plano de control: GKE cambia automáticamente el tamaño del plano de control según sea necesario. Si tu carga de trabajo causa un gran aumento de carga (por ejemplo, instalar miles de objetos CRD), es posible que el cambio de tamaño automático de GKE no pueda seguir el aumento de carga.
  • Cuotas: Cuando implementes cargas de trabajo, debes tener en cuenta las cuotas y los límites de GKE y no excederlos.
  • Acceso de red al plano de control y a los nodos: Config Controller usa nodos privados con las redes autorizadas de instancia principal habilitadas, el extremo privado habilitado y el acceso público inhabilitado. Para obtener más información, consulta Seguridad de la red de GKE.

¿Qué sigue?