测验:环境、配置、安全
ConfigMap 作为卷安装。根据安装方法,正确的更新操作是什么?
- 两者都没有反映,并且需要重新创建 Pod
- 目录挂载和子路径挂载都会自动反映 ConfigMap 修改。
- 目录挂载会自动反映,但作为子路径挂载的文件不会反映。
- 仅反映子路径,并且目录安装固定为初始值。
Kubernetes Secret存储在etcd中的正确方法是什么?
- 它存储为 SHA-256 哈希值,无法恢复原始值。
- 默认情况下,它使用 AES-256 加密和存储。
- 默认情况下只是base64编码存储,保存时加密必须通过apiserver设置单独激活。
- 与ConfigMap不同,它只存在于节点的tmpfs中,不存储在etcd中。
一起给出runAsNonRoot: true和runAsUser: 1000的容器的行为是什么?
- 根文件系统变为只读,阻止写入。
- runAsUser 优先,因此 runAsNonRoot 被忽略
- 以 root 身份启动并立即将权限降低至 UID 1000。
- 它以 UID 1000 运行,如果镜像强制 UID 0,容器将拒绝启动。
给予capabilities: {drop: ["ALL"], add: ["NET_BIND_SERVICE"]}最合适的理由是什么?
- Capability 是 Pod 级别的设置,因此需要一次性应用于所有容器。
- 使用主机网络
- 通过撤销所有权限并仅恢复低于 1024 的端口绑定所需的权限来创建最小权限。
- 将容器置于特权模式以打开 1024 以下的端口。
LimitRange 和 ResourceQuota 有什么区别?
- LimitRange限制单个pod/容器的默认值、最小值和最大值,ResourceQuota限制命名空间的总和。
- 两者都适用于整个集群,唯一的区别是目标资源类型。
- LimitRange只能限制CPU,ResourceQuota只能限制内存。
- LimitRange 限制整个命名空间,ResourceQuota 限制单个容器。
在有两个容器的 pod 中,A 的请求和限制都设置为 cpu 200m/内存 256Mi,而对于 B,仅请求设置为 cpu 100m。该 Pod 的 QoS 等级是什么?
- 尽力而为
- 保证和突发被分配给每个容器。
- 有保证
- 爆裂