inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

대세는 쿠버네티스 (초급~중급편)

StatefulSet 내용이 잘 이해가 되지 않습니다.

해결된 질문

250

kimwj

작성한 질문수 14

1

강사님 안녕하세요

StatefulSet 강의 중 궁금한 부분이 있어서 질문 드립니다.

 

먼저 ReplicaSet 부하 분산용으로 kubetm/app 가 3개 실행된다

replicas:3

spec:
      containers:
      - name: container
        image: kubetm/app

부하 분산용으로 kubetm/app 가 3개 실행된다는 내용은 이해를 하겠는데

 

StatefulSet 예제도

replicas:3

spec:
      containers:
      - name: container
        image: kubetm/app

이렇게 되어있더라구요

강의 내용처럼 containers에 예를 들어

image: kubetm/primary

image: kubetm/secondary

image: kubetm/albiter

각각 다른 역할을 하는 container가 실행되어야 하는거 아닌가요?

만약 그렇다고 하면 replicas 부분과 container 부분의 yaml 파일 작성이 실제로 어떻게 되는지 궁금합니다.

 

 

docker kubernetes

답변 1

1

일프로

안녕하세요.

하나의 App이 3가지 기능을 모두 할 수 있게 구현되는게 기본입니다.

MongoDB의 경우도 같은 이미지이지만 설정에 따라 자신이 하는 기능이 결정됩니다.

그렇기 때문에 이미지는 모두 동일하게 가고요,

해당 Pod별로 서로 다른 스크립트를 돌게 하는 방법은 다 다릅니다.

한가지 예를 들면, MongoDB 이미지에 기본 initScript가 포함되어 있을 수 있고, 이 스크립트가 돌아갈 때 prmary인지 secondary인지 인자를 줄 수 있겠죠.

그리고 인자를 주는 방법으로는 환경 변수를 가져올 수 있고,

StatefulSet의 경우 환경변수로 hostname이 mongodb-0, mongodb-1, mongodb-2 이런식으로 생기기 때문에, 만약 스크립트를 아래와 같이 줘서 자신이 어떤 역할을 해야하는지 결정 할 수가 있겠네요

if [[ $POD_NAME =~ (.*)-0$ ]]; then

echo "primary"

else

echo "secondary"

fi

fi

이런 스크립트를 Pod yaml파일에 넣을 수도 있고요. 솔루션마다 모두 틀립니다.

감사합니다.

 

0

kimwj

답변 감사합니다.

yml 작성하다가 에러 발생해서 문의 드립니다.

0

39

2

설치수업중에 질문드립니다.

1

58

2

기초다지기 설치 문의드립니다.

1

106

4

HPA 부분 Auto Scaler 설치하는 링크가 없습니다!!

1

66

3

클러스터 초기화 및 팟 네트워크 세팅시 문제가 있습니다

1

102

1

환경 구성에 있어서 질문드립니다

1

92

2

configMap 파일생성

1

77

2

dashboard에서 pod 생성이 되지 않습니다.

1

78

2

nodePort 서비스 접근 Client sent an HTTP request to an HTTPS server

1

74

2

대시보드 화면이 달라요 ㅠㅠ

1

61

2

대시보드 접근이 안됩니다!

1

98

2

Ingress실습에 난관이 있습니다

1

67

2

master 노드에서 ssh 로그인 창이 안뜨는 오류

1

82

3

안녕하세요 일프로님 궁금한 거 있습니다

0

50

1

7강 마지막 대시 보드 출력에 관한 문제

1

57

2

Could not resolve host: externalname1; Unknown error

0

60

2

Failed to create pod sandbox

1

90

2

자료실을 못 찾겠습니다 ㅜ ㅡ ㅜ

0

57

2

0/3 nodes are available

1

57

2

Back-off restarting fail~~

1

100

4

쿠버네티스 대시보드 접속 문제

1

89

2

설치관련 질문입니다

1

116

2

raw.githubusercontent.com 에 대한 질문

1

138

2

worker노드 추가시에

1

68

1