Configurar Policy Controller para alta disponibilidad

Puede definir configuraciones a nivel de implementación para Policy Controller que anulen los requisitos de recursos y configuren parámetros para la alta disponibilidad.

Esta página está dirigida a administradores y operadores de TI que quieran asegurarse de que todos los recursos que se ejecutan en la plataforma en la nube cumplen los requisitos de cumplimiento de la organización proporcionando y manteniendo la automatización para auditar o aplicar, y que gestionan el ciclo de vida de la infraestructura tecnológica subyacente. Para obtener más información sobre los roles habituales y las tareas de ejemplo a las que hacemos referencia en el contenido, consulta Roles y tareas de usuario habituales de GKE.Google Cloud

Para obtener una lista de todas las opciones de configuración, ejecuta gcloud container fleet policycontroller deployment set --help.

Los comandos de esta página usan la marca --all-memberships para aplicar una configuración a todos los clústeres registrados en una flota. Para aplicar un comando a un solo clúster registrado, usa --membership=MEMBERSHIP_NAME y sustituye MEMBERSHIP_NAME por el nombre de miembro del clúster registrado.

Configurar el número de réplicas

Puedes configurar tus implementaciones de Policy Controller para un ReplicaSet definiendo un número de réplicas.

Para definir un número de réplicas, ejecuta el siguiente comando:

gcloud container fleet policycontroller deployment set DEPLOYMENT_TYPE replica-count QUANTITY \
  --all-memberships

Haz los cambios siguientes:

  • DEPLOYMENT_TYPE: el tipo de implementación para el que quieres definir el número de réplicas. El valor es mutation o admission.
  • QUANTITY: el número de réplicas que quieras definir (por ejemplo, 3).

Para quitar un recuento de réplicas, ejecuta el siguiente comando:

gcloud container fleet policycontroller deployment remove DEPLOYMENT_TYPE replica-count \
  --all-memberships

Sustituye DEPLOYMENT_TYPE por el tipo de despliegue del que quieras quitar las réplicas. Este valor es mutation o admission.

Definir los requisitos de recursos

Puedes especificar límites y solicitudes de memoria y CPU.

Definir límites y solicitudes de memoria

Para definir un límite de memoria, ejecuta el siguiente comando:

gcloud container fleet policycontroller deployment set DEPLOYMENT_TYPE memory-limit QUANTITY \
  --all-memberships

Haz los cambios siguientes:

  • DEPLOYMENT_TYPE: el tipo de implementación en el que quieras definir un límite de memoria. Uno de los siguientes valores: audit, mutation o admission.
  • QUANTITY: la cantidad que quieras definir con un sufijo de cantidad, por ejemplo, 4Gi.

Para definir una solicitud de memoria, ejecuta el siguiente comando:

gcloud container fleet policycontroller deployment set DEPLOYMENT_TYPE memory-request QUANTITY \
  --all-memberships

Haz los cambios siguientes:

  • DEPLOYMENT_TYPE: el tipo de implementación en el que quieres definir una solicitud de memoria. Uno de los siguientes valores: audit, mutation o admission.
  • QUANTITY: la cantidad que quieras definir con un sufijo de cantidad, como 2Gi.

Definir límites y solicitudes de CPU

Para definir un límite de CPU, ejecuta el siguiente comando:

gcloud container fleet policycontroller deployment set DEPLOYMENT_TYPE cpu-limit QUANTITY \
  --all-memberships

Haz los cambios siguientes:

  • DEPLOYMENT_TYPE: el tipo de implementación en el que quieras definir un límite de CPU. Uno de los siguientes valores: audit, mutation o admission.
  • QUANTITY: la cantidad de CPU que quieras definir (por ejemplo, 500 m).

Para definir una solicitud de CPU, ejecuta el siguiente comando:

gcloud container fleet policycontroller deployment set DEPLOYMENT_TYPE cpu-request QUANTITY \
  --all-memberships

Haz los cambios siguientes:

  • DEPLOYMENT_TYPE: el tipo de implementación en el que quieras definir una solicitud de CPU. Uno de los siguientes valores: audit, mutation o admission.
  • QUANTITY: la cantidad que quieras definir, por ejemplo, 250 m.

Eliminar límites y solicitudes

Para quitar una configuración, ejecuta el siguiente comando:

gcloud container fleet policycontroller deployment remove DEPLOYMENT_TYPE RESOURCE_TYPE \
  --all-memberships

Haz los cambios siguientes:

  • DEPLOYMENT_TYPE: el tipo de implementación del que quieres eliminar la solicitud o el límite. Uno de los siguientes valores: audit, mutation o admission.
  • RESOURCE_TYPE: el tipo de recurso que quieres eliminar. Uno de los siguientes valores: memory-limit, memory-request, cpu-limit o cpu-request.

Configurar tolerancias

Puedes definir tolerancias en tus implementaciones de Policy Controller.

Puedes definir una tolerancia con uno de los siguientes métodos:

  • Para definir una tolerancia con una clave, ejecuta el siguiente comando:

    gcloud container fleet policycontroller deployment set admission toleration KEY \
      --all-memberships
    

    Sustituye KEY por el valor de tu clave (por ejemplo, key1).

  • Para definir una tolerancia con una clave y un valor, ejecuta el siguiente comando:

    gcloud container fleet policycontroller deployment set admission toleration KEY=VALUE \
      --all-memberships
    

    Haz los cambios siguientes:

    • KEY: tu valor de clave; por ejemplo, key1.
    • VALUE: tu valor de clave; por ejemplo, value1.
  • Para definir una tolerancia con una clave y un valor, y el efecto NoSchedule, ejecuta el siguiente comando:

    gcloud container fleet policycontroller deployment set admission toleration KEY=VALUE \
      --all-memberships \
      --effect=NoSchedule
    

    Haz los cambios siguientes:

    • KEY: tu valor de clave; por ejemplo, key1.
    • VALUE: tu valor de clave; por ejemplo, value1.

Si necesitas editar una tolerancia, debes eliminar la tolerancia y, a continuación, definir una nueva con uno de los comandos anteriores. Para quitar una tolerancia, ejecuta el comando anterior con remove en lugar de set. Por ejemplo:

gcloud container fleet policycontroller deployment remove admission toleration KEY=VALUE \
  --all-memberships

Configurar la afinidad

Puedes definir la afinidad de pods en tus implementaciones de Policy Controller. Las opciones disponibles son anti (correspondiente a antiafinidad) y none (correspondiente a sin afinidad). En la implementación de admissions, anti es el valor predeterminado. En el resto de las implementaciones, none es el valor predeterminado.

Para definir la antiafinidad de pods, ejecuta el siguiente comando:

gcloud container fleet policycontroller deployment set mutation pod-affinity anti \
  --all-memberships

Para quitar la afinidad de pods, ejecuta el siguiente comando:

gcloud container fleet policycontroller deployment set mutation pod-affinity none \
  --all-memberships