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

황병주님의 프로필 이미지

작성한 질문수

그림으로 배우는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}

7.9.토폴로지 분배 제약 조건(topologySpreadConstraints)

토폴로지 분배제약 조건 실행 관련 문의드립니다.

작성

·

364

0

예제 7.9. deploy-topologyspreadconstraints.yaml 에서

- maxSkew: 1

topologyKey: topology.kubernetes.io/region

whenUnsatisfiable: DoNotSchedule

labelSelector:

matchLabels:

app: deploy-topologyspreadconstraints

 

topologyKey: topology.kubernetes.io/region 부분을 없애고 topology.kubernetes.io/zone으로만 그룹핑 후 실행해 봐도 결과는 동일한데요. region으로 그룹핑 하는 이유가 있을까요?

답변 1

2

주도님의 프로필 이미지

2022. 09. 09. 01:19

안녕하세요, 황병주님.

튜터 주도입니다:)

질문주신 내용은 deploy-topologyspreadconstraints.yaml 파일에서

topology.kubernetes.io/region(21~26행) 부분을 삭제하고

topology.kubernetes.io/zone(27~32행) 만 남겨서 배포했을 때

pod들이 전과 같이 같은 노드에 배치되었는데,

그렇다면 topology.kubernetes.io/region 을 설정하는 의미가 있는지에 대해 질문 주신 것으로 이해했습니다.

 

 

topology.kubernetes.io/region 을 설정하는 이유는

일차적으론, 알고 계신 것과 같이 클라우드에서 region은 zone의 상위개념이어서 설정하는 의미가 있고 (강의 2분 24초)

강의에서는 1개의 리전으로 예시가 소개되어있지만,

만약 여러개의 리전중, '특정 리전'에서 각 zone별로 pod를 균등하게 배포하고 싶다(강의 5분 29초)라는 니즈가 있을 때, 특정 리전을 지정한다는 의미도 있습니다.

 

혹시 추가로 궁금하신 점이 있으면 남겨주세요

감사합니다 :)