오픈시프트 포드 내성과 관련된 질문이 있습니다.
설명서에 따르면 허용 오차는 pod. Spec
배포/배포 구성에 정의되어 있습니다.
시나리오는 다음과 같습니다. 3개의 마스터 노드에는 다음과 같은 오염이 있고 다른 노드는 없습니다.
oc adm taint node master01 want=food:NoSchedule
oc adm taint node master02 want=drink:NoSchedule
oc adm taint node master03 want=money:NoSchedule
간단한 hello-world 애플리케이션을 배포한 후 포드에 허용 오차가 없기 때문에 포드가 일시 중지 상태에 갇히는 것은 놀라운 일이 아닙니다.
Name READY STATUS RESTARTS AGE
hello-world-1-build 0/1 Pending 0 5s
이제 모든 오염을 허용하는 허용오차를 추가하세요.hello-world-1-build
tolerations:
- operator: Exists
이제 빌드가 실행 중이지만 빌드 포드에 대한 허용 오차만 추가했기 때문에 애플리케이션 포드는 여전히 보류 중입니다.
hello-world 포드에 동일한 허용 오차를 추가하면 상태가 실행 중으로 변경되지만, 포드를 10개로 확장하려면 포드 10개 모두에 허용 오차를 수동으로 추가해야 합니다.
노드 오염을 제거하지 않고 더 좋은 방법이 있습니까?