Kata Containers与docker 容器的关系与创新

Kata Containers

概念参考:

初识Kata Containers
Kata Container介绍
Katacontainers 与 Docker 和 Kubernetes 的集成

背景

docker容器,性能高,不安全;VM虚拟机,安全性好,性能损耗大;Kata Container轻量级虚拟机的容器,即安全,性能也高。开源容器项目Kata Containers,旨在将虚拟机(VM)的安全优势与容器的速度和可管理性统一起来。

解决Docker的安全问题

Kata Container

  • Kata Containers 是由 OpenStack 基金会管理,但独立于 OpenStack 项目之外的容器项目

  • Kata Container 是两个现有的开源项目合并:Intel Clear Containers和Hyper runV。

    • Intel Clear Container项目的目标是通过英特尔®虚拟化技术(VT)解决容器内部的安全问题,并且能够将容器作为轻量级虚拟机(VM)启动,提供了一个可选的运行时间,专注于性能(<100ms启动时间),可与Kubernetes 和Docker 等常用容器环境互操作。英特尔®Clear Container表明,安全性和性能不必是一个折衷,将硬件隔离的安全性与容器的性能可以兼得。
    • hyper runV优先于技术无关支持许多不同的CPU架构和管理程序。
      Kata Containers与docker 容器的关系与创新
  • 在docker、containerd或 CRI-O的角度看,真正启动容器的组件是runC,因此,docker中将runC作为容器运行时工具,当然在 docker中,runC可以被替换,比如可以替换为本文介绍的kata containers(即clear Container或者 runV)。如下图中runC的位置:
    Kata Containers与docker 容器的关系与创新

  • 它是一个可以使用容器镜像以超轻量级虚机的形式创建容器的运行时工具,Kata Containers 创建的不同容器跑在一个个不同的虚拟机(kernel)与docker的普通容器不同,其为每个 Docker 容器或每个 K8S Pod 增加了一个独立的 Linux 内核 (不共享宿主机的内核),使容器具有更好的隔离性、安全性)上,同时继承了容器快速启动和快速部署等优点。Kata Containers与docker 容器的关系与创新

Docker K8S 与 Kata Container

docker 默认使用 runC 创建容器,kata container可以在docker container外面再包一层VM,实现安全性。
k8s 为pods创建服务的传统方法是采用docker创建容器,由容器提供pods服务,但现在可以通过kata container创建VM,在VM中再创建pods服务,更安全。pods是一个或多个container。

关于配置

配置参考:

Kata Container
官方github
Kata Container安装体验

上一篇:SOFAStack Meetup#5 上海站 容器沙箱专场


下一篇:kata agent CreateSandbox & CreateContainer