YongsHub / -Kubernetes-Study

스터디 레포지토리
1 stars 1 forks source link

Chapter3 - 범위: 섹션5 2024/01/14 #3

Closed himJJong closed 6 months ago

himJJong commented 6 months ago

Pod

Topic

himJJong commented 6 months ago

체크1

himJJong commented 6 months ago

체크2

himJJong commented 6 months ago

체크3

ReplicaSet

: Key, value로 더욱 디테일하게 Pod를 선택할 수 있다.


Node Affinity

: 노드에 Key를 그룹핑 단위로 부여하고, Pod를 배치하고 싶은 노드에 할당하려면 Pod에 Match Expressions 설정하면 된다.


Pod Affinity

: Pod에 Match Expressions를 부여하는 것은 2번과 같다. 하지만 Pod에서 노드의 라벨을 가리키는 것이 아니라 Match Expressions를 부여받은 Pod의 라벨과 매칭되는 조건을 찾습니다. topologyKey는 노드의 키를 보는 것인데, 즉 Match Expressions에 있는 조건의 라벨을 가진 Pod를 찾을건데 노드의 키가 topologyKey인 범위 내에서만 찾겠다는 것입니다.

YongsHub commented 6 months ago

Node Affinity

Node마다 Label이 존재함. Pod를 우리가 배치하고 싶은 Node를 선택할때, matchExpressions를 이용할 수 있음

required와preferred가 존재함. 만약, matchExpressions에 대해 required를 추가했다면 해당 조건을 만족하지 않는다면 Node를 선택하지 못함 하지만, preferred일 경우, Node를 아예 선택하지 못하는건 아니고 적절히 선택함

Pod Affinity

Node를 선택할 때, Node에 대한 match Expressions를 확인하는 것이 아니라 Node에 존재하는 Pod의 label를 확인하여 선택합니다. 하지만 topologyKey를 통해서 선택하는 Node의 범위를 지정할 수는 있음!

Taint, Toleration

Taint를 통해서 Node Scheduling에 대해서 Node를 제외시킬 수 있음 하지만, 꼭 해당 Node를 선택해야 한다면 Toleration을 통해 해당 Node를 선택할 수 있음 더해서, 이 말은 즉 다른 Node도 선택될 수 있다는 말인데, 이것을 방지하기 위해 nodeSelector옵션을 통해 Taint가 있는 node를 정확히 선택하면 됨

YongsHub commented 6 months ago

Node Affinity

Node마다 Label이 존재함. Pod를 우리가 배치하고 싶은 Node를 선택할때, matchExpressions를 이용할 수 있음

required와preferred가 존재함. 만약, matchExpressions에 대해 required를 추가했다면 해당 조건을 만족하지 않는다면 Node를 선택하지 못함 하지만, preferred일 경우, Node를 아예 선택하지 못하는건 아니고 적절히 선택함

Pod Affinity

Node를 선택할 때, Node에 대한 match Expressions를 확인하는 것이 아니라 Node에 존재하는 Pod의 label를 확인하여 선택합니다. 하지만 topologyKey를 통해서 선택하는 Node의 범위를 지정할 수는 있음!

Taint, Toleration

Taint를 통해서 Node Scheduling에 대해서 Node를 제외시킬 수 있음 하지만, 꼭 해당 Node를 선택해야 한다면 Toleration을 통해 해당 Node를 선택할 수 있음 더해서, 이 말은 즉 다른 Node도 선택될 수 있다는 말인데, 이것을 방히자기 위해 nodeSelector옵션을 통해 Taint가 있는 node를 정확히 선택하면 됨

이미 Pod가 Node를 선택하여 운영중일때, Node에 no schedule에 대한 Taint를 추가한다고 해서 영향을 받지 않음 하지만 Taint에 no execute를 달면 실행중인 Pod가 영향을 받아서 삭제됨 이것 또한 영향을 받지 않게 하려면 Pod에 Toleration을 달거나, 지정한 시간 뒤에 삭제하게 만들수도 있음

YongsHub commented 6 months ago

