У меня есть два пространства имен: «RunSata» и «Monitoring». Модуль heketi и модуль daemonSet модуля glusterfs находятся в пространстве имен RunSDATA. Теперь я хочу создать монитор Prometheus в пространстве имен «мониторинга». Так как мне нужно хранилище для хранения моих данных Прометея. Таким образом, я создаю PV C (в разделе «ns мониторинга») и pv, а в PV C yaml я объявляю класс хранилища для создания соответствующего тома, чтобы обеспечить хранилище для Прометея. Но когда я создал pv c, связанный с pv и применил prometheus-server.yaml. Я получаю сообщение об ошибке:
Warning FailedMount 18m (x3 over 43m) kubelet, 172.16.5.151 Unable to attach or mount volumes: unmounted volumes=[prometheus-data-volume], unattached volumes=[prometheus-rules-volume prometheus-token-vcrr2 prometheus-data-volume prometheus-conf-volume]: timed out waiting for the condition
Warning FailedMount 13m (x5 over 50m) kubelet, 172.16.5.151 Unable to attach or mount volumes: unmounted volumes=[prometheus-data-volume], unattached volumes=[prometheus-token-vcrr2 prometheus-data-volume prometheus-conf-volume prometheus-rules-volume]: timed out waiting for the condition
Warning FailedMount 3m58s (x35 over 59m) kubelet, 172.16.5.151 MountVolume.NewMounter initialization failed for volume "data-prometheus-pv" : endpoints "heketi-storage-endpoints" not found
Нетрудно узнать из приведенного выше журнала, storageClass не может найти конечные точки хекети для создания тома. потому что конечные точки хекети находятся под "RunSata". Как я могу решить эту проблему?
Другая информация: 1. PV и PV c
apiVersion: v1
kind: PersistentVolume
metadata:
name: data-prometheus-pv
labels:
pv: data-prometheus-pv
release: stable
spec:
capacity:
storage: 2Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Recycle
storageClassName: runsdata-static-class
glusterfs:
endpoints: "heketi-storage-endpoints"
path: "runsdata-glusterfs-static-class"
readOnly: true
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data-prometheus-claim
namespace: monitoring
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 2Gi
storageClassName: runsdata-static-class
selector:
matchLabels:
pv: data-prometheus-pv
release: stable
[root@localhost online-prometheus]# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
data-config-pv 1Gi RWX Retain Bound runsdata/data-config-claim runsdata-static-class 5d22h
data-mongo-pv 1Gi RWX Retain Bound runsdata/data-mongo-claim runsdata-static-class 4d4h
data-prometheus-pv 2Gi RWX Recycle Bound monitoring/data-prometheus-claim runsdata-static-class 151m
data-static-pv 1Gi RWX Retain Bound runsdata/data-static-claim runsdata-static-class 7d15h
pvc-02f5ce74-db7c-40ba-b0e1-ac3bf3ba1b37 3Gi RWX Delete Bound runsdata/data-test-claim runsdata-static-class 3d5h
pvc-085ec0f1-6429-4612-9f71-309b94a94463 1Gi RWX Delete Bound runsdata/data-file-claim runsdata-static-class 3d17h
[root@localhost online-prometheus]# kubectl get pvc -n monitoring
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
data-prometheus-claim Bound data-prometheus-pv 2Gi RWX runsdata-static-class 151m
[root@localhost online-prometheus]#
Хекети и Glusterfs
[root@localhost online-prometheus]# kubectl get pods -n runsdata|egrep "heketi|gluster"
glusterfs-5btbl 1/1 Running 1 11d
glusterfs-7gmbh 1/1 Running 3 11d
glusterfs-rmx7k 1/1 Running 7 11d
heketi-78ccdb6fd-97tkv 1/1 Running 2 10d
[root@localhost online-prometheus]#
StorageClass определить
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: runsdata-static-class
provisioner: kubernetes.io/glusterfs
allowVolumeExpansion: true
reclaimPolicy: Delete
parameters:
resturl: "http://10.10.11.181:8080"
volumetype: "replicate:3"
restauthenabled: "true"
restuser: "admin"
restuserkey: "runsdata-gf-admin"
#secretNamespace: "runsdata"
#secretName: "heketi-secret"