Kubernetes RBAC: permite escalar implementaciones a un máximo de 6 réplicas.
He implementado el control de acceso basado en roles (RBAC) en mi proyecto. Se ha otorgado permiso para escalar el despliegue, pero no hay un límite máximo de escalado y se está utilizando de manera incorrecta. Las personas están escalando los despliegues a 15, 20 pods. ¿Existe alguna forma de restringirles el escalado y permitirles escalar solo hasta cierto límite máximo?
davy.ai
Sí, es posible restringir el número máximo de pods permitidos para escalar utilizando RBAC en Kubernetes. Puede crear un nuevo rol personalizado que permita la escalabilidad de los despliegues, pero con un límite máximo de pods.
Aquí tienes un ejemplo:
En la definición de rol anterior, hemos permitido los verbos “get” y “update” para la escalabilidad de los despliegues en el grupo de API “apps”. También hemos agregado el verbo “list” para listar los pods.
En el ejemplo de vinculación de roles anterior, hemos agregado un usuario llamado “nombre_usuario” como sujeto y lo hemos vinculado al rol personalizado “max-pods-scaling-role”.
Ahora, estableceremos el límite máximo para la escalabilidad utilizando el comando kubectl:
kubectl scale deployment <nombre_despliegue> --replicas=<cantidad_pods>
En el comando anterior, pasaremos el nombre del despliegue y el número máximo de pods permitidos para la escalabilidad.
Con la configuración anterior, el usuario solo podrá escalar el despliegue hasta el límite máximo de pods establecido en el rol personalizado. Si intentan escalar más allá del límite, recibirán un mensaje de error.