6.2. 노드 작업
관리자는 여러 작업을 수행하여 클러스터의 효율성을 높일 수 있습니다.
6.2.1. 노드에서 Pod 비우기 링크 복사링크가 클립보드에 복사되었습니다!
지정된 노드 또는 노드에서 Pod를 제거하거나 비울 수 있습니다. Pod를 비우면 모든 Pod 또는 선택한 Pod를 다른 노드로 마이그레이션할 수 있습니다.
복제 컨트롤러에서 지원하는 Pod만 비울 수 있습니다. 복제 컨트롤러는 다른 노드에서 새 Pod를 생성하고 지정된 노드에서 기존 Pod를 제거합니다.
복제 컨트롤러에서 지원하지 않는 베어 Pod는 기본적으로 영향을 받지 않습니다. Pod 선택기를 지정하여 Pod 서브 세트를 비울 수 있습니다. Pod 선택기는 라벨을 기반으로 하므로 라벨이 지정된 모든 Pod를 비웁니다.
프로세스
Pod 비우기를 수행하기 전에 노드를 예약 불가로 표시합니다.
다음 명령을 실행하여 노드를 예약 불가로 표시합니다.
$ oc adm cordon <node1>출력 예
node/<node1> cordoned다음 명령을 실행하여 노드 상태가
Ready,SchedulingDisabled인지 확인합니다.$ oc get node <node1>출력 예
NAME STATUS ROLES AGE VERSION <node1> Ready,SchedulingDisabled worker 1d v1.34.2
다음 방법 중 하나를 사용하여 Pod를 비웁니다.
oc adm drain명령을 실행하여 하나 이상의 노드에서 모든 Pod 또는 선택한 Pod를 비웁니다.$ oc adm drain <node1> <node2> [--pod-selector=<pod_selector>]oc adm drain명령과 함께--force옵션을 사용하여 베어 Pod를 강제로 삭제합니다.true로 설정하면 복제 컨트롤러, 복제본 세트, 작업, 데몬 세트 또는 상태 저장 세트에서 관리하지 않는 Pod가 있는 경우에도 계속 삭제됩니다.$ oc adm drain <node1> <node2> --force=trueoc adm drain명령과 함께--grace-period옵션을 사용하여 각 pod가 정상적으로 종료되는 시간(초)을 설정합니다. 음수인 경우 Pod에 지정된 기본값이 사용됩니다.$ oc adm drain <node1> <node2> --grace-period=-1oc adm drain명령과 함께--ignore-daemonsets=true옵션을 사용하여 데몬 세트에서 관리하는 Pod를 무시합니다.$ oc adm drain <node1> <node2> --ignore-daemonsets=trueoc adm drain명령과 함께--timeout옵션을 사용하여 포기하기 전에 대기할 시간을 설정합니다. 값이0이면 시간이 제한되지 않습니다.$ oc adm drain <node1> <node2> --timeout=5soc adm drain명령으로--delete-emptydir-data=true옵션을 설정하여emptyDir볼륨을 사용하는 Pod가 있는 경우에도 Pod를 삭제합니다. 노드가 드레이닝되면 로컬 데이터가 삭제됩니다.$ oc adm drain <node1> <node2> --delete-emptydir-data=trueoc adm drain명령과 함께--dry-run=true옵션을 사용하여 실제로 비우기를 수행하지 않고 마이그레이션할 오브젝트를 나열합니다.$ oc adm drain <node1> <node2> --dry-run=true특정 노드 이름(예: <
node1> <node2>)을 지정하는 대신oc adm drain명령에--selector=<node_selector> 옵션을 사용하여 선택한 노드에서 Pod를 비울 수 있습니다.
다음 명령을 사용하여 노드를 예약 가능으로 표시합니다.
$ oc adm uncordon <node1>