250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- POD
- 파이썬
- 텐서플로우
- Tkinter
- yaml
- numpy
- Django
- GUI
- 데이터베이스
- Web Programming
- 파이토치
- kubernetes
- MariaDB
- 장고
- 그래픽 유저 인터페이스
- Computer Vision
- tensorflow
- vue.js
- FLASK
- Docker
- 웹 프로그래밍
- 딥러닝
- Deep Learning
- k8s
- Python
- 컴퓨터 비전
- pytorch
- OpenCV
- 논문 리뷰
- paper review
Archives
- Today
- Total
Maxima's Lab
[Kubernetes] Node Selector 개념 및 예제 코드 본문
728x90
SMALL
안녕하세요, 오늘은 Node Selector 개념에 대해서 알아보고 예제 코드를 적용해보겠습니다.
https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector
Node Selector 란?
: 노드에 할당된 라벨을 기반으로 파드를 특정 노드에만 스케줄링하도록 제한합니다
Node Selector는 Node에 할당된 Label과 Pod Spec에 정의된 Node Selector를 매칭하여 작동하며, Node가 Pod의 Node Selector 요구사항을 충족하는 라벨을 가지고 있으면 해당 파드를 해당 노드에 스케줄링할 수 있습니다.
다음은 Node Selector를 적용하는 YAML 파일 예시입니다.
아래 예시는 특정 Node에 SSD Storage에 대한 Label을 부여하고, Pod Spec을 통해 Node Selector을 정의하여 매칭합니다.
kubectl label nodes <노드 이름> disktype=ssd
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
spec:
containers:
- name: nginx
image: nginx
nodeSelector:
disktype: ssd
위의 YAML 파일을 통해 실행된 결과는 disktype=ssd 라벨을 가진 노드에서만 스케줄링 됩니다.
Node Selector 사용의 장점은 다음과 같습니다.
- 단순성: Node Selector는 사용법이 간단하고 이해하기 쉬워, 간단한 스케줄링 요구사항에 적합
- 제어: 노드 라벨을 기반으로 파드 배치를 제어하는 명확한 방법을 제공
- 자원 관리: Node Selector를 사용하여 특정 자원을 가진 노드에 워크로드를 효과적으로 배치 가능
Node Selector의 한계는 다음과 같습니다.
- 제한된 유연성: Node Selector는 라벨의 정확한 매칭만 지원하며, 더 복잡한 매칭 규칙이나 표현을 지원X
- 소프트 제약 없음: Node Selector는 선호도나 소프트 제약 조건을 지원하지 않습니다. 모든 지정된 제약 조건이 충족되어야만 파드를 스케줄링 가능
더 복잡한 Scheduling을 위해서는 Node Affinity 를 사용하면 됩니다.
지금까지, Node Selector의 개념과 예제 코드에 대해서 알아보았습니다.
감사드립니다.
728x90
LIST
'Kubernetes' 카테고리의 다른 글
[Kubernetes] Pod Scheduling (Taints & Tolerations) 개념 및 예제 코드 (0) | 2024.06.13 |
---|---|
[Kubernetes] YAML 파일 내 Object kind (k8s 객체 유형) (0) | 2024.06.09 |
[Kubernetes] Rancher Desktop 설치 방법 (Ubuntu) (0) | 2024.05.22 |
[Kubernetes] Flask 애플리케이션을 Kubernetes 클러스터 배포하는 방법 (0) | 2024.03.03 |
[Kubernetes] kubectl 개념 및 사용 방법 (create, apply, get, edit, scale 등) (0) | 2024.03.02 |
Comments