인프라/시스템 구축

[ EKS ] NodeSelector 설정

김붕어87 2023. 4. 3. 13:57
반응형
개요
NodeSelector 이란?
특정 노드에 pod가 배포되도록 설정할 수 있습니다.

ex)
application 서비스 pod은 application 노드에 배포되도록 설정
infra 서비스 pod은 infra 노드에 배포되도록 설정
infra 서비스 pod가 resource를 많이 사용해도 infra 노드에만 영향이 가고 application 노드에는 문제가 없다.
SSD 장착된 application 노드에는 application pod만 올라가도록 배포할 수 있다.

 

 

[ NodeSelector 설정 ]

  • pod에 nodeselector 설정해서 특정 노드에만 배포되도록 설정 할 수 있다.

 

pod 설정

  • nodeSelector 옵션
    • key : nodegroupname
    • value : infra-ng
    • "nodegroupname: infra-ng" labels을 가지고 있는 노드에 pod 배포
vi php-apache.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: php-apache
spec:
  selector:
    matchLabels:
      run: php-apache
  replicas: 3
  template:
    metadata:
      labels:
        run: php-apache
    spec:
      containers:
      - name: php-apache
        image: registry.k8s.io/hpa-example
        ports:
        - containerPort: 80
  nodeSelector:
    nodegroupname: infra-ng
        
kubectl apply -f php-apache.yaml -n dw

 

 

특이사항 

  • nodeSelector에 설정한 "key: value"에 해당하는 노드가 없으면 배포할 node가 없다고 pending 상태가됩니다.

 

 

 

 

 

 

 

 

반응형

'인프라 > 시스템 구축' 카테고리의 다른 글

[ EKS ] Limit, Request 설정  (0) 2023.04.04
[ EKS ] drain, cordon  (0) 2023.04.04
[ EKS ] taint, toleration 설정  (0) 2023.04.03
[ EKS ] EBS -> EFS 볼륨 변경  (0) 2023.03.31
[ EKS ] EFS - (PV,PVC,POD) 설치  (0) 2023.03.31