実現したいこと
kubernetesにてhelmを用い、kube-prometheus-stackのinstallが完了すること
詳細
該当のhelmチャートをローカルへ落とし、
ローカル内のvalues.yamlを一部修正した後に
helm install prometheus -n monitoring ~/kube-prometheus-stack
を実行したところ以下のエラーメッセージが発生しております。
因みに筆者としては下記「該当のソースコード」「【怪しんでいる箇所】」にて指定されているユーザ/グループ:472が
該当pod内のディレクトリを作成する権限をそもそも持っていないのでは?と考えてます。
k8s自体先月から勉強し始めた段階で、色々情報漁りましたがこれ!といった解決方法が見当たらなかった為、
有識者様からの解決方法のご教授をお願いしたく思います。
発生している問題・エラーメッセージ
【podの状態】 kubectl get pod --namespace=monitoring -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES alertmanager-prometheus-kube-prometheus-alertmanager-0 2/2 Running 0 8h XX.XXX.XXX.XXX ubuntu-XXX <none> <none> prometheus-grafana-844774fbb8-5gqzl 2/3 CrashLoopBackOff 14 (83s ago) 48m XX.XXX.XXX.XXX ubuntu-XXX <none> <none> prometheus-kube-prometheus-operator-6c697fbf58-4wmgx 1/1 Running 0 8h XX.XXX.XXX.XXX ubuntu-XXX <none> <none> prometheus-kube-state-metrics-7699769b5f-9bgpq 1/1 Running 0 8h XX.XXX.XXX.XXX ubuntu-XXX <none> <none> prometheus-prometheus-kube-prometheus-prometheus-0 2/2 Running 4 (8h ago) 8h XX.XXX.XXX.XXX ubuntu-XXX <none> <none> prometheus-prometheus-node-exporter-bshhp 1/1 Running 0 8h XXX.XXX.XX.XX ubuntu-XXX <none> <none> prometheus-prometheus-node-exporter-jbfmf 1/1 Running 0 8h XXX.XXX.XX.XX ubuntu-XXX <none> <none> prometheus-prometheus-node-exporter-tdwkv 1/1 Running 0 8h XXX.XXX.XX.XX ubuntu-XXX <none> <none> 【log内容】 kubectl logs prometheus-grafana-844774fbb8-5gqzl --namespace=monitoring GF_PATHS_DATA='/var/lib/grafana/' is not writable. You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migrate-to-v51-or-later mkdir: can't create directory '/var/lib/grafana/plugins': Permission denied
該当のソースコード(一部情報マスキングしてます)
【怪しんでいる箇所】
yml
1【~/kube-prometheus-stack/charts/grafana/values.yaml】 2securityContext:3 runAsNonRoot: true4 runAsUser: 4725 runAsGroup: 4726 fsGroup: 472
【各values.ymlの修正内容】
yml
1【~/kube-prometheus-stack/values.yaml】 2325,326c325,3263< templates:4< - '/etc/alertmanager/config/*.tmpl'5---6> discord_configs:7> - webhook_url: https://discord.com/api/webhooks/XXXXXX/XXXXXX 8507c507 9< type: ClusterIP 10---11> type: LoadBalancer 12537c537 13< type: ClusterIP 14---15> type: LoadBalancer 16724,732c724,73117< storage: {}18< # volumeClaimTemplate:19< # spec:20< # storageClassName: gluster21< # accessModes: ["ReadWriteOnce"]22< # resources:23< # requests:24< # storage: 50Gi25< # selector: {}26---27> storage:28> volumeClaimTemplate:29> spec:30> storageClassName: nfs-storage-class 31> accessModes: ["ReadWriteOnce"]32> resources:33> requests:34> storage: 1Gi 35758c757,75836< nodeSelector: {}37---38> nodeSelector:39> labelname: ubuntu-XXX 40919a920,93241> deploymentStrategy:42> type: Recreate 43> persistence:44> enabled: true45> type: pvc 46> storageClassName: nfs-storage-class 47> accessModes:48> - ReadWriteOnce 49> size: 1Gi 50> finalizers:51> - kubernetes.io/pvc-protection 52> initChownData:53> enabled: false54936c949 55< defaultDashboardsTimezone: utc 56---57> defaultDashboardsTimezone: jst 582233c2246,224759< nodeSelector: {}60---61> nodeSelector:62> labelname: ubuntu-XXX 632301c2315,231664< nodeSelector: {}65---66> nodeSelector:67> labelname: ubuntu-XXX 682538c2553,255469< nodeSelector: {}70---71> nodeSelector:72> labelname: ubuntu-XXX 732754c2770 74< type: ClusterIP 75---76> type: LoadBalancer 772867c2883 78< type: ClusterIP 79---80> type: LoadBalancer 812914c2930 82< type: ClusterIP 83---84> type: LoadBalancer 853262c3278,327986< nodeSelector: {}87---88> nodeSelector:89> labelname: ubuntu-XXX 903509c3526 91< storageSpec: {}92---93> storageSpec:943512,3519c3529,353595< # volumeClaimTemplate:96< # spec:97< # storageClassName: gluster98< # accessModes: ["ReadWriteOnce"]99< # resources:100< # requests:101< # storage: 50Gi102< # selector: {}103---104> volumeClaimTemplate:105> spec:106> storageClassName: nfs-storage-class 107> accessModes: ["ReadWriteOnce"]108> resources:109> requests:110> storage: 1Gi 1114312c4328,4329112< nodeSelector: {}113---114> nodeSelector:115> labelname: ubuntu-XXX 116
yml
1【~/kube-prometheus-stack/charts/grafana/values.yaml】 2199c199 3< type: ClusterIP 4---5> type: LoadBalancer 6286c286,2877< nodeSelector: {}8---9> nodeSelector:10> labelname: ubuntu-XXX 11337a339 12> enabled: true13339,340c341 14< enabled: false15< # storageClassName: default16---17> storageClassName: nfs-storage-class 18343,344c344 19< size: 10Gi 20< # annotations: {}21---22> size: 1Gi 23347,353d346 24< # selectorLabels: {}25< ## Sub-directory of the PV to mount. Can be templated.26< # subPath: ""27< ## Name of an existing PVC. Can be templated.28< # existingClaim:29< ## Extra labels to apply to a PVC.30< extraPvcLabels: {}311187c1180,118132< nodeSelector: {}33---34> nodeSelector:35> labelname: ubuntu-XXX
yml
1【~/kube-prometheus-stack/charts/kube-state-metrics/values.yaml】 2255c255,2563< nodeSelector: {}4---5> nodeSelector:6> labelname: ubuntu-XXX
試したこと
該当pod内で本当にディレクトリが作れないか手動で試したく、
kubectl execにてpod中に入ろうと試みましたが、ステータスが「CrashLoopBackOff」の影響なのか結局は中に入れず、
上記で指定されている472の妥当性を確認することができませんでした。
補足情報(FW/ツールのバージョンなど)
サーバ:rasberry pi 4 Ram 8GB
helm version:v3.13.2+g2a2fb3b
prometheus-community/kube-prometheus-stack:
CHART VERSION:55.1.0
APP VERSION:v0.70.0
0 コメント