传统容器有一个缺点:容器与宿主机共享内核,这可能会引发严重的安全漏洞问题。
理论上,如果您在单个主机上部署了多个容器,一旦其中某个容器被恶意代码利用,由于共享namespace,该主机上的其他所有容器也容易受到攻击,在这种情况下,可能会对云基础设施整体构成严重的安全威胁。
一、Kata安全容器特点
Kata容器本质上是一个轻量级的虚机,将VM的安全性和容器的敏捷性结合了起来。
强隔离性保障安全
每个Kata容器都运行于轻量级虚机里面,同宿主机的Kata容器之间,不共享宿主机内核。单个Kata容器通过系统调用对内核参数做的更改,只对当前容器所在的虚机内核生效,并不影响其他的虚机,所以Kata容器提供了更强的隔离性和安全性。
秒级扩缩容
Kata使用了最新版本的Qemu-lite来加快虚机的启动时间。Qemu-lite对Qemu的功能进行了大量裁剪,对虚拟机内核的启动参数进行了定制,对虚拟服务器(vCPU)的初始化进行并行化优化处理,成功地将x86_64架构下的虚机启动时间从1.3秒优化到了0.4秒,并通过内核设备驱动优化与KSM技术降低了虚拟机的内存开销。
资源消耗比VM小
Kata使用了定制化的Qemu-lite版本,所以相比传统的VM,资源消耗更低。从前期测试情况看,仅使用1cpu 256M内存即可平滑运行Kata虚机。
性能强大
从已有的测试数据结果来看,Kata容器在性能方面并不比Docker容器低。
二、安全沙箱的使用场景
下面几个图罗列了常见的使用场景:
此外,想拥有独立内核,需要修改内核参数的用户也适用。
三、金融场景的使用价值及推广策略
金融是个强监管,资金安全敏感的业务,对安全和稳定要求非常高。
对金融的价值
- 随着国家金融监管趋严,金融的归金融,科技的归科技,金融需要通过合作共赢模式来做科技输出。即把能力部署在公司合规专区技术栈之外,这就需要有强的隔离性。
- 部分核心业务对各种抖动敏感,比如:风控等业务会抢占资源。为避免这类业务干扰同宿主机其他容器,或者对抖动敏感的这些业务适合用安全容器。
安全容器推广策略
目前对Kata需求是小众业务需要,这就造成线上使用量不足,稳定性还需不断打磨。
其实大部分业务不关注用啥容器,期望不要影响到自己就行。对应策略就是稳定平稳推进,确保不会影响到业务。
推广中的挑战:
- 如何在保障对业务影响最小的情况下做推广?比如Kata和Docker容器的申请、弹性等流程应该完全一致,资源池需要通用。
- 在保障安全基础下,如何保障性能不差?需要有业务场景的压测报告。
- 虽说隔离型要好? 实际的表现如何?需要给出压测和演练报告。
四、对安全容器未来的关注点
用户理想中的容器运行是什么样的呢?也是我们对未来安全容器的关注点,即:
- 期望超越虚拟机的安全性;
- 期望像本机运行一样的性能;
- 期望像 runC 一样的兼容性和易用性;