Lançamento do Cozystack 0.22, uma plataforma PaaS de código aberto baseada em Kubernetes

Está disponível a versão livre da plataforma PaaS Cozystack 0.22.0, construída sobre Kubernetes. O projeto visa fornecer uma plataforma pronta para provedores de hospedagem e um framework para construir nuvens privadas e públicas. A plataforma é instalada diretamente em servidores e abrange todos os aspectos da preparação da infraestrutura para oferecer serviços gerenciados. O Cozystack permite iniciar e fornecer clusters Kubernetes, bancos de dados e máquinas virtuais. O código da plataforma está disponível no GitHub e é distribuído sob a licença Apache-2.0.

Como stack de tecnologia básica, utiliza-se Talos Linux e Flux CD. As imagens com o sistema, kernel e módulos necessários são pré-formadas e atualizadas de forma atômica, o que permite a dispensa de componentes como dkms e gerenciadores de pacotes, garantindo um funcionamento estável. Um método simples de instalação em um data center vazio é proporcionado através de PXE e um instalador semelhante ao Debian chamado talos-bootstrap.

A plataforma inclui uma implementação livre da infraestrutura de rede (fabric) baseada em Kube-OVN, e utiliza Cilium para a organização da rede de serviços, MetalLB para a divulgação de serviços externamente. O armazenamento é implementado no LINSTOR, onde o uso do ZFS como camada base para armazenamento e DRBD para replicação é proposto. Há uma pilha de monitoramento pré-configurada baseada em VictoriaMetrics e Grafana. Para iniciar máquinas virtuais é utilizada a tecnologia KubeVirt, que permite o lançamento de máquinas virtuais clássicas diretamente em contêineres Kubernetes e já possui todas as integrações necessárias com a API do Cluster para iniciar clusters Kubernetes gerenciados dentro do cluster 'bare metal' do Kubernetes.

Na nova versão, foi adicionado o cozystack-controller e novas entidades: Workload e WorkloadMonitor — que permitem monitorar o estado dos pods gerenciados por operadores e avaliar o nível de serviço com base em regras predefinidas. Os aplicativos no Cozystack são gerenciados por diferentes operadores, portanto, decidiu-se criar um formato único para exibir o status de cada serviço.

Como funciona: Ao implantar um aplicativo, instala-se o WorkloadMonitor, que monitora o estado dos pods com base no seletor. Assim que um dos pods corresponde ao seletor, é criada uma nova entidade Workload, que exibe o papel de cada pod e seu estado. No status do WorkloadMonitor, é possível ver o número de réplicas existentes e o número mínimo de réplicas necessárias para atender ao serviço. Assim que a carga (workload) se torna menor que o valor de minReplicas para o WorkloadMonitor, o serviço é marcado como não operacional (non-operational).

Para aplicativos que não podem ter um valor exato de minReplicas definido (por exemplo, workers do Kubernetes que podem escalar automaticamente), foi implementada a possibilidade de não especificar esse valor no WorkloadMonitor. Nesse caso, o WorkloadMonitor simplesmente contabiliza o número total de instâncias em execução.

Esse mecanismo permite usar quaisquer operadores e mecanismos de controle de pods no Kubernetes e expandir facilmente a plataforma, fornecendo uma interface única para exibir o estado atual do serviço.

O WorkloadMonitor para coleta de informações sobre réplicas e sua operabilidade foi adicionado aos aplicativos Kubernetes, Postgres, Monitoring, VirtualMachine, VMInstance, Redis, etcd e SeaweedFS. O painel Cozystack agora exibe o número de réplicas do aplicativo e o nível de serviço para cada grupo de Workload.

Outras mudanças:

  • Os clientes e servidores de telemetria foram implementados e publicados sob a licença Apache 2.0. A coleta de métricas para telemetria é realizada de acordo com as recomendações da "LF Telemetry Data Collection and Usage Policy" e pode ser desativada usando a opção "telemetry-enabled: false" na configuração do Cozystack. Os dados são anônimos e totalmente despersonalizados. Para os próximos lançamentos da plataforma, está planejada a criação de um Dashboard público com base nos dados de telemetria.
  • O componente cluster-autoscaller para Kubernetes foi atualizado, assim como suas configurações, que permitem escalar clusters de forma mais eficaz, tanto para cima quanto para baixo.
  • O arquivo MAINTAINERS foi atualizado, listando os participantes que mantêm o projeto e suas áreas de responsabilidade.
  • Foi adicionado ao Cozystack um aplicativo de serviço builder, que permite compilar a plataforma diretamente no Kubernetes.
  • Para o SGBD VictoriaMetrics, foi adicionada a possibilidade de especificar parâmetros personalizados e os limites padrão foram aumentados.
  • Foi implementada a coleta de métricas de bancos de dados para Grafana e Alerta.
  • Alertas sobre o estado de máquinas virtuais e clusters postgres foram adicionados.
  • Para KubeVirt, a coleta de métricas foi configurada e um dashboard Grafana foi adicionado.
  • Na configuração do Cozystack, foi adicionada a opção extra-keycloak-redirect-uri-for-dashboard, que permite configurar redirecionamentos adicionais para o Keycloak.
  • Um erro que impedia a conexão de VMdisks às máquinas virtuais foi corrigido no VMInstance.
  • Atualizações foram feitas para Flux Operator 0.12.0, Flux Instance chart 0.12.0, Cilium 1.16.5, Kube-OVN 1.13.2, CNPG PostgreSQL Operator 1.25.0, Talos Linux 1.9.1.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster