Lançamento do Kata Containers 3.2 com isolamento baseado em virtualização

Foi publicado o lançamento do projeto Kata Containers 3.2, que desenvolve uma pilha para organizar a execução de containers usando isolamento baseado em mecanismos de virtualização completos. O projeto foi criado pela Intel e Hyper combinando Clear Containers e tecnologias runV. O código do projeto é escrito em Go e Rust e é distribuído sob a licença Apache 2.0. O desenvolvimento do projeto é supervisionado por um grupo de trabalho criado sob os auspícios da organização independente OpenStack Foundation, que inclui empresas como Canonical, China Mobile, Dell/EMC, EasyStack, Google, Huawei, NetApp, Red Hat, SUSE e ZTE. .

Kata é baseado em tempo de execução, o que permite criar máquinas virtuais compactas que rodam usando um hipervisor completo, em vez de usar contêineres tradicionais que usam um kernel Linux comum e são isolados usando namespaces e cgroups. A utilização de máquinas virtuais permite atingir um maior nível de segurança que protege contra ataques causados ​​pela exploração de vulnerabilidades no kernel Linux.

Kata Containers está focada na integração em infraestruturas de isolamento de contêineres existentes com a capacidade de usar máquinas virtuais semelhantes para aprimorar a proteção de contêineres tradicionais. O projeto fornece mecanismos para garantir a compatibilidade de máquinas virtuais leves com diversas infraestruturas de isolamento de contêineres, plataformas de orquestração de contêineres e especificações como OCI (Open Container Initiative), CRI (Container Runtime Interface) e CNI (Container Networking Interface). Estão disponíveis ferramentas para integração com Docker, Kubernetes, QEMU e OpenStack.

A integração com sistemas de gerenciamento de containers é feita por meio de uma camada que simula o gerenciamento de containers, que acessa o agente gerenciador na máquina virtual por meio da interface gRPC e um proxy especial. Dentro do ambiente virtual iniciado pelo hipervisor, é utilizado um kernel Linux especialmente otimizado, contendo apenas o conjunto mínimo de recursos necessários.

Como hipervisor, suporta o uso do Dragonball Sandbox (uma edição do KVM otimizada para contêineres) com o kit de ferramentas QEMU, bem como Firecracker e Cloud Hypervisor. O ambiente do sistema inclui um daemon de inicialização e um agente. O agente fornece execução de imagens de contêiner definidas pelo usuário no formato OCI para Docker e CRI para Kubernetes. Quando usado em conjunto com o Docker, uma máquina virtual separada é criada para cada contêiner, ou seja, O ambiente executado no hipervisor é usado para inicialização aninhada de contêineres.

Lançamento do Kata Containers 3.2 com isolamento baseado em virtualização

Para reduzir o consumo de memória, é utilizado o mecanismo DAX (acesso direto ao sistema de arquivos, ignorando o cache da página sem usar o nível do dispositivo de bloco), e para desduplicar áreas de memória idênticas, é utilizada a tecnologia KSM (Kernel Samepage Merging), que permite você para organizar o compartilhamento de recursos do sistema host e conectar-se a diferentes sistemas convidados, compartilhe um modelo de ambiente de sistema comum.

Na nova versão:

  • Além do suporte para a arquitetura AMD64 (x86_64), são fornecidas versões para as arquiteturas ARM64 (Aarch64) e s390 (IBM Z). O suporte para a arquitetura ppc64le (IBM Power) está em desenvolvimento.
  • Para organizar o acesso às imagens de contêiner, é utilizado o sistema de arquivos Nydus 2.2.0, que utiliza endereçamento de conteúdo para colaboração eficiente com imagens padrão. Nydus oferece suporte ao carregamento instantâneo de imagens (downloads apenas quando necessário), fornece desduplicação de dados duplicados e pode usar diferentes back-ends para armazenamento real. A compatibilidade POSIX é fornecida (semelhante ao Composefs, a implementação Nydus combina os recursos do OverlayFS com o módulo EROFS ou FUSE).
  • O gerenciador de máquinas virtuais Dragonball foi integrado à estrutura principal do projeto Kata Containers, que agora será desenvolvido em um repositório comum.
  • Uma função de depuração foi adicionada ao utilitário kata-ctl para conectar-se a uma máquina virtual a partir do ambiente host.
  • Os recursos de gerenciamento de GPU foram expandidos e foi adicionado suporte para encaminhamento de GPUs para contêineres para computação confidencial (Confidential Container), que fornece criptografia de dados, memória e estado de execução para proteção em caso de comprometimento do ambiente host ou hipervisor.
  • Um subsistema para gerenciar dispositivos usados ​​em contêineres ou ambientes sandbox foi adicionado ao Runtime-rs. Suporta trabalho com vfio, bloco, rede e outros tipos de dispositivos.
  • É fornecida compatibilidade com OCI Runtime 1.0.2 e Kubernetes 1.23.1.
  • Recomenda-se usar a versão 6.1.38 com patches como kernel do Linux.
  • O desenvolvimento foi transferido do sistema de integração contínua Jenkins para o GitHub Actions.

Fonte: opennet.ru

Adicionar um comentário