A Canonical anunciou a disponibilidade da ferramenta MicroCloud, que permite a rápida implantação de clusters computacionais e sistemas de nuvem em seu próprio hardware, com armazenamento de dados distribuído e uma rede virtual segura. A ferramenta é apresentada na forma de um pacote snap, incluindo os componentes necessários para gerenciar as operações dos nós do cluster. O suporte técnico comercial para soluções baseadas no MicroCloud é fornecido através do serviço Ubuntu Pro, mas aqueles que podem operar sem suporte podem usar a ferramenta sem restrições. Os desenvolvimentos do projeto são escritos na linguagem Go e distribuídos sob a licença AGPL 3.0.
O MicroClouds, por padrão, aplica recursos para garantir a redundância, permitindo a criação de clusters com pelo menos três nós (sendo que a parte superior menciona clusters com até 50 nós). O stack de software utilizado para gerenciar o cluster é baseado na utilização do sistema de gestão centralizada de contêineres e máquinas virtuais LXD, na plataforma para construção de redes virtuais OVN (Open Virtual Network) e no armazenamento distribuído e tolerante a falhas Ceph. O MicroClouds fornece ferramentas para configuração automática do LXD, Ceph e OVN em todos os nós do cluster.
Para identificação novos servidores na rede, que podem ser conectados ao cluster, é utilizado o mDNS, permitindo que todo o cluster seja configurado executando apenas um comando "microcloud init" em um dos nós, após a instalação dos pacotes snap lxd, microceph, microcloud e microovn. O sistema operacional principal considerado é a distribuição Ubuntu Server, mas a ferramenta não está vinculada ao Ubuntu e pode ser utilizada em quaisquer distribuições que tenham a capacidade de instalar pacotes snap (Arch, CentOS, Fedora, Debian, openSUSE, RHEL, etc.). Também é possível criar clusters em sistemas que utilizam o OS Ubuntu Core atualizado de forma atômica.
Após a execução do comando "microcloud init", a ferramenta irá detectar a presença de outros servidores na rede local, solicitará a adição de discos ao armazenamento compartilhado Ceph e oferecerá a configuração das opções de rede virtual. Para integrar os servidores ao cluster, os pacotes snap mencionados anteriormente devem ser instalados previamente. A configuração do cluster pode ser salva em formato YAML para posterior implantação de sistemas semelhantes. Para adicionar nós adicionais após a inicialização, pode-se usar o comando "microcloud add".
O armazenamento de arquivos geral é criado com a inclusão de replicação e resistência a falhas, permitindo que, em caso de falhas de nós individuais, os dados não sejam perdidos, graças ao armazenamento de várias cópias de dados em diferentes nós. Para implementar o armazenamento baseado em Ceph em um cluster, além dos discos locais, deve haver pelo menos três discos separados dedicados ao armazenamento distribuído em três computadores diferentes.
Após a preparação do cluster, os usuários têm a oportunidade de executar seus aplicativos, utilizando contêineres de sistema ou máquinas virtuais, bem como acesso ao armazenamento compartilhado Ceph e à ferramenta de gerenciamento centralizada baseada em LXD. Para gerenciar a infraestrutura de contêineres sobre o cluster, pode-se iniciar a plataforma Kubernetes (edição Microk8s). Para autenticação de usuários máquinas virtuais ou contêineres no cluster, pode ser aplicado OpenID Connect (OIDC) e autorização baseada em OpenFGA.

É possível gerenciar flexivelmente os recursos de CPU, memória e I/O, redirecionar dispositivos USB, GPU e storages. Ambientes isolados e virtuais podem ser transferidos entre nós em modo de migração ao vivo e salvos usando snapshots. Métricas de operação do cluster e logs de eventos podem ser exportados para monitoramento utilizando Prometheus e Grafana.
Além de criar clusters de trabalho e sistemas de nuvem privados, a ferramenta também é adequada para a realização rápida de experimentos em sistemas de desenvolvedores. Por exemplo, o MicroCloud pode ser utilizado para simular um cluster no notebook do desenvolvedor, testar aplicativos de nuvem em desenvolvimento, experimentar novas tecnologias ou simular infraestruturas complexas.
Fonte: opennet.ru
