K8s 톨러레이션

(Tolerations에서 넘어옴)

1 개요[ | ]

k8s tolerations
k8s 톨러레이션, 쿠버네티스 Toleration
  • 세 가지 필수 속성: 키(key), 값(value), 효과(effect)로 구성된 코어 오브젝트
  • 톨러레이션은 매칭되는 테인트(taints)를 가진 노드나 노드 그룹에 파드가 스케줄링되는 것을 활성화한다.
  • 톨러레이션 및 테인트는 함께 작동하며, 파드가 적절하지 못한 노드에 스케줄되는 것을 방지한다.
  • 하나 이상의 톨러레이션이 파드에 적용될 수 있다.
  • 톨러레이션은 매칭되는 테인트를 가진 노드나 노드 그룹에 파드가 스케줄링되는 것을 허용(그러나 필수는 아님)하도록 표시한다.
spec:
  nodeSelector:
    node-role.kubernetes.io/master: ""
  tolerations:
  - effect: NoSchedule
    operator: Exists
spec:
  nodeSelector:
    node-role.kubernetes.io/master: ""
  tolerations:
  - effect: NoSchedule
    key: node-role.kubernetes.io/master

2 Pod 예시[ | ]

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    env: test
spec:
  containers:
  - name: nginx
    image: nginx
  tolerations:
  - key: "example-key"
    operator: "Exists"
    effect: "NoSchedule"
# https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/#concepts

3 Deployment 예시[ | ]

apiVersion: apps/v1 
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 10
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx
      tolerations:
      - effect: NoSchedule
        operator: Exists
# https://github.com/infracloudio/kubernetes-scheduling-examples/blob/1531d18c402d82a47415d08f99c6c60f4c2f7608/taints/deployment-toleration.yaml

4 같이 보기[ | ]

5 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}