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

Após dois anos de desenvolvimento, foi publicado o lançamento do projeto Kata Containers 3.0, que desenvolve uma pilha para organizar a execução de containers utilizando 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. .

No coração do Kata está o tempo de execução, que fornece a capacidade de 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 por meio de 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.

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

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.0 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:

  • É proposto um runtime alternativo (runtime-rs), que forma o preenchimento de containers, escrito na linguagem Rust (o runtime fornecido anteriormente foi escrito na linguagem Go). Runtime é compatível com OCI, CRI-O e Containerd, permitindo sua utilização com Docker e Kubernetes.
  • Um novo hipervisor Dragonball baseado em KVM e Rust-VMM foi proposto.
  • Adicionado suporte para encaminhamento de acesso à GPU usando VFIO.
  • Adicionado suporte para cgroup v2.
  • O suporte para alterar configurações sem alterar o arquivo de configuração principal foi implementado substituindo blocos em arquivos separados localizados no diretório “config.d/”.
  • Os componentes Rust incluem uma nova biblioteca para trabalhar com segurança com caminhos de arquivos.
  • O componente virtiofsd (escrito em C) foi substituído por virtiofsd-rs (escrito em Rust).
  • Adicionado suporte para sandbox de componentes QEMU.
  • QEMU usa a API io_uring para E/S assíncrona.
  • O suporte para extensões Intel TDX (Trusted Domain Extensions) foi implementado para QEMU e Cloud-hypervisor.
  • Componentes atualizados: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, kernel Linux 5.19.2.

Fonte: opennet.ru

Adicionar um comentário