서론
Kubernetes에는 특정 노드에 특정 pod를 띄울 수 있도록 설정할 수 있습니다.
taint와 tolerations, nodeAffinitiy, podAffinity등이 있지만 이번에는 NodeSelector를 사용하여 특정 노드에 pod를 배포하는 방법을 알아보도록 하겠습니다.
반응형
Node Label 설정하기
우선 노드 or 노드 그룹에 label을 설정해야합니다.
EKS 노드그룹에 label을 설정하는 방법은 콘솔에서 노드그룹을 클릭하여 편집으로 들어가서 설정할수도 있고,
아래 cli로도 설정이 가능합니다.
https://docs.aws.amazon.com/cli/latest/reference/eks/update-nodegroup-config.html
NodeSelector 설정하기
Deployment로 예를 들어보겠습니다.
apiVersion: apps/v1
kind: Deployment
metadata:
name: test-app
labels:
app: test-app
spec:
replicas: 1
selector:
matchLabels:
app: test-app
template:
metadata:
labels:
app: test-app
spec:
containers:
- name: test-app
image: test-image:latest
imagePullPolicy: Always
ports:
- containerPort: 8080
nodeSelector:
test: testValue
NodeSelector에 test라는 키와 testValue라는 값을 설정했습니다.
위 label에서 똑같이 키가 test이고 값이 testValue라는 label을 설정했다면 해당 노드 or 노드그룹에 test-app pod가 배포될 것 입니다.
반응형
'AWS' 카테고리의 다른 글
AWS Batch Job Queue Blocked 상태 처리 하기 (EventBridge) (0) | 2024.06.21 |
---|---|
AWS Batch - EventBridge를 이용한 상태 변경 처리 하기 (0) | 2024.06.17 |
AWS EKS tolerations, taints의 정의, 설정하기 (0) | 2024.02.05 |
AWS Batch와 EKS(k8s)를 사용하여 배치를 돌려보자 (0) | 2024.01.29 |
[AWS] SageMaker AutoScaling 자동화 (0) | 2023.08.07 |