首页 > 解决方案 > 添加现有 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,有什么解决方法吗?或者我错过了什么

谢谢 !!

标签: kubernetesgrafana

解决方案


NFS 默认开启root_squash模式,在功能上禁用客户端上的 uid 0 作为超级用户(将这些请求映射到其他一些 UID/GID,通常为 65534)。你可以在你的挂载选项中禁用它,或者使用 NFS 以外的东西。我会推荐后者,NFS 不好。


推荐阅读