1 minute read

일지

특이 사항 없음

오늘의 할일

  • 220602 TIL 작성
  • Kubernetes udemy 강좌 수강
  • AWS 스터디

주요 키워드

  • K8s
    • 파드 스케쥴링
      • 노드 어피니티
      • 파드 어피니티

공부 정리

어피니티(Affinity)

  • 끌림, 선호도
  • 어피니티 종류
    • 노드 어피니티
    • 파드 어피니티
    • 파드 어피니티
    • 파드 안티어피니티
노드 어피니티
  • Node Selector와 유사한 개념
  • 노드 셀렉터와의 차이점
    • 노드 셀렉터: 반드시 레이블 조건을 만족하여야 파드 배치
    • 노드 어피니티: ‘선호도’를 지정하는 개념, 선호하지 않는 경우에도 파드 배치 가능
  • 노드 어피니티 설명
    • kubectl explain pod.spec.affinity
    • kubectl explain pod.spec.affinity.nodeAffinity
  • 주의: nodeSelectorTerms, matchExpressions 조건
    • nodeSelectorTerms는 복수의 matchExpressions 조건을 포함(List)
      • : matchExpression 항목 중 하나라도 만족하면 Selector에서 파드를 배치 (OR)
    • matchExpressions는 복수의 세부 조건을 포함(key, operator, value)
      • : 각 조건 항목을 모두 만족해야 조건 성립(AND)

matchExpressions 내 operator 항목

  • Exist/DoesNotExist: 키 존재 유무 (value 항목이 필요하지 않음)
  • In / NotIn : 집합성 기반 (value 항목을 List로 입력하고, 포함여부 확인)
  • Gt(Greater Than), Lt(Less Than) : value 항목을 수치로 판단

preferredDuringSchedulingIgnoredDuringExecution 내 weight의 의미

  • 가중치
  • 1~100 사이의 수치를 지정

xxxxDuringSchedulingIgnored

  • 스케줄링 시 어피니티 설정 반영

IgnoredDuringExecution

  • 파드가 배치되어 실행된 이후에는 어피니티 설정 무시
파드 어피니티
  • 파드에 대한 선호도를 지정
  • 어피니티에 따라서 배치될 노드가 결정

  • 파드 어피니티 설명
    • kubectl explain pod.spec.affinity.podAffinity
    • kubectl explain pod.spec.affinity.podAffinity.preferredDuringSchedulingIgnoredDuringExecution
    • kubectl explain pod.spec.affinity.podAffinity.requiredDuringSchedulingIgnoredDuringExecution
  • topologyKey: 파드의 어피니티 설정에 따라 분리/결합시킬 때 기준이 되는 값
    • (참고: kubectl get nodes –show-labels)

Categories:

Updated:

Leave a comment