Ha sido lanzada la versión libre de la plataforma PaaS Cozystack 0.21.0, construida sobre Kubernetes. El proyecto está orientado a proporcionar una plataforma lista para proveedores de hosting y un marco para construir nubes privadas y públicas. La plataforma se instala directamente en los servidores y abarca todos los aspectos de preparación de infraestructura para ofrecer servicios gestionados. Cozystack permite iniciar y proporcionar clústeres de Kubernetes, bases de datos y máquinas virtuales. El código de la plataforma está disponible en GitHub y se distribuye bajo la licencia Apache-2.0.
Como pila de tecnologías básica se utiliza Talos Linux y Flux CD. Las imágenes del sistema, el núcleo y los módulos necesarios se crean con antelación y se actualizan de manera atómica, lo que permite prescindir de componentes como dkms y un gestor de paquetes, garantizando un funcionamiento estable. Se proporciona un método sencillo de instalación en un centro de datos vacío mediante PXE y un instalador similar a debian llamado talos-bootstrap.
La plataforma incluye una implementación abierta de infraestructura de red (fabric) basado en Kube-OVN, y utiliza Cilium para organizar la red de servicios, MetalLB para anunciar servicios al exterior. El almacenamiento está implementado en LINSTOR, donde se ofrece el uso de ZFS como capa base para el almacenamiento y DRBD para la replicación. Hay un stack de monitorización preconfigurado basado en VictoriaMetrics y Grafana. Para el lanzamiento máquinas virtuales se utiliza la tecnología KubeVirt, que permite ejecutar máquinas virtuales clásicas directamente en contenedores de Kubernetes y que ya tiene todas las integraciones necesarias con Cluster API para lanzar clústeres de Kubernetes gestionados dentro de un clúster de Kubernetes ‘físico’.
En la nueva versión, se ha rediseñado completamente la interfaz del Dashboard, que ahora trabaja directamente con la API de Cozystack, en lugar de con los recursos de FluxCD. Este cambio proporciona una interfaz gráfica a los usuarios finales y les permite otorgar derechos para desplegar ciertos servicios, teniendo en cuenta el modelo estándar RBAC en Kubernetes. Para cada inquilino, por defecto, se crean cuatro grupos:
- view — para acceso solo de lectura;
- use — para conectarse a máquinas virtuales y utilizar servicios;
- admin — para la posibilidad de solicitar servicios básicos (mysql, postgres, redis, kubernetes, virtual-machine, etc.);
- super-admin — para crear inquilinos secundarios y ejecutar servicios del sistema (monitoring, etcd, ingress y seaweedfs).
Los usuarios incluidos en los grupos correspondientes pueden acceder tanto a través de Kubernetes como a través del Dashboard. A pesar de que Cozystack utiliza un enfoque orientado a la API, el Dashboard es una parte importante de la plataforma, ya que permite crear rápidamente los servicios necesarios a través de la interfaz gráfica, luego ver cómo se representan en la API y, finalmente, describirlos como código (IaC).
Las principales métricas en el Dashboard:
- La interacción se realiza directamente con la API de Cozystack.
- Se eliminaron los prefijos para las aplicaciones, ya que cada aplicación ahora utiliza su propio Kind.
- Los espacios de nombres se filtran por el prefijo "tenant-", lo que permite mostrar solo los espacios de nombres de usuario y excluir de la visualización los espacios de nombres del sistema.
- Se corrigió la visualización de iconos con OIDC (OpenID Connect) activado.
- Se añadieron correcciones estéticas, incluidas enlaces correctos a la documentación.
Otros cambios:
- Se ha añadido autorización para Redis.
- Se realizó la refactorización de roles y vinculaciones de roles para inquilinos, se eliminaron todos los permisos para los recursos HelmRelease, se eliminó el grupo kubeapps-admin.
- Se corrigió el inicio de Grafana, se corrigió la URL para el complemento VictoriaLogs.
- Se corrigió la especificación OpenAPI para recursos List en la API Cozystack.
- Talos Linux se ha actualizado a la versión 1.8.4.
- Linstor-ha-controller se ha actualizado a la versión 1.2.3, lo que resolvió el problema de alta disponibilidad de las máquinas virtuales.
- Se ha añadido una configuración de tamaño para la base de datos de Grafana.
- Se han añadido capacidades adicionales para la gestión de recursos en VMCluster.
Fuente: opennet.ru