체크3

  • 현재까지 배운 Objects 마다의 Match Expressions 구분이 어려워서 정리해보았습니다. 혹시 제가 잘못이해하고 있는지 점검하고자 작성해보았습니다.

ReplicaSet

: Key, value로 더욱 디테일하게 Pod를 선택할 수 있다.

  • [ ReplicaSet -> Pod 선택 ]

Node Affinity

: 노드에 Key를 그룹핑 단위로 부여하고, Pod를 배치하고 싶은 노드에 할당하려면 Pod에 Match Expressions 설정하면 된다.

  • [ Pod -> Node 선택 ]

Pod Affinity

: Pod에 Match Expressions를 부여하는 것은 2번과 같다. 하지만 Pod에서 노드의 라벨을 가리키는 것이 아니라 Match Expressions를 부여받은 Pod의 라벨과 매칭되는 조건을 찾습니다. topologyKey는 노드의 키를 보는 것인데, 즉 Match Expressions에 있는 조건의 라벨을 가진 Pod를 찾을건데 노드의 키가 topologyKey인 범위 내에서만 찾겠다는 것입니다.

  • [ Pod -> Node내에 있는 Pod 선택 ]

정확하신 것 같습니다. 제가 댓글 남긴거 보고 Taint와 Toleration도 언급해주시면 좋을 것 같아요

YongsHub commented 6 months ago

체크1

  • Pod의 Lifecycle 상태와 동작 이해
  • Pod Lifecycle 강의 중 6:37~ 구간에 Job, CronJob으로 Pod를 생성하고 할 일을 마치고 컨테이너가 죽었을 때, Pod의 Failed, Succeeded 상관없이 Pod의 ContainerReady, Ready가 false 값이 설정된다는 설명이 있습니다. 이는 'Job으로 생성된 컨테이너가 종료되었기 때문에' 라고 이해했는지 궁금합니다!

네네 저도 같은 내용으로 이해했습니다

YongsHub commented 6 months ago

Node Affinity

Node마다 Label이 존재함. Pod를 우리가 배치하고 싶은 Node를 선택할때, matchExpressions를 이용할 수 있음 required와preferred가 존재함. 만약, matchExpressions에 대해 required를 추가했다면 해당 조건을 만족하지 않는다면 Node를 선택하지 못함 하지만, preferred일 경우, Node를 아예 선택하지 못하는건 아니고 적절히 선택함

Pod Affinity

Node를 선택할 때, Node에 대한 match Expressions를 확인하는 것이 아니라 Node에 존재하는 Pod의 label를 확인하여 선택합니다. 하지만 topologyKey를 통해서 선택하는 Node의 범위를 지정할 수는 있음!

Taint, Toleration

Taint를 통해서 Node Scheduling에 대해서 Node를 제외시킬 수 있음 하지만, 꼭 해당 Node를 선택해야 한다면 Toleration을 통해 해당 Node를 선택할 수 있음 더해서, 이 말은 즉 다른 Node도 선택될 수 있다는 말인데, 이것을 방히자기 위해 nodeSelector옵션을 통해 Taint가 있는 node를 정확히 선택하면 됨

이미 Pod가 Node를 선택하여 운영중일때, Node에 no schedule에 대한 Taint를 추가한다고 해서 영향을 받지 않음 하지만 Taint에 no execute를 달면 실행중인 Pod가 영향을 받아서 삭제됨 이것 또한 영향을 받지 않게 하려면 Pod에 Toleration을 달거나, 지정한 시간 뒤에 삭제하게 만들수도 있음

따라서, Master - Slave 관계의 이중화 작업을 할 때도 Pod Affinity를 통해서 Master Pod가 존재하는 Node는 선택에서 제외하도록 matchExpressions를 활용할 수 있습니다!

himJJong commented 6 months ago

넵 전부 확인했습니다. 태용님이 올려주신 내용으로 복기 완료했고, 3주차 범위 내용 이해하는데 도움되었습니다. 감사합니다 :)

YongsHub commented 6 months ago

넵 전부 확인했습니다. 태용님이 올려주신 내용으로 복기 완료했고, 3주차 범위 내용 이해하는데 도움되었습니다. 감사합니다 :)

고생하셨습니다!!