测验:云原生与容器基础
容器和虚拟机最根本的区别是什么?
- 容器不使用磁盘,仅存在于内存中。
- 容器共享主机内核,虚拟机运行单独的来宾内核。
- 容器不能有网络,只有虚拟机才能接收IP。
- 容器只能在Linux上创建,虚拟机可以在任何操作系统上创建。
以下哪项正确匹配命名空间和 cgroup 的角色?
- 命名空间限制资源使用,cgroup隔离视图
- 命名空间隔离您所看到的内容,cgroup 限制您花费的金额。
- 两者都限制资源使用,但namespace负责CPU,cgroup负责内存。
- namespace 是一个内核函数,cgroup 是容器运行时模仿的一个软件函数。
以下哪一项不属于 OCI 标准定义的三个规范?
- 编排规范
- 图片规格
- 运行时规范
- 分布规格
什么最准确地描述了containerd和runc之间的关系?
- runc调用containerd下载镜像
- containerd 和 runc 是执行相同功能的竞争产品,因此仅安装其中之一。
- containerd 是管理镜像、快照和生命周期的高级运行时,runc 是根据 OCI 规范启动和退出进程的低级运行时。
- containerd 是一个内核模块,runc 是一个用户空间守护进程。
在12要素原则中,为什么“从环境注入配置”在容器环境中尤为重要?
- 这是因为环境变量的存储方式比安装的配置文件更安全。
- 因为Kubernetes不支持挂载配置文件。
- 所有环境中的镜像必须相同,并且必须在执行时注入每个环境的差异,以便可以使用相同的镜像进行开发、暂存和生产。
- 这是因为环境变量会在容器重新启动时自动更新。
超过其 cgroup 内存限制的容器实际上会发生什么?
- 容器运行时间自动增加上限。
- 调度程序将 Pod 移动到另一个节点
- 当内存可用时,请求将被排队并处理。
- 内核的 OOM 终止程序终止 cgroup 内的进程。