Kubernetes in Action 10장 스테이트풀셋: 복제된 스테이트풀 애플리케이션 배포하기

  1. 스테이트풀 포드 복제
    1. 각 포드가 분리된 저장소를 갖도록 여러 복제본 시랳ㅇ
      1. 수동으로 포드 생성
      2. 포드 인스턴스마다 하나의 레플리카셋 사용
      3. 같은 볼륨에서 여러 개의 디렉터리 사용
    2. 각 포드에 안정적인 ID 제공
      1. 각 포드 인스턴스에 전용 서비스 사용
  2. 스테이트풀셋 이해
    1. 스테이스풀셋과 레플리카셋 비교
      1. 애완 동물과 가축을 통해 스테이트풀셋 포드 이해
      2. 레플리카셋과 레플리케이션 컨트롤러를 스테이트풀셋과 비교
    2. 안정적인 네트워크 ID 제공
      1. 관리 서비스 소개
      2. 잃어버린 애완 동물 교체
      3. 스테이트풀셋 스케일링
    3. 각 스테이트풀 인스턴스에 안정적인 전용 스토리지 제공
      1. 볼륨 클레임 템플릿을 갖춘 포드 템플릿 팀 구성
      2. PersistentVolumnClaim의 생성과 삭제
      3. 같은 포드의 새 인스턴스에 영구 볼륨 클레임 다시 붙이기
    4. 스테이트풀셋의 보장
      1. 안정된 ID와 스토리지의 의미
      2. 스테이트풀셋의 최대 하나의 의미(at-most-one semantics) 소개
  3. 스테이트풀셋 사용
    1. 앱 및 컨테이너 이미지 만들기
    2. 스테이트풀셋을 통한 애플리케이션 배포
      1. PersistentVolume 생성
      2. 관리 서비스 생성
      3. 스테이트풀셋 매니페스트 만들기
      4. 스테이트풀셋 만들기
      5. 생성된 스테이트풀 포드 살펴보기
      6. 생성된 PerisistentVolumeClaim 살펴보기
    3. 실제로 포드를 동작해보기
      1. API 서버를 통해 포드와 통신하기
      2. 재스케쥴된 포드가 같은 스토리지에 다시 붙었는지 확인하기 위해 스테이트풀 포드 삭제
      3. 스테이트풀셋 스케일링
      4. 일반적인 비헤드리스 서비스를 통해 스테이트풀 포드 노출하기
      5. API 서버를 통해 클러스터 내부의 서비스에 연결
  4. 스테이트풀셋에서 피어 발견: SRV 레코드 소개
    1. DNS를 통한 피어 검색 구현
    2. 스테이트풀셋 업데이트: kubectl edit statefulset kubia
    3. 클러스터된 데이터 스토리지 사용
  5. 스테이트풀셋이 노드 장애를 처리하는 방법
    1. 네트워크에서 노드 연결 해제 시뮬레이션
      1. 노드의 네트워크 어댑터 셧다운
      2. 쿠버네티스 마스터에 의해 관찰된 노드의 상태 확인
      3. 상태를 알 수 없는 포드에 발생환 상황
    2. 수동으로 포드 삭제
      1. 일반적인 방법으로 포드 지우기
      2. 포드가 삭제되지 않은 이유
      3. 포드의 강제 삭제: –force –grace-period
  6. 요약
    1. 복제된 포드에 개별 스토리지 제공하기
    2. 포드에 안정적인 ID 제공하기
    3. 스테이트풀셋과 해당하는 헤드리스 통제 서비스를 생성하기
    4. 스테이트풀셋을 스케일업하고 업데이트하기
    5. DNS를 통해 스테이트풀셋의 구성원 찾기
    6. 호스트 이름을 통해 구성원과 연결하기
    7. 스테이트풀 포드를 강제로 삭제하기

Loading

Published
Categorized as xacdo

By xacdo

Kyungwoo Hyun

Leave a comment

Your email address will not be published. Required fields are marked *