CKA 공부 7일차

Node Selectors

  • 만약 크기가 큰 파드를 특정 노드에 배치시키고 싶은 경우 어떻게할 수 있을까?

  • 이런 경우 노드 셀렉터를 사용해볼 수 있다.

apiVersion: v1
kind: Pod
metadata:
  name: myapp
spec:
  containers:
    - name: nginx
      image: nginx
  nodeSelector:
    size: Large
  • k8s는 어떻게 노드가 Large인 것을 알 수 있을까?

  • 이는 노드에 라벨링으로 가능하다.

kubectl label nodes <node-name> <label-key>=<label-value>
kubectl label nodes node-1 size=Large

Node Affinity

  • Node Selector의 단점은 Large OR Medium 같은 표현이 불가능하다는데 있다.

  • 강한 힘에는 복잡도가 따르는 법!

  • 쓰기가 아주 까다롭다.

apiVersion: v1
kind: Pod
metadata:
  name: myapp
spec:
  containers:
    - name: nginx
      image: nginx
  aiffinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
          - matchExpressions:
              - key: size
                operator: In
                values:
                  - Large
                  - Medium
  • 위와 같이 사용하면 Large Or Medium인 노드에만 배포를 해준다.

  • operator를 NotIn으로 바꾸면 Not 오퍼레이션 기능도 제공한다.





© 2022. by minkuk

Powered by minkuk