1)以下、クラスタ内にフォルダを作成する
/mnt/data
/mnt/data2
2)PVC用のマニュフェストを作成(garafana/Prometheus用)
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: local-storage
provisioner: kubernetes.io/no-provisioner
volumeBindingMode: WaitForFirstConsumer
---
# Grafana 用 PersistentVolume
apiVersion: v1
kind: PersistentVolume
metadata:
name: grafana-pv
spec:
capacity:
storage: 10Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
local:
path: /mnt/data # ノードのローカルパス (Grafana 用)
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rasp-node1 # ノード名を指定
- rasp-node2
---
# Prometheus 用 PersistentVolume
apiVersion: v1
kind: PersistentVolume
metadata:
name: prometheus-pv
spec:
capacity:
storage: 10Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
storageClassName: local-storage
local:
path: /mnt/data2 # ノードのローカルパス (Prometheus 用)
nodeAffinity:
required:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/hostname
operator: In
values:
- rasp-node1 # ノード名を指定
- rasp-node2
3)デプロイを行う
kubectl apply -f /Volumes/Store/Technology/k8s/PVC/garafana-prometheus-pvc.yaml
4)Helmの記載に追記するマニュフェスト作成(volumes.yaml)
# Prometheus のストレージ設定
prometheus:
prometheusSpec:
tolerations:
- key: "node-role.kubernetes.io/control-plane"
operator: "Equal"
value: "true"
effect: "NoSchedule"
storageSpec:
volumeClaimTemplate:
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi # Prometheus のストレージサイズを指定
storageClassName: local-storage # 作成したストレージクラス名を指定
# Grafana のストレージ設定
grafana:
tolerations:
- key: "node-role.kubernetes.io/control-plane"
operator: "Equal"
value: "true"
effect: "NoSchedule"
persistence:
enabled: true
size: 10Gi # Grafana のストレージサイズを指定
storageClassName: local-storage # 作成したストレージクラス名を指定
5)以下のアップデートコマンド実施
helm install prometheus prometheus-community/kube-prometheus-stack -n monitoring -f volumes.yaml
0 件のコメント:
コメントを投稿