Lançamento do Cozystack 0.37, uma plataforma PaaS open source baseada em Kubernetes

Está disponível o lançamento da plataforma PaaS Cozystack 0.37, construída sobre Kubernetes. O projeto visa fornecer uma plataforma pronta para provedores de hospedagem e um framework para construção de nuvens privadas e públicas. A plataforma é instalada diretamente nos servidores e abrange todos os aspectos da preparação da infraestrutura para a oferta de serviços gerenciados. O Cozystack permite executar 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 tecnológico base, é utilizado o Talos Linux e Flux CD. As imagens do sistema, do kernel e dos módulos necessários são pré-formadas e atualizadas de forma atômica, permitindo dispensar componentes como dkms e gerenciadores de pacotes, garantindo operação estável. É fornecido um método simples de instalação em um data center vazio usando PXE e o instalador talos-bootstrap do tipo debian. Dentro da plataforma, é possível implantar com um clique serviços como Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics e outros.

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.

Nos últimos um mês e meio, a equipe do projeto lançou as novas versões 0.36 e 0.37. Entre as mudanças nessas versões estão:

  • A interface do usuário foi reescrita do zero. O projeto openapi-ui foi utilizado como base.
    Lançamento do Cozystack 0.37, uma plataforma PaaS open source baseada em Kubernetes
  • Foi adicionado um seletor de cluster à interface. Agora o painel opera em modo de cluster único (um painel por cluster). No futuro, essa mesma interface será utilizada para o modo multicluster.
  • Na tela do cluster, agora é possível ver imediatamente todos os espaços disponíveis dos namespaces. A lista é formada através de uma camada agregadora do Kubernetes (tenant namespace), portanto, são mostrados apenas os espaços aos quais se tem acesso.
  • A criação de recursos agora acontece através de formulários, gerados automaticamente a partir do OpenAPI do Kubernetes. Comentários em YAML não são necessários: os campos e a validação são obtidos diretamente das especificações.
  • A especificação de novos aplicativos é formada a partir de Helm charts usando o gerador cozy-values, e os campos inseridos no formulário são refletidos sincronicamente no YAML final.
  • Os módulos de gerenciamento de tenants foram realocados para a seção de administração: aqui é possível criar subtenants e colocar módulos/aplicativos específicos para eles (o acesso depende do papel e direitos do usuário).
  • Está programada a adição de uma aba com console VNC para máquinas virtuais. Para alguns tipos de recursos, abas/campos especiais serão adicionados (por exemplo, para KubeVirt-VM).
  • O mecanismo de gerenciamento de recursos para tenants do Cozystack foi estabilizado. Os administradores da plataforma agora podem definir limites explícitos de CPU, memória e armazenamento para cada tenant-namespace na especificação do tenant. Assim, nenhum tenant pode "consumir" tudo, deixando outros tenants sem recursos.
  • Adicionado o componente Kube-OVN Plunger para monitoramento contínuo do estado do cluster de gerenciamento central da rede Kube-OVN. Um agente externo coleta o status do cluster OVN e informações sobre consenso, exibindo métricas do Prometheus e fluxo de eventos através do SSE (Server-Sent Events).
  • O complemento CoreDNS agora é implantado via Helm chart e configurado na especificação do cluster (autoescalonamento, número de réplicas, IP do serviço, etc.). O CoreDNS pode ser configurado tanto no painel quanto através da API Cozystack.
  • O armazenamento S3 baseado em SeaweedFS se tornou mais flexível em nível de componentes. O Helm chart permite configurar independentemente cada componente e seus recursos: nós mestres, servidores de volume (com suporte a várias zonas), banco de dados e gateway S3. Os administradores podem definir para cada componente o número de réplicas, limites de CPU/memória e volume de armazenamento.
  • Integrada a FS SeaweedFS 3.97 com suporte para criptografia de servidores de buckets S3 (SSE-C, SSE-KMS, SSE-S3). Ao atualizar o Cozystack, será atualizada a versão do SeaweedFS, e a especificação dos serviços será automaticamente convertida para o novo formato.
  • O controlador NGINX agora é configurável a nível de cada réplica: é possível definir solicitações/lindites de CPU e memória diretamente ou escolher uma das predefinições disponíveis.
  • Se uma máquina virtual tiver um IP externo atribuído, ele será sempre utilizado para tráfego egress, independentemente do método de atribuição desse IP.

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