스터디/[쿠버네티스 인 액션] (2024.8)

[쿠버네티스 인 액션] 10장.스테이트풀셋 (1) 스테이트풀셋이 나오게 된 배경

ttoance 2024. 10. 22. 06:20

 

10.1.데이터베이스 파드를 복제하는 데 레플리카를 사용할 수 있을까?

 - 각 레플리카가 별도의 퍼시스턴트볼륨 클레임을 사용하도록 만들 수 없다. 

 

1) 개별 스토리지를 갖는 레플리카 여러 개 실행하기 

- 방법1) 수동으로 파드 생성하기 

ㄴ 레플리카셋이 파드를 감시하지 않으므로 수동으로 파드를 관리하고 파드가 사라지면 다시 생성해야 한다. 

ㄴ 노드 실패나 고장으로 인한 재스캐쥴링 보장하지 않음

 

- 방법2) 파드 인스턴스별로 하나의 레플리카셋 사용하기 

ㄴ 노드 실패나 고장으로 인한 재스캐쥴링 보장

ㄴ 레폴리카셋의 장점을 발휘 못함 ex, 의도된 레플리카 수를 자유롭게 변경못함

 

- 방법3) 동일 볼륨을 여러 개 디렉터리로 사용하기 

ㄴ 모든 파드가 동일한 퍼시스턴트볼륨을 사용하게 하되 각 파드의 볼륨 내부에서 별도의 파일 디렉터리를 가제하는것. 

ㄴ ex, 각 인스턴스가 생성되는 시점에 다른 인스턴스가 사용하지 않는 데이터 디렉터리를 자동하게 설정하도록 함

ㄴ 인스턴스 간 조정이 필요하고 올바르게 수행하기 쉽지 않다. 또한 병목 현상이 발생한다.

 

 

2) 각 파드에 안정적인 아이덴티티 제공하기 : 각 파드 별로 인스턴스별 전용 서비스 사용하기 

=> 각 개별 멤버에게 전용 쿠버네티스 서비스 생성해 클러스터 멤버에 안정적인 네트워크 주소를 제공하는 것이다. 

 

 

1) + 2)을 합치면 아래와 같은 구조가 나온다. 

 

이런 구조의 문제점은 개별 파드는 자신이 어떤 서비스를 통해 노출되는지 알 수 없으므로 (다른 안정적인 IP를 알 수 없다)

=> 이러한 특별한 유형의 경우 사용하는 것이 스테이트풀셋 이다 ! 

반응형