【发布时间】:2023-01-03 12:20:31
【问题描述】:
当我使用官方镜像创建 grafana pod 并挂载 /var/lib/grafana 时,数据没有被隐藏 我不知道为什么? 根据我一直在研究的如果pvc挂载在/var/lib/grafana目录下,每个文件都是隐藏的,无法访问。
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: grafana-statefulset
spec:
serviceName: grafana-service
selector:
matchLabels:
app: grafana
replicas: 1
template:
metadata:
labels:
app: grafana
spec:
containers:
- name: grafana
image: grafana/grafana:latest
volumeMounts:
- mountPath: "/var/lib/grafana"
name: grafana-var
securityContext:
runAsUser: 472
fsGroup: 472
volumeClaimTemplates:
- metadata:
name: grafana-var
spec:
accessModes: ["ReadWriteMany"]
storageClassName: nks-nas-csi
resources:
requests:
storage: 2Gi
[dev1-user@master-dev-kube-cluster migration]$ k exec -it grafana-statefulset-0 -- sh
/usr/share/grafana $
/usr/share/grafana $ ls -l /var/lib/grafana/
total 912
drwxr-x--- 3 grafana root 4096 Jan 2 08:00 alerting
drwx------ 2 grafana root 4096 Jan 2 08:00 csv
drwxr-x--- 2 grafana root 4096 Jan 2 08:00 file-collections
-rw-r----- 1 grafana root 909312 Jan 3 01:20 grafana.db
drwxr-xr-x 2 grafana root 4096 Jan 2 08:00 plugins
drwx------ 2 grafana root 4096 Jan 2 08:00 png
事实上,当我单独创建镜像时,我挂载的目录中的文件是隐藏的,无法访问。
### First Stage
FROM busybox:latest
RUN mkdir /var/aaaa
COPY ./main.go /
RUN mv main.go /var/aaaa
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: busybox
spec:
serviceName: busybox
selector:
matchLabels:
app: busybox
replicas: 1
template:
metadata:
labels:
app: busybox
spec:
containers:
- name: busybox
image: busy/test:busybox
imagePullPolicy: "Always"
command:
- sleep
- "86400"
volumeMounts:
- mountPath: /var/aaaa
name: www
volumeClaimTemplates:
- metadata:
name: www
spec:
accessModes: ["ReadWriteMany"]
storageClassName: nks-nas-csi
resources:
requests:
storage: 2Gi
[dev1-user@master-dev-kube-cluster migration]$ k exec -it busybox-0 -- sh
/ #
/ #
/ # ls -l /var/aaaa/
total 0
/ #
本文的重点不是statefulset,它只是测试时出现的问题。
我怎样才能像 grafana 官方图像一样在挂载后继续使用每个目录数据以及 grafana 是如何做到的?
【问题讨论】:
标签: kubernetes mount kubernetes-pvc pv