Está disponível a versão livre da plataforma PaaS Cozystack 0.21.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 nos servidores e cobre todos os aspectos da preparação da infraestrutura para fornecer serviços geridos. 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 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, a interface do Dashboard foi completamente reformulada, agora funcionando diretamente com a API Cozystack, e não com os recursos do FluxCD. Essa mudança fornece uma interface gráfica para os usuários finais e permite que eles tenham direitos para implantar certos serviços considerando o modelo padrão RBAC no Kubernetes. Para cada tenant, são criados por padrão quatro grupos:
- view — para acesso apenas de leitura;
- use — para conectar a máquinas virtuais e usar serviços;
- admin — para a possibilidade de solicitar serviços principais (mysql, postgres, redis, kubernetes, virtual-machine, etc.);
- super-admin — para a criação de tenants subordinados e execução de serviços auxiliares (monitoramento, etcd, ingress e seaweedfs).
Os usuários incluídos nos grupos correspondentes podem acessar tanto através do Kubernetes quanto pelo Dashboard. Embora no Cozystack seja utilizado um enfoque orientado à API, o Dashboard é uma parte importante da plataforma, pois permite rapidamente formar os serviços necessários através de uma interface gráfica, depois ver como eles são exibidos na API e, em seguida, descrevê-los como código (IaC).
As principais medições no Dashboard:
- O funcionamento direto com a API Cozystack foi garantido.
- Os prefixos para aplicativos foram removidos, já que cada aplicativo agora utiliza seu próprio Kind.
- Os namespaces são filtrados pelo prefixo "tenant-", permitindo exibir apenas namespaces de usuários e excluir os sistemas da exibição.
- A exibição dos ícones foi corrigida com OIDC (OpenID Connect) ativado.
- Foram feitas correções estéticas, incluindo links corretos para a documentação.
Outras mudanças:
- A autorização para Redis foi adicionada.
- Foi realizada a refatoração de papéis e vinculações de papéis para tenants, removidas todas as permissões para recursos HelmRelease e excluído o grupo kubeapps-admin.
- O lançamento do Grafana foi corrigido, a URL para o plugin VictoriaLogs foi ajustada.
- A especificação OpenAPI para recursos List no API Cozystack foi corrigida.
- Talos Linux foi atualizado para a versão 1.8.4.
- O linstor-ha-controller foi atualizado para a versão 1.2.3, resolvendo o problema de alta disponibilidade das máquinas virtuais.
- Adicionada a configuração de tamanho para o banco de dados do Grafana.
- Novas funcionalidades de gerenciamento de recursos do VMCluster foram adicionadas.
Fonte: opennet.ru
