首页 > 解决方案 > Pod 安全上下文和 NFS 挂载

问题描述

根据这篇文章:

https://netapp.io/2018/06/15/highly-secure-kubernetes-persistent-volumes/

如果 pod 没有特权安全上下文,则您不能在 pod 中使用/挂载 NFS 共享。

我正在运行一个挂载了外部 NFS 的 pod,但我没有指定除 uid/gid 之外的任何安全上下文。工作 RW 很好。

如何检查我的 Pod 是普通 Pod 还是特权 Pod。

标签: kubernetesnfs

解决方案


您可以使用在元数据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",

推荐阅读