반응형
Node 관리
cordon : 특정 노드의 스케줄링 중단
- kubectl cordon <NODE_NAME>
uncordon : 특정 노드의 스케줄링 중단 해제(허용)
- kubectl uncordon <NODE_NAME>
drain : 특정 node 에서 실행중인 pod 비우기(drain) 및 제거(delete)
- kubectl drain <NODE_NAME> --ignore-daemonsets –force
Node 정보보기
Node Taint와 Pod toleration
- worker node에 taint가 설정된 경우 동일한 값의 toleration이 있는 Pod만 배치
- toleration이 있는 Pod는 동일한 taint가 있는 Node를 포함하여 모든 노드에 배치됨.
- **taint가 없는 노드도 배치될 수 있음
- Effect 필드 종류
- NoSchedule : toleration이 맞지않으면 배치 안됨.
- PreferNoSchedule : toleration이 맞지 않으면 배치되지 않으나, 클러스터 리소스가 부족하면 배치됨.
- NoExecute : toleration이 맞으면 동작중인 pod 종료
반응형
Pod Scheduling
Worker노드에 할당한 label을 이용하여 pod 배치할 노드를 선택
- kubectl label nodes <NODE_NAME> <LABEL_KEY>=<LABEL_VALUE>
노드에 레이블 할당
kubectl label nodes <NODE_NAME> <LABEL_KEY>=<LABEL_VALUE>
# 예
kubectl label nodes node1.example.com gpu=true
파드 생성
apiVersion: v1
kind: Pod
metadata:
name: web
spec:
containers:
- image: nginx:1.14
name: web
ports:
- containerPort: 80
nodeSelector:
gpu: "true"
끝.
Thank you!
반응형
'Tools > Kubernetes' 카테고리의 다른 글
[CKA 도전 시리즈] 10. Service ClusterIP (0) | 2023.02.07 |
---|---|
[CKA 도전 시리즈] 9. Configmap / Secret (0) | 2023.01.26 |
[CKA 도전 시리즈] 7. Deployment (0) | 2023.01.19 |
[CKA 도전 시리즈] 6. Pod (0) | 2023.01.17 |
[CKA 도전 시리즈] 5. RBAC 인증 (1) | 2023.01.13 |