kubernetes - 使用OpenShift在卷装载上写入权限

标签 kubernetes openshift

使用OpenShift 3.11,我已经安装了nfs持久卷,但是应用程序无法复制到新卷中,并说:

oc logs my-project-77858bc694-6kbm6 
cp: cannot create regular file '/config/dbdata/resdb.lock.db': Permission denied
...

我试图通过在InitContainers中进行修改来更改文件夹的所有权,但是它告诉我不允许进行的操作。
      initContainers:
        - name: chowner
          image:  alpine:latest
          command: ["/bin/sh", "-c"]
          args:
            - ls -alt /config/dbdata; chown 1001:1001 /config/dbdata;
          volumeMounts:
          - name: my-volume
            mountPath: /config/dbdata/ 
oc logs my-project-77858bc694-6kbm6 -c chowner
total 12
drwxr-xr-x    3 root     root          4096 Nov  7 03:06 ..
drwxr-xr-x    2 99       99            4096 Nov  7 02:26 .
chown: /config/dbdata: Operation not permitted

我希望能够写入已安装的卷。

最佳答案

您可以通过在安全上下文中使用fsGroup: GROUP_ID来授予Pods写入卷的权限。 fsGroup使您的卷可由GROUP_ID写入,并使容器内的所有进程属于该组。

例如:

apiVersion: v1
kind: Pod
metadata:
  name: POD_NAME
spec:
  securityContext:
    fsGroup: GROUP_ID
...

关于kubernetes - 使用OpenShift在卷装载上写入权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58747923/

相关文章:

node.js - Node.js 中的中间件与 OO JavaScript

java - PostgreSQL + Openshift : Possibly the wrong driver for the given database URL?

node.js - OpenShift 错误 : "phantomjs-node: You don' t have 'phantomjs' installed"

kubernetes - 为什么我无法使用 Istio Gateway 公开来自 istio 的 grafana?

templates - 将列表分配给图表中的键

php - 如何在 OpenShift 上作曲更新?

java - 将更改推送到 openshift 服务器时构建失败

Kubernetes - 从作业连接到 cassandra 到不同的 pod

kubernetes - 如何在值(value)中使用 Helm 值(value)?

node.js - 如何使用 kubernetes-client 为 kubernetes 加载配置。谷歌云