Lançamento das ferramentas de gerenciamento de contêineres LXC e LXD 4.0

Canônico publicado lançamento de ferramentas para organização do trabalho de containers isolados LXC 4.0, gerente de contêiner LXD4.0 e FS virtual LXCFS4.0 para simulação em contêineres /proc, /sys e uma representação cgroupfs virtualizada para distribuições sem suporte para namespaces cgroup. O Branch 4.0 é classificado como uma versão de suporte de longo prazo, cujas atualizações são geradas ao longo de um período de 5 anos

LXC é um tempo de execução para executar contêineres de sistema e contêineres OCI. LXC inclui a biblioteca liblxc, um conjunto de utilitários (lxc-create, lxc-start, lxc-stop, lxc-ls, etc.), modelos para construção de contêineres e um conjunto de ligações para várias linguagens de programação. O isolamento é realizado usando mecanismos padrão do kernel Linux. Para isolar processos, pilha de rede ipc, uts, IDs de usuário e pontos de montagem, o mecanismo de namespaces é usado. cgroups são usados ​​para limitar recursos. Para diminuir privilégios e limitar o acesso, são usados ​​recursos do kernel como perfis Apparmor e SELinux, políticas Seccomp, Chroots (pivot_root) e capacidades. Código LXC está escrito em linguagem C e distribuído sob a licença GPLv2.

LXD é um complemento para LXC, CRIU e QEMU usado para gerenciar centralmente contêineres e máquinas virtuais em um ou mais servidores. Se o LXC for um kit de ferramentas de baixo nível para manipulação no nível de contêineres individuais, o LXD será implementado como um processo em segundo plano que aceita solicitações pela rede por meio da API REST e permite criar configurações escalonáveis ​​implantadas em um cluster de vários servidores.
Vários back-ends de armazenamento são suportados (árvore de diretórios, ZFS, Btrfs, LVM), instantâneos com fatia de estado, migração ao vivo de contêineres em execução de uma máquina para outra e ferramentas para organizar o armazenamento de imagens. Código LXD está escrito em Go e distribuído sob a licença Apache 2.0.

Chave melhorias no LXC 4.0:

  • O driver foi completamente reescrito para funcionar com cgroup. Adicionado suporte para hierarquia unificada de cgroups (cgroup2). Adicionada funcionalidade de controlador de freezer, com a qual você pode interromper o trabalho em um cgroup e liberar temporariamente alguns recursos (CPU, E/S e potencialmente até memória) para executar outras tarefas;
  • Implementei infraestrutura para interceptação de chamadas do sistema;
  • Adicionado suporte para o subsistema de kernel "pidfd", projetado para lidar com a situação de reutilização de PID (pidfd está associado a um processo específico e não muda, enquanto um PID pode ser associado a outro processo após o processo atual associado a esse PID terminar) ;
  • Melhor criação e exclusão de dispositivos de rede, bem como sua movimentação entre namespaces de subsistemas de rede;
  • A capacidade de mover dispositivos de rede sem fio (nl80211) para contêineres foi implementada.

Chave melhorias no LXD 4.0:

  • Adicionado suporte para lançamento não apenas de contêineres, mas também de máquinas virtuais;
  • Para segmentar servidores LXD foi proposto um conceito de projeto que simplifica o gerenciamento de grupos de containers e máquinas virtuais. Cada projeto pode incluir seu próprio conjunto de contêineres, máquinas virtuais, imagens, perfis e partições de armazenamento. Em relação aos projetos, você pode definir suas próprias restrições e alterar configurações;
  • Adicionado suporte para interceptação de chamadas de sistema para contêineres;
  • Implementei criação de cópias de backup de ambientes e restauração dos mesmos;
  • A criação automatizada de instantâneos de ambientes e partições de armazenamento é fornecida com a capacidade de definir o tempo de vida do instantâneo;
  • Adicionada API para monitorar o status da rede (informações da rede lxc);
  • Suporte adicionado turnos, FS virtual para mapear pontos de montagem para namespaces de usuários;
  • Novos tipos de adaptadores de rede “ipvlan” e “roteados” foram propostos;
  • Adicionado back-end para uso de armazenamento baseado em CephFS;
  • O suporte para replicação de imagens e configurações de múltiplas arquiteturas foi implementado para clusters;
  • Adicionado controle de acesso baseado em função (RBAC);
  • Adicionado suporte para CGroup2;
  • Adicionada a capacidade de configurar o endereço MAC e determinar o endereço de origem do NAT;
  • Adicionada API para gerenciamento de ligações DHCP (locações);
  • Adicionado suporte para Nftables.

Fonte: opennet.ru

Adicionar um comentário