k8s

CKA 준비 (8) Node Selector

Joon0464 2022. 5. 30. 22:09

이 게시물은 아래 강의를 참고 하였습니다.
참고 강의 https://www.youtube.com/watch?v=KdATmTulf7s&list=PLApuRlvrZKojqx9-wIvWP3MPtgy2B372f&index=1 

 

 

 

 

이론) 

Node selector

- 특정 pod를 특정 node에서 실행시키기 위해 사용

- 특정 node 에 label을 설정 후 Pod 생성 정보에 nodeSelector를 설정하면 원하는 node에 Pod를 생성할 수 있음

 

문제)

작업 클러스터 : k8s

  • Schedule a pod as follows:
    • Name : eshop-store
    • Image : nginx
    • Node Selector : disktype=ssd

풀이)

검색 키워드 = node selector -> Assign Pods to Nodes | Kubernetes

$ sudo kubectl get nodes -L disktype

node의 disktype label을 확인

$ sudo kubectl run eshop-store --image=nginx --dry-run=client -o yaml > eshop.yaml
$ sudo vi eshop.yaml
apiVersion: v1
kind: Pod
metadata:
  name: eshop-store
spec:
  containers:
  - image: nginx
    name: eshop-store

 

 

- 다음 링크에서 nodeSelector yaml 확인

https://kubernetes.io/ko/docs/concepts/scheduling-eviction/assign-pod-node/

 

노드에 파드 할당하기

특정한 노드(들) 집합에서만 동작하도록 파드를 제한할 수 있다. 이를 수행하는 방법에는 여러 가지가 있으며 권장되는 접근 방식은 모두 레이블 셀렉터를 사용하여 선택을 용이하게 한다. 보통

kubernetes.io

$ sudo  vi eshop.yaml
apiVersion: v1
kind: Pod
metadata:
  name: eshop-store
spec:
  containers:
  - image: nginx
    name: eshop-store
  nodeSelector:
    disktype: ssd
:wq

 

- Pod 생성 및 확인

$ sudo kubectl create -f eshop.yaml
$ sudo kubectl get pods -o wide eshop-store

node1 에 생성된 것을 볼 수 있다.