首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在kubernetes中创建ReadWrite文件系统(ReadOnly挂载)

无法在kubernetes中创建ReadWrite文件系统(ReadOnly挂载)
EN

Stack Overflow用户
提问于 2021-12-30 04:55:25
回答 1查看 192关注 0票数 0

摘要

我目前正处于学习kubernetes的过程中,因此我决定从一个简单的应用程序开始。

设置

我的设置很简单,我有一个节点(主节点),我已经清除了污点,所以可以在上面部署。这个节点正在运行CentOS流,但是SELinux被禁用。

问题

/srv/mumble目录似乎是ReadOnly,此时我尝试创建一个init容器来创建目录,但由于上面的问题,这失败了。这个问题出现在两个容器中,我目前还不确定如何更改这个问题,以允许模糊应用程序在所述目录中创建文件。含糊应用程序用户以用户1000的身份运行。我在这里错过了什么?

配置

代码语言:javascript
复制
---
apiVersion: v1
kind: Namespace
metadata:
  name: mumble
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: mumble-pv-volume
  labels:
    type: local
spec:
  storageClassName: manual
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  hostPath:
    type: DirectoryOrCreate
    path: "/var/lib/data"
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mumble-pv-claim
  namespace: mumble
spec:
  storageClassName: manual
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 1Gi
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: mumble-config
  namespace: mumble
data:
  murmur.ini: |
    **cut for brevity**
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: mumble-deployment
  namespace: mumble
  labels:
    app: mumble
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mumble
  template:
    metadata:
      labels:
        app: mumble
    spec:
      initContainers:
        - name: storage-setup
          image: busybox:latest
          command: ["sh", "-c", "chown -R 1000:1000 /srv/mumble"]
          securityContext:
            privileged: true
            runAsUser: 0
          volumeMounts:
            - mountPath: "/srv/mumble"
              name: mumble-pv-storage
              readOnly: false
            - name: mumble-config
              subPath: murmur.ini
              mountPath: "/srv/mumble/config.ini"
              readOnly: false
      containers:
        - name: mumble
          image: phlak/mumble
          ports:
            - containerPort: 64738
          env:
            - name: TZ
              value: "America/Denver"
          volumeMounts:
            - mountPath: "/srv/mumble"
              name: mumble-pv-storage
              readOnly: false
            - name: mumble-config
              subPath: murmur.ini
              mountPath: "/srv/mumble/config.ini"
              readOnly: false
      volumes:
        - name: mumble-pv-storage
          persistentVolumeClaim:
            claimName: mumble-pv-claim
        - name: mumble-config
          configMap:
            name: mumble-config
            items:
              - key: murmur.ini
                path: murmur.ini
---
apiVersion: v1
kind: Service
metadata:
  name: mumble-service
spec:
  selector:
    app: mumble
  ports:
    - port: 64738
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-31 04:17:27

command: ["sh", "-c", "chown -R 1000:1000 /srv/mumble"]

不是以只读方式挂载的卷,ConfigMap总是以只读方式挂载.将命令更改为:

command: ["sh", "-c", "chown 1000:1000 /srv/mumble"]会工作的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70527609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档