본문 바로가기

TEAM STUDY/대세는 쿠버네티스 [초급~중급]

▶ kubernetes - POD

728x90
반응형

POD - Lifesycle

  •  Pod > Status > Phase
    • Pending
      • 최초 상태
        • PodScheduled : True
        • Initialized : True
    • Running
      • 원할하게 작동이 시작
      • 하나 또는 여러 개가 비정상 작동시 Wating
    • Succeeded
      • 작업 모두 성공
    • Failed
      • 작업 중 하나라도 에러 발생시
  • Pod > Status > Conditions
    • Initialized
    • ContainerReady
    • PodScheduled
    • Ready
  • Pod > Status > Reason
    • ContainersNotReady
    • PodComleted
  • Pod > Containers > ContainerStatuses > Status
    • Wating
    • Running
    • Terminated
  • Pod > Containers > ContainerStatuses > Reason
    • ContainerCreating
    • CrashLoopBackOff
    • Error
    • Completed

POD - ReadinessProbe

  • Node / Pod 가 죽어 Node / Pod 를 생성해야하는 경우
  • App 이 구동되기 전에 트래픽 실패를 없앤다.

POD - LivenessProbe

  • APP 장애시 지속적인 트래픽 실패를 없앤다.
  • APP 에 대한 장애를 감지한다.
    • 파드를 정지 시킨 후 재생성
  • 지속적인 실패를 예방할 수 있다.

POD - QOS Classes

  • 주어진 자원이 한정적일 때 앱의 중요도에 따라 중요도가 낮은 파드의 자원을 회수한 뒤 중요도가 높고 자원이 부족한 파드에 할당해준다.
  • 컨테이너 설정에서 resource 설정으로 설정할 수 있다.

POD - Node Scheduling

  • NodeName
    • 노드 추가/삭제로 인해 변경될 수 있으므로 사용을 권장하지 않음.
  • NodeSelector
    • 권장
    • 파드에 키와 밸류로 지정한다.
    • 같은 키와 밸류라면 자원이 많이남은 노드에 할당된다.
    • 키와 밸류가 맞지 않더라도 자원이 많이남은 노드가 있다면 노드를 할당할 수 있도록 옵션을 줄 수도 있다.
  • NodeAffinity
    • Pod Affinity 
      • 여러 파드들을 한 노드에 집중에서 할당
      • 파드들간에 겹치는 노드 없이 할당
    • Anti Affinity
      • 마스터가 죽으면 slave 가 백업을 해야하는 상황에 사용
      • 마스터가 죽으면 slave에 마스터를 백업한 후에 다른 노드에 할당하여 실행시킨다.
    • Toleration
      • 특정 노드에 아무 파드나 할당하지 않도록 사용
    • Taint
      • Node 생성시 Taint 옵션으로 생성한다면 아무 pod 나 해당 노드에 할당할 수 없다.
      • 해당 노드에 할당되고자 한다면 Pod 에서 Toleation 옵션을 가지고 있어야 한다.

 

728x90
반응형