安全运行时与普通运行时
相比于普通运行时,安全运行时可以让您的每个容器(准确地说是Pod)都运行在一个单独的微型虚拟机中,拥有独立的操作系统内核,以及虚拟化层的安全隔离。通过使用安全运行时,不同容器之间的内核、计算资源、网络都是隔离开的,保护了Pod的资源和数据不被其他Pod抢占和窃取。
CCE Turbo集群支持使用普通运行时和安全运行时创建工作负载,您可以根据业务需求选择使用,两者的区别如下:
分类 |
安全运行时 |
普通运行时 |
---|---|---|
容器所在节点类型 |
弹性云服务器-物理机 |
弹性云服务器-虚拟机 弹性云服务器-物理机 |
容器引擎 |
Containerd |
Docker、Containerd |
容器运行时 |
Kata |
runC |
容器内核 |
独占内核 |
与宿主机共享内核 |
容器隔离方式 |
轻量虚拟机 |
Cgroups和Namespace |
容器引擎存储驱动 |
Device Mapper |
|
内存:100MiB CPU:0.1Core Pod Overhead为安全容器本身资源占用。比如Pod申请的limits.cpu = 0.5Core和limits.memory = 256MiB,那么该Pod最终会申请0.6Core的CPU和356MiB的内存。 |
无 |
|
最小规格 |
内存:256MiB CPU:0.25Core 安全容器的CPU核数(单位为Core)与内存(单位为GiB)配比建议在1:1至1:8之间。例如CPU为0.5Core,则内存范围建议在512MiB-4GiB间。 |
无 |
容器引擎命令行 |
crictl |
|
Pod的计算资源 |
CPU和内存的request和limit必须一致 |
CPU和内存的request和limit可以不一致 |
不支持 |
支持 |
Containerd和Docker命令行的使用方式对比,请参见容器引擎说明。