kubernetes - Pod 安全上下文和 NFS 挂载
问题描述
根据这篇文章:
https://netapp.io/2018/06/15/highly-secure-kubernetes-persistent-volumes/
如果 pod 没有特权安全上下文,则您不能在 pod 中使用/挂载 NFS 共享。
我正在运行一个挂载了外部 NFS 的 pod,但我没有指定除 uid/gid 之外的任何安全上下文。工作 RW 很好。
如何检查我的 Pod 是普通 Pod 还是特权 Pod。
解决方案
您可以使用在元数据kubectl get pods yourpod -o json
下.spec.containers.securityContext
或元数据中进行检查
例如,我创建了 2 个 nginx pod:nginx(with privileged: true)
"metadata": {
"annotations": {
"cni.projectcalico.org/podIP": "10.48.2.3/32",
"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Pod\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"nginx\"},\"name\":\"nginx\",\"namespace\":\"default\"},\"spec\":{\"containers\":[{\"image\":\"nginx\",\"name\":\"nginx\",\"ports\":[{\"containerPort\":80}],\"securityContext\":{\"privileged\":true}}]}}\n",
"securityContext": {
"privileged": true
和
nginx 非特权
"metadata": {
"annotations": {
"cni.projectcalico.org/podIP": "10.48.2.4/32",
"kubectl.kubernetes.io/last-applied-configuration": "{\"apiVersion\":\"v1\",\"kind\":\"Pod\",\"metadata\":{\"annotations\":{},\"labels\":{\"app\":\"nginx\"},\"name\":\"nginx-nonprivileged\",\"namespace\":\"default\"},\"spec\":{\"containers\":[{\"image\":\"nginx\",\"name\":\"nginx\",\"ports\":[{\"containerPort\":80}]}]}}\n",
推荐阅读
- jquery - 数据表列过滤在服务器端不起作用
- c++ - 如何使用 GRPC c++ 读取异步服务器端流
- java - 适用于 Windows 64 位的 OpenJdk 8
- c - 使用 for 循环在 C 中创建链接列表以分配值
- c - 一遍又一遍地做同样的事情并得到不同的结果?C中的Strtok。- 大学生问题
- azure - 如何将 UiPath Studio 与 Azure DevOps 连接起来?
- java - 当 Spring SecurityContextHolder 在 getPrincipal 上返回 null 时,应该抛出哪个异常?
- pandas - pandas groupby 和 agg 对选定列和行的操作
- javascript - 我想在我的 iframe 视频框中隐藏分享并转到你的电子管选项
- ruby - 有没有办法在一个方法中并行调用多个大方法?在尝试使用时,线程我的开发服务器挂断了