1 minute read

일지

특이 사항 없음

오늘의 할일

  • 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의 레이블 정보에 따라 지정

Categories:

Updated:

Leave a comment