安全容器运行时 Kata

传统的轻量级容器是基于Linux namespace和cgroup进行容器隔离,在带来轻量,简洁,高效的同时,也带来了安全的隐患。

事实上容器虽然提供一个与系统中的其它进程资源相隔离的执行环境,但是与宿主机系统是共享内核的,如果其中某一个容器被攻击,从而导致把宿主机的内核给攻掉了,那么其他的容器势必都会崩溃。后果不堪设想。

那么有没有什么容器技术及安全又比较高效率的呢?于是便出现了 Kata 容器技术。

Kata Containers - Open Source Container Runtime Software
Kata Containers is an open source container runtime, building lightweight virtual machines that seamlessly plug into the containers ecosystem.

Kata 实际上是通过创建轻量级虚拟机实现容器之间的资源隔离,再在虚拟机中运行容器运行时,这样就使容器在专用内核中运行,提供网络,I / O和内存的隔离,并可以通过虚拟化VT扩展利用硬件强制隔离。提供安全性的同时,其仍然由很高的性能。虽然需要损失部分性能(目前版本已经到了3.0 性能已有大幅度提高),但好处也是显而易见的,单个容器出现问题,被恶意攻击则绝对不会影响到宿主机,间接保护了其他运行容器。

Github : https://github.com/kata-containers/kata-containers

Kata Containers 特点
安全:在专用内核中运行,提供网络、I/O 和内存的隔离,并且可以利用具有虚拟化 VT 扩展的硬件强制隔离;
兼容性:支持行业标准,包括 OCI 容器格式、Kubernetes CRI 接口,以及传统虚拟化技术;
轻量:消除了在成熟的 VM 中嵌套容器的要求;
高性能:提供与标准 Linux 容器相同的性能;

随心笔记

hi 欢迎留言,共同探讨IT技术~