2.9. 노드에서 Pod 비우기
Pod를 비우면 지정된 노드에서 모든 Pod 또는 선택한 Pod를 마이그레이션할 수 있습니다. Pod 비우기를 수행하려면 먼저 노드를 예약할 수 없음으로 표시되어야 합니다.
복제 컨트롤러에서 지원하는 포드만 비울 수 있습니다. 복제 컨트롤러는 다른 노드에 새 포드를 생성하고 지정된 노드에서 기존 포드를 제거합니다. 복제 컨트롤러에서 지원하지 않는 베어 Pod는 기본적으로 영향을 받지 않습니다. Pod 선택기를 지정하여 Pod의 하위 집합을 비울 수 있습니다. 포드 선택기는 라벨을 기반으로 하므로 지정된 레이블이 있는 모든 Pod가 비어 있습니다.
노드에서 모든 Pod 또는 선택한 Pod를 비우려면 다음을 수행합니다.
$ oc adm drain <node> [--pod-selector=<pod_selector>]
--force
옵션을 사용하여 베어 Pod를 강제로 삭제할 수 있습니다. true
로 설정하면 복제 컨트롤러, ReplicaSet, 작업, daemonset 또는 StatefulSet에서 관리하지 않는 Pod가 있는 경우에도 삭제가 계속됩니다.
$ oc adm drain <node> --force=true
--grace-period
를 사용하여 각 포드가 정상적으로 종료될 수 있는 기간(초)을 설정할 수 있습니다. 음수인 경우 Pod에 지정된 기본값이 사용됩니다.
$ oc adm drain <node> --grace-period=-1
--ignore-daemonsets를 사용하여 daemonset-
managed Pod를 무시하도록 true
로 설정할 수 있습니다.
$ oc adm drain <node> --ignore-daemonsets=true
--timeout
을 사용하여 포기하기 전에 대기하는 시간을 설정할 수 있습니다. 값이 0
이면 시간이 제한되지 않습니다.
$ oc adm drain <node> --timeout=5s
emptyDir(노드 드레이닝 시 삭제되는 로컬 데이터)을 사용하는 Pod가 있는 경우에도 --delete-local-data
를 사용하여 삭제를 계속하도록 true
로 설정할 수 있습니다.
$ oc adm drain <node> --delete-local-data=true
실제로 비우기를 수행하지 않고 마이그레이션할 오브젝트를 나열하려면 --dry-run
옵션을 사용하여 true
로 설정합니다.
$ oc adm drain <node> --dry-run=true
특정 노드 이름을 지정하는 대신 --selector=<node_selector>
옵션을 사용하여 선택기와 일치하는 노드에서 Pod를 비울 수 있습니다.