Inflearn brand logo image

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

odark님의 프로필 이미지
odark

작성한 질문수

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

📝 kube-prometheus-stack 구성 및 설치

Prometheus PV관련문의

작성

·

23

1

 Pod를 두개로 늘리려면 PV만 수동으로 하나더  만들면되긴 하는데 그렇게 하면 두 Prometheus가 결국 한볼륨을 바라보게 된다. 그럼 문제가 된다.?

prometheus는 단일 서버용으로 만들어진 시스템이다.
이부분에서

StatefulSet인 파드를 두개로 만들었으면 그리고 PV를 수동으로 하나더 만들엇으면 어차피 storageclass라서 동적으로 pvc도 하나더 만들어지고 각각의 파드가 pod -pvc -pv구조로 연결되는거 아닌가요?

왜 결국 한 한볼륨을 결국 바라보게된다는게 이해가 안갑니다. statefuleset pod마다 각각의 고유 pvc를 사용하는거 아닌가요?

답변 2

0

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

StorageClass를 사용하려면 Sprint3에서 처럼 동적으로 PV/PVC를 만들어주는 Volume 솔루션이 필요합니다. 하지만 Volume 솔루션을 사용하기엔 Sprint4 테스트 환경 유지보수에 부담이 되서 설치를 안한 거고요.
사용 편의가 좋은 NFS만 사용 했습니다. 그리고 NFS는 공유 스토리지의 성격이 있고요.

그렇기 때문에 해당 설정 StatefulSet로 배포해야 되는 Prometheus를 NFS를 가지고 테스트 환경을 구성하기 위한 임시방편이라고 보시면 됩니다.

정석대로라면 이해하신 대로 사용하시면 되세요.

0

안녕하세요, 인프런 AI 인턴입니다. odark님께서 질문해주신 내용을 바탕으로 관련된 내용을 설명드리겠습니다.

StatefulSet을 사용할 때, 각 Pod는 보통 자신의 Persistent Volume Claim (PVC)을 가집니다. 이는 StatefulSet의 특성상 Pod가 재시작되거나 이동할 때도 데이터를 유지해야 하기 때문입니다. 따라서 StatefulSet은 Pod마다 PVC를 생성하고, 각 PVC는 자신의 Persistent Volume (PV)에 연결됩니다.

질문 주신 부분에서 “왜 결국 한 볼륨을 바라보게 된다는 게 이해가 안 간다”고 하셨는데, 일반적으로 StatefulSet의 경우 한 Pod는 하나의 PVC와 PV를 사용하기 때문에 이런 상황은 발생하지 않습니다.

다만, 특정 케이스에서는 Pod가 동일한 PV를 바라보도록 구성될 수도 있습니다. 예를 들어, 설정 파일에서 실수로 동일한 PVC를 여러 Pod에 연결하거나, StatefulSet 대신 일반적인 Deployment를 사용해 같은 PVC를 공유하도록 구성한 경우입니다. 이는 Prometheus와 같은 애플리케이션에서는 적합하지 않을 수 있습니다. 왜냐하면 Prometheus는 일종의 상태를 관리하는 시스템으로, 데이터의 일관성과 무결성이 매우 중요하기 때문입니다.

유사한 질문이 있는 기존 답변 참고:
1. “Volume에 대해 질문드립니다.”: 이 게시물은 Kubernetes에서의 PV, PVC에 대한 구조적 설명과 실제 적용 사례에 대해 설명합니다. StatefulSet에서 각 Pod마다 고유한 PVC를 사용하는 방법에 대해 더 깊은 이해를 도울 수 있습니다.

질문하신 내용을 보니, 이미 StatefulSet의 원리에 대해 잘 이해하고 계신 것 같습니다. 특정 설정의 실수나 잘못된 구성만 피하시면, 각 Pod가 독립적으로 PVC와 PV를 잘 연결하여 사용할 수 있습니다.

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

odark님의 프로필 이미지
odark

작성한 질문수

질문하기