5.6.4. 노드를 정상적으로 재부팅
노드를 재부팅하기 전에 노드에서 데이터 손실을 방지하기 위해 etcd 데이터를 백업하는 것이 좋습니다.
절차
노드를 정상적으로 다시 시작하려면 다음을 수행합니다.
노드를 예약 불가능으로 표시합니다.
$ oc adm cordon <node1>
노드를 드레이닝하여 실행 중인 모든 Pod를 제거합니다.
$ oc adm drain <node1> --ignore-daemonsets --delete-emptydir-data
사용자 정의 PDB(Pod 중단 예산)와 연결된 Pod를 제거할 수 없는 오류가 표시될 수 있습니다.
오류 예
error when evicting pods/"rails-postgresql-example-1-72v2w" -n "rails" (will retry after 5s): Cannot evict pod as it would violate the pod's disruption budget.
이 경우 drain 명령을 다시 실행하여 PDB 검사를 바이패스하는
disable-eviction
플래그를 추가합니다.$ oc adm drain <node1> --ignore-daemonsets --delete-emptydir-data --force --disable-eviction
디버그 모드에서 노드에 액세스합니다.
$ oc debug node/<node1>
루트 디렉터리를 호스트로 변경하십시오.
$ chroot /host
노드를 재시작합니다.
$ systemctl reboot
잠시 후 노드는
NotReady
상태가 됩니다.재부팅이 완료되면 다음 명령을 실행하여 노드를 예약 가능으로 표시합니다.
$ oc adm uncordon <node1>
노드가 준비되었는지 확인합니다.
$ oc get node <node1>
출력 예
NAME STATUS ROLES AGE VERSION <node1> Ready worker 6d22h v1.18.3+b0068a8
추가 정보
etcd 데이터 백업에 대한 자세한 내용은 etcd 데이터 백업을 참조하십시오.