Gestionar los permisos con Capsule
Objetivos
Este tutorial le guiará en el uso de Capsule, la herramienta de multitenencia integrada en su clúster Managed Kubernetes. Al finalizar esta guía, sabrá:
- Qué es un Tenant Capsule y cómo organiza sus permisos.
- Cómo crear y gestionar Namespaces dentro de su Tenant.
- Cómo se aplican las políticas de seguridad y las cuotas a sus proyectos.
¿Qué es Capsule?
Capsule es un controlador de Kubernetes que introduce el concepto de Tenant para agrupar varios Namespaces. En el producto Managed Kubernetes de Cloud Temple, Capsule se utiliza para delegarle la gestión de sus propios Namespaces de forma totalmente autónoma, sin necesidad de la intervención de un administrador del clúster.
Al entregar su clúster, los equipos de Cloud Temple han creado un primer Tenant para usted y lo han designado como propietario (Tenant Owner).
ℹ️Por defecto, su primer Tenant se llama
defaulty la cuenta de servicio propietaria esdefaultapp.
Para obtener más información sobre el proyecto, puede consultar el sitio web oficial de Capsule.
Paso 1: Conocer el nombre de su Tenant
Como Tenant Owner, no tiene los permisos para listar el recurso Tenant directamente. El nombre de su Tenant le es comunicado por los equipos de Cloud Temple durante la entrega del servicio.
Si ha olvidado el nombre de su Tenant, puede recuperarlo inspeccionando las etiquetas de los Namespaces a los que tiene acceso. El siguiente comando lista todos los namespaces que están asociados a un tenant de Capsule y muestra sus etiquetas:
kubectl get ns -l capsule.clastix.io/tenant --show-labels
Busque la etiqueta capsule.clastix.io/tenant. El valor de esta etiqueta es el nombre de su Tenant. Luego, puede utilizar este nombre para filtrar y ver únicamente los Namespaces de su Tenant:
# Una vez que conozca el nombre de su tenant, por ejemplo "my-tenant"
kubectl get ns -l capsule.clastix.io/tenant=my-tenant
Paso 2: Crear un nuevo Namespace
Su principal ventaja como Tenant Owner es poder crear Namespaces usted mismo. Puede hacerlo directamente con un solo comando kubectl.
Ejecute el siguiente comando para crear un namespace llamado mon-projet-dev :
kubectl create namespace mon-projet-dev
Capsule interceptará esta solicitud. Como es propietario de un Tenant, autorizará la creación del Namespace y lo asociará automáticamente a su Tenant.
Paso 3: Verificar la asociación del Namespace
Una vez creado el Namespace, puede verificar que se haya asociado correctamente a su Tenant.
kubectl get ns mon-projet-dev --show-labels
Notará que Capsule ha añadido una etiqueta a su Namespace, indicando a qué Tenant pertenece. Este es el mecanismo que garantiza el aislamiento entre los diferentes Tenants del clúster.
NAME STATUS AGE LABELS
mon-projet-dev Active 1m capsule.clastix.io/tenant=votre-tenant
Paso 4: Comprender la herencia de políticas
Una de las mayores ventajas de Capsule es que todas las políticas de seguridad, las cuotas de recursos (ResourceQuota) y los rangos de recursos (LimitRange) definidos a nivel de Tenant por los administradores se heredan automáticamente por todos los Namespaces que cree.
Esto garantiza que sus proyectos cumplan con los límites de consumo (CPU, memoria, almacenamiento) y las reglas de seguridad (como las políticas de red predeterminadas o las restricciones de seguridad definidas por Kyverno) establecidas para su entorno, sin que tenga que reconfigurarlas para cada Namespace.
ℹ️ Se han configurado cuotas específicas en su Tenant de Capsule para limitar el uso del almacenamiento persistente (Ceph-Block, Ceph-Block-norepl y Ceph-FileSystem) al espacio total disponible en el clúster. Si necesita modificar estas cuotas para un proyecto específico, presente una solicitud al soporte de Cloud Temple.
Conclusion
Gracias a Capsule, cuentas con una autonomía completa para gestionar los Namespaces de tus equipos, al tiempo que te beneficias de un marco seguro y preconfigurado por los administradores del clúster. Puedes crear, modificar y eliminar Namespaces a voluntad, sabiendo que las medidas de seguridad necesarias se aplican automáticamente.
Si necesitas crear un nuevo Tenant para aislar otro conjunto de proyectos o equipos, puedes realizar la solicitud al soporte de Cloud Temple.