220531 Today I Learned
일지
특이 사항 없음
오늘의 할일
- 220531 TIL 작성
- Kubernetes udemy 강좌 수강
- 정보공유 스터디 9주차 진행
주요 키워드
- K8s
- Statefulset
- Pod Scheduling
수업 정리
스테이트풀샛(Stateful Set)
- 스테이트리스(Stateless)한 파드의 특성과 상반되는 특성을 가지는 파드를 제어하기 위한 컨트롤러
-
Pet Set ⇔ 가축
- 일반적인 복제본을 생성하는 컨트롤러 파드의 특성: Stateless
- 파드는 영속성을 고려하지 않음
- 데이터에 대한 보존에 대한 고려 필요
- 컨트롤러에 의해 생성된 각 파드는 역할이 동일
- 스테이트풀셋의 파드의 특성
- 영속성을 고려. 영속성이 보장되어야 함
- 파드별로 영구 볼륨을 할당 가능
- 컨트롤러에 의해 생성된 각 파드의 역할을 구분할 수 있음
스테이트풀셋에서 볼륨 사용
- 영구볼륨을 사용하는 것을 기본으로 전제
- 각 파드마다 별도로 PVC를 할당할 수 있음
- PVC를 생성하여 볼륨을 할당하기 위해서는 동적 PV할당을 제공하는 스토리지가 필요 (실습을 위해 rook storage 설치 필요, 13페이지)
- 스테이트풀셋은 반드시 헤드리스 서비스를 필요로 함
영구 볼륨을 사용하는 스테이트풀셋
스테이트풀셋 파드 업데이트
- 디플로이먼트 리소스와 유사하게 업데이트 기능을 제공
쿠버네티스의 스케줄러
-
실제 파드가 노드에 배치되기 위해 스케줄러가 파드의 노드 배치를 결정하고, API 서버를 통해 파드 배치
-
파드의 노드 배치에 영향을 주는 요소
- 노드 셀렉터
- 노드 네임
- 어피니티
- 테인트
- 톨러레이션
- 커든
- 드레인
참고> static pod (스태틱 파드)
- 스태틱 파드는 특정 노드의 kubelet에 의하여 실행되는 파드이므로, kube-scheduler에 의해서 배치되지 않고, 직접 노드에 실행됨
- /etc/kubernetes/manifest : 스태틱 파드의 오브젝트 파일 위치
- /var/lib/kubelet/config.yaml : 스태틱 파드를 실행하는 kubelet 설정(staticPodPath)
노드 셀렉터(Node Selector)
- 파드를 특정 노드를 지정하는 대신 레이블 정보에 따라 대상 노드를 탐색하여 배치할 수 있도록 지정하는 방식
- 파드의 정의에서 nodeSelector 항목을 생성하여 지정
- 레이블 정보를 사용: Node의 레이블 정보에 따라 지정
Leave a comment