Kata Containers 3 lançado com suporte a GPU, kernel 5.19.2, QEMU 6.2.0, e mais. Confira as novidades e veja como instalar no Linux.
No coração do Kata está o runtime, que fornece a capacidade de criar máquinas virtuais compactas que são executadas usando um hypervisor 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 alcançar um nível de segurança superior que protege contra ataques causados pela exploração de vulnerabilidades no kernel Linux.
A Kata Containers se concentra na integração a infraestruturas de isolamento de contêineres existentes com a capacidade de usar essas máquinas virtuais para aprimorar a proteção de contêineres tradicionais.
O projeto fornece mecanismos para tornar as máquinas virtuais leves compatíveis com várias estruturas de isolamento de contêineres, plataformas de orquestração de contêineres e especificações como OCI, CRI e CNI.
Integrações com Docker, Kubernetes, QEMU e OpenStack estão disponíveis.
A integração com os sistemas de gerenciamento de contêineres é feita por uma camada que simula o gerenciamento de contêineres, que, por meio da interface gRPC e de um proxy especial, acessa o agente de controle na máquina virtual.
Como hipervisor, o Dragonball Sandbox (uma edição KVM otimizada para contêiner) é compatível para uso com QEMU, bem como Firecracker e Cloud Hypervisor. O ambiente do sistema inclui o daemon de inicialização e o agente.
O agente executa imagens de contêiner definidas pelo usuário no formato OCI para Docker e CRI para Kubernetes.
Para reduzir o consumo de memória, o mecanismo DAX é usado e a tecnologia KSM é usada para desduplicar áreas de memória idênticas, permitindo que os recursos do sistema host sejam compartilhados e diferentes sistemas convidados se conectem a um modelo de ambiente de sistema comum.
Criado pela Intel e Hyper combinando Clear Containers e tecnologias runV, o código do projeto está escrito em Go e Rust e é lançado 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.
Agora, após dois anos de desenvolvimento, foi publicado o lançamento do projeto Kata Containers 3.0, que desenvolve uma pilha para orquestrar a execução de containers utilizando isolamento baseado em mecanismos de virtualização completos.
Novidades do Kata Containers 3
Um runtime alternativo (runtime-rs) é proposto na nova versão, que forma o wrapper padding, escrito na linguagem Rust (o runtime fornecido anteriormente é escrito na linguagem Go). O runtime suporta OCI, CRI-O e Containerd, tornando-o compatível com Docker e Kubernetes.
Outra mudança que se destaca nesta nova versão do Kata Containers 3.0 é que agora também tem suporte a GPU. Isso inclui suporte para E/S de função virtual (VFIO), que permite controladores de espaço do usuário e dispositivos PCIe seguros e sem privilégios.
Nota-se também que o suporte para alteração da configuração sem alterar o arquivo de configuração principal foi implementado substituindo blocos em arquivos separados localizados no diretório “config.d/”.
Os componentes Rust usam uma nova biblioteca para trabalhar com caminhos de arquivo com segurança.
Além disso, surgiu um novo projeto Kata Containers. É Confidential Containers, um projeto sandbox de código aberto Cloud-Native Computing Foundation (CNCF).
Essa consequência do isolamento de contêineres do Kata Containers integra a infraestrutura do Trusted Execution Environments (TEE).
Das outras mudanças que se destacam:
- Um novo hypervisor dragonball baseado em KVM e rust-vmm foi proposto.
- Adicionado suporte para cgroup v2.
- componente virtiofsd (escrito em C) substituído pelo virtiofsd-rs (escrito em Rust).
- Adicionado suporte para isolamento de sandbox de componentes QEMU.
- O QEMU usa a API io_uring para E/S assíncrona.
- O suporte para Intel TDX (Trusted Domain Extensions) para QEMU e Cloud-hypervisor foi implementado.
- Componentes atualizados: QEMU 6.2.0, Cloud-hypervisor 26.0, Firecracker 1.1.0, Linux 5.19.2.
Para saber mais sobre essa versão do Kata Containers, acesse a nota de lançamento.
Como instalar ou atualizar o Kata Containers
Para instalar a versão mais recente do Kata Containers nas principais distribuições Linux, use esse tutorial:
Como instalar o incrível Kata Containers no Linux via Snap