Cloud/Kubernetes

Kubernetes Prometheus PVC 붙이기

퐁스 2020. 7. 27. 17:57

기본적으로 제공되는 yaml에는 PVC가 붙어있지 않다. ephemeral data 이기 때문에 불의의 사고로 Pod가 죽거나 삭제되었을 때 데이터가 날아간다. 이 때를 대비해 PVC를 붙여주는 것이 좋다.

root@c1:~# kubectl get prometheus -A
NAMESPACE    NAME   AGE
monitoring   k8s    6d23h

prometheus를 조회한 이후 수정해준다. 다양한 방법이 있지만 난 아래 방법을 통해 PVC를 생성해준다.

 kubectl edit prometheus -n monitoring k8s
 
 serviceAccountName: prometheus-k8s
  serviceMonitorNamespaceSelector: {}
  serviceMonitorSelector: {}
  storage:
    volumeClaimTemplate:
      spec:
        resources:
          requests:
            storage: 100Gi
        storageClassName: default

수정 이후 Pod가 재기동되고, PVC가 조회되는 것을 볼 수 있다.

kubectl get pvc -n monitoring
NAME                                 STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
grafana-pvc                          Bound    pvc-cd96f480-78d8-40d0-9d9f-b4699dd28456   20Gi       RWX            default        5m10s
prometheus-k8s-db-prometheus-k8s-0   Bound    pvc-f50e2d38-d962-478c-a22b-20f93e0d4376   100Gi      RWO            default        5m56s
prometheus-k8s-db-prometheus-k8s-1   Bound    pvc-dae996e3-442a-4158-b11d-0954b8f200f4   100Gi      RWO            default        5m56s