摘要
我目前正处于学习kubernetes的过程中,因此我决定从一个简单的应用程序开始。
设置
我的设置很简单,我有一个节点(主节点),我已经清除了污点,所以可以在上面部署。这个节点正在运行CentOS流,但是SELinux被禁用。
问题
/srv/mumble目录似乎是ReadOnly,此时我尝试创建一个init容器来创建目录,但由于上面的问题,这失败了。这个问题出现在两个容器中,我目前还不确定如何更改这个问题,以允许模糊应用程序在所述目录中创建文件。含糊应用程序用户以用户1000的身份运行。我在这里错过了什么?
配置
---
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发布于 2021-12-31 04:17:27
command: ["sh", "-c", "chown -R 1000:1000 /srv/mumble"]
不是以只读方式挂载的卷,ConfigMap总是以只读方式挂载.将命令更改为:
command: ["sh", "-c", "chown 1000:1000 /srv/mumble"]会工作的。
https://stackoverflow.com/questions/70527609
复制相似问题