Lanzamiento de Cozystack 0.37, una plataforma PaaS de código abierto basada en Kubernetes

Cozystack, una plataforma PaaS gratuita basada en Kubernetes, ya está disponible en su versión 0.37. El proyecto ofrece una plataforma lista para usar para proveedores de hosting y un marco de trabajo para la creación de nubes privadas y públicas. La plataforma se instala directamente en los servidores y abarca todos los aspectos de la preparación de la infraestructura para la prestación de servicios gestionados. Cozystack permite lanzar y aprovisionar 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.

Talos Linux y Flux CD se utilizan como la pila tecnológica básica. Las imágenes con el sistema, el kernel y los módulos necesarios se generan con antelación y se actualizan automáticamente, lo que elimina la necesidad de componentes como dkms y un gestor de paquetes, y garantiza un funcionamiento estable. Se proporciona un método de instalación sencillo en un centro de datos vacío mediante PXE y un instalador similar a Debian, talos-bootstrap. Dentro de la plataforma, puede implementar Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics y otros servicios con un solo clic.

La plataforma incluye una implementación gratuita de infraestructura de red (fabric) basada en Kube-OVN y utiliza Cilium para organizar la red de servicios y MetalLB para anunciar servicios al exterior. El almacenamiento se implementa sobre LINSTOR, que propone el uso de ZFS como capa base para el almacenamiento y DRBD para la replicación. Hay una pila de monitoreo preconfigurada basada en VictoriaMetrics y Grafana. Para ejecutar máquinas virtuales, se utiliza la tecnología KubeVirt, que le permite ejecutar máquinas virtuales clásicas directamente en contenedores de Kubernetes y ya tiene todas las integraciones necesarias con la API de Cluster para ejecutar clústeres de Kubernetes administrados dentro de un clúster de Kubernetes de "hardware".

Durante el último mes y medio, el equipo del proyecto ha publicado las nuevas versiones 0.36 y 0.37. Los cambios en estas versiones incluyen:

  • La interfaz de usuario se ha reescrito desde cero, utilizando como base el proyecto openapi-ui.
     Lanzamiento de Cozystack 0.37, una plataforma PaaS de código abierto basada en Kubernetes
  • Se ha añadido un selector de clústeres a la interfaz. Actualmente, el panel de control funciona en modo de clúster único (un panel por clúster). En el futuro, esta misma interfaz se utilizará para el modo de clústeres múltiples.
  • La pantalla del clúster ahora muestra todos los espacios de nombres disponibles de un vistazo. La lista se genera a través de la capa de agregación de Kubernetes (espacio de nombres del inquilino), por lo que solo se muestran los espacios de nombres a los que se puede acceder.
  • La creación de recursos ahora se realiza mediante formularios generados automáticamente a partir de la API abierta de Kubernetes. Se eliminan los comentarios YAML: los campos y la validación se toman directamente de las especificaciones.
  • La especificación de las nuevas aplicaciones se genera a partir de gráficos Helm utilizando el generador cozy-values, y los campos introducidos en el formulario se reflejan de forma síncrona en el YAML resultante.
  • Los módulos de gestión de inquilinos se han trasladado a la sección de administración: aquí puede crear subinquilinos e instalar módulos/aplicaciones específicos para ellos (el acceso depende del rol y los derechos del usuario).
  • Está previsto lanzar una pestaña de consola VNC para máquinas virtuales. Se añadirán pestañas/campos específicos para algunos tipos de recursos (por ejemplo, para máquinas virtuales KubeVirt).
  • Se ha estabilizado el mecanismo de gestión de recursos para los inquilinos de Cozystack. Los administradores de la plataforma ahora pueden establecer límites explícitos de CPU, memoria y almacenamiento para cada espacio de nombres de inquilino en la especificación del inquilino. Esto evita que un solo inquilino acapare todos los recursos, dejando a los demás sin ellos.
  • Se ha añadido el componente Kube-OVN Plunger para la monitorización continua del clúster de gestión central de la red Kube-OVN. Un agente externo recopila el estado del clúster OVN y la información de consenso, muestra las métricas de Prometheus y transmite eventos mediante SSE (Server-Sent Events).
  • El complemento CoreDNS ahora se implementa mediante el gráfico Helm y se configura en la especificación del clúster (escalado automático, número de réplicas, IP del servicio, etc.). CoreDNS se puede configurar tanto en el panel de control como mediante la API de Cozystack.
  • El almacenamiento S3 basado en SeaweedFS ahora es más flexible a nivel de componentes. El gráfico de Helm permite la configuración independiente de cada componente y sus recursos: nodos maestros, servidores de volúmenes (con soporte multizona), base de datos y puerta de enlace S3. Los administradores pueden establecer el número de réplicas, los límites de CPU/memoria y la capacidad de almacenamiento para cada componente.
  • SeaweedFS 3.97 ahora incluye soporte para el cifrado del lado del servidor de buckets S3 (SSE-C, SSE-KMS, SSE-S3). Al actualizar Cozystack, la versión de SeaweedFS también se actualizará y la especificación del servicio se convertirá automáticamente al nuevo formato.
  • El controlador NGINX ahora es configurable a nivel de réplica: puede establecer directamente las solicitudes/límites de CPU y memoria o elegir una de las configuraciones predefinidas.
  • Si a una máquina virtual se le asigna una IP externa, esta siempre se utilizará para el tráfico de salida, independientemente del método utilizado para asignar dicha IP.

Fuente: opennet.ru

Añadir un comentario