kubernetes - 添加现有 PVC 后,Grafana Pod 处于 Init Error 状态
问题描述
使用 helm charts安装 grafana ,部署顺利,grafana ui 已启动,需要添加一个存在持久化卷,运行以下 cmd:
helm install grafana grafana/grafana -n prometheus --set persistence.enabled=true --set persistence.existingClaim=grafana-pvc
init 容器崩溃,日志如下:
kubectl logs grafana-847b88556f-gjr8b -n prometheus -c init-chown-data
chown: /var/lib/grafana: Operation not permitted
chown: /var/lib/grafana: Operation not permitted
在检查部署 yaml 时发现此部分:
initContainers:
- command:
- chown
- -R
- 472:472
- /var/lib/grafana
image: busybox:1.31.1
imagePullPolicy: IfNotPresent
name: init-chown-data
resources: {}
securityContext:
runAsNonRoot: false
runAsUser: 0
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /var/lib/grafana
name: storage
restartPolicy: Always
schedulerName: default-scheduler
securityContext:
fsGroup: 472
runAsGroup: 472
runAsUser: 472
serviceAccount: grafana
serviceAccountName: grafana
为什么操作在运行时失败runAsUser: 0
?而且 pvc 有access:ReadWriteMany
,有什么解决方法吗?或者我错过了什么
谢谢 !!
解决方案
NFS 默认开启root_squash
模式,在功能上禁用客户端上的 uid 0 作为超级用户(将这些请求映射到其他一些 UID/GID,通常为 65534)。你可以在你的挂载选项中禁用它,或者使用 NFS 以外的东西。我会推荐后者,NFS 不好。
推荐阅读
- trac - trac 默认 CC 插件的配置选项是什么
- debugging - 如何进行chrome调试?
- django - 对 Nginx 的任何请求的 504 网关超时,具有大量免费资源
- ios - Xamarin Form 滑块自定义,用于更改 iOS 中滑块的粗细
- php - 在单选按钮的选定值上获取 html 表单
- c - 如何升到 A (2x2) 矩阵的 n 次方?
- office365 - 当我调用 Microsoft Graph api - CalendarView with delta 函数时,有什么方法可以不显示发生事件
- javascript - IBM 门户页面上的导航问题
- java - 如何以编程方式更改 EditText 对象的宽度?
- java - 如何在同一个休眠会话中从数据库表中获取更新的值