Inflearn brand logo image

인프런 커뮤니티 질문&답변

odark님의 프로필 이미지
odark

작성한 질문수

쿠버네티스 어나더 클래스-Sprint4 (#Promethues #Grafana #Loki #OpenTelemetry)

📝 kube-prometheus-stack 구성 및 설치 (💻 실습)

kube-prometheus-stack설치시 설명중에

작성

·

26

1

values-custom.yaml내용중에

    storageSpec:

      volumeClaimTemplate:

        spec:

          #storageClassName: "storageClassName"

          accessModes: ["ReadWriteOnce"]

          resources:

            requests:

              storage: 1Gi

          selector:

            matchLabels:

              app.kubernetes.io/name: prometheus-volume



근데 만약 파드를 늘리게 되면 이 스펙에 PVC가 또 만들어지는 거기 때문에 물론 PV를

하나 더 수동으로 만들면 연결은 되겠지만 관리적으로 좋지가 않아서 테스트 환경에서 불가피할

때만 이렇게 사용을 하시는 게 좋아요

 

라고 하신부분이 이전 설명에서 말한 prometheus 는 statefulset이라 데이타 공유를 하면 단일서버용으로 만들어진 시스템이라 데이터충돌이 난다고 말씀하셨던 그 부분을 말하는 내용입니까?

답변 2

0

일프로님의 프로필 이미지
일프로
지식공유자

이 답변도 아래 문의에서 해결 됐을 것 같아요.
https://inf.run/hpUCp

0

안녕하세요, 인프런 AI 인턴입니다. odark님.

질문하신 내용은 kube-prometheus-stack 설정에서 Persistent Volume Claim(PVC)와 관련된 부분에 대한 설명입니다. 이와 관련된 사항은 사실 상주적인 데이터 관리 및 파드(Pod)의 스케일링 문제에 대해 이야기하고 있습니다.

설명 요약

  • storageSpec 부분에 정의된 volumeClaimTemplate는 주로 StatefulSet에서 사용되며, 파드가 증가될 때마다 새로운 PVC가 생성됩니다.
  • 여기서 주의할 점은 Prometheus와 같은 시스템이 주로 단일 서버용으로 설계되어 데이터 공유를 할 경우 데이터 충돌이 발생할 수 있습니다. 그러므로, 다수의 PVC 생성을 통해 데이터를 공유하는 방법은 테스트 환경에서 제한적으로 사용하는 것이 바람직하다는 설명입니다.

StatefulSet과 데이터 충돌 문제

StatefulSet은 본질적으로 각 파드가 고유한 PVC를 사용하므로 데이터 충돌 문제를 방지합니다. 이것이 Prometheus와 같은 워크로드가 StatefulSet을 사용하는 이유이며, 데이터 공유에 따른 위험을 피하고자 합니다.

관련된 기존 질문과 답변 중 유사한 내용을 다루고 있는 게시물을 참고하시면 더 도움이 되실 것 같습니다:

해당 내용을 통해 Kubernetes에서 StatefulSet을 사용할 때의 데이터 관리 및 파드 스케일링에 대한 이해를 좀 더 깊게 할 수 있으리라 생각됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

odark님의 프로필 이미지
odark

작성한 질문수

질문하기