5.3. 노드를 유지보수 모드로 설정
NodeMaintenance CR을 사용하여 웹 콘솔 또는 CLI에서 노드를 유지보수 모드에 배치할 수 있습니다.
5.3.1. 웹 콘솔을 사용하여 노드를 유지보수 모드로 설정
노드를 유지보수 모드로 설정하려면 웹 콘솔을 사용하여 NodeMaintenance CR(사용자 정의 리소스)을 생성할 수 있습니다.
사전 요구 사항
-
cluster-admin권한이 있는 사용자로 로그인합니다. - OperatorHub 에서 Node Maintenance Operator를 설치합니다.
절차
- 웹 콘솔의 관리자 화면에서 Operator → 설치된 Operator 로 이동합니다.
- Operator 목록에서 Node Maintenance Operator를 선택합니다.
- Node Maintenance 탭에서 NodeMaintenance 생성을 클릭합니다.
-
NodeMaintenance 생성 페이지에서 양식 보기 또는 YAML 보기 를 선택하여
NodeMaintenanceCR을 구성합니다. -
구성한
NodeMaintenanceCR을 적용하려면 생성을 클릭합니다.
검증
Node Maintenance 탭에서 Status 열을 검사하고 해당 상태가 Succeeded 인지 확인합니다.
5.3.2. CLI를 사용하여 노드를 유지보수 모드로 설정
NodeMaintenance CR(사용자 정의 리소스)을 사용하여 노드를 유지관리 모드에 배치할 수 있습니다. NodeMaintenance CR을 적용하면 허용되는 모든 Pod가 제거되고 노드가 예약되지 않습니다. 제거된 Pod는 클러스터의 다른 노드로 이동하기 위해 대기열에 있습니다.
사전 요구 사항
-
Red Hat OpenShift CLI
oc를 설치합니다. -
cluster-admin권한이 있는 사용자로 클러스터에 로그인합니다.
절차
다음
NodeMaintenanceCR을 생성하고 파일을nodemaintenance-cr.yaml로 저장합니다.apiVersion: nodemaintenance.medik8s.io/v1beta1 kind: NodeMaintenance metadata: name: nodemaintenance-cr 1 spec: nodeName: node-1.example.com 2 reason: "NIC replacement" 3
다음 명령을 실행하여 노드 유지보수 CR을 적용합니다.
$ oc apply -f nodemaintenance-cr.yaml
검증
다음 명령을 실행하여 유지 관리 작업의 진행 상황을 확인합니다.
$ oc describe node <node-name>
여기서
<node-name>은 노드의 이름입니다(예:node-1.example.com).예제 출력을 확인합니다.
Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal NodeNotSchedulable 61m kubelet Node node-1.example.com status is now: NodeNotSchedulable
5.3.3. 현재 NodeMaintenance CR 작업의 상태 확인
현재 NodeMaintenance CR 작업의 상태를 확인할 수 있습니다.
사전 요구 사항
-
Red Hat OpenShift CLI
oc를 설치합니다. -
cluster-admin권한이 있는 사용자로 로그인합니다.
절차
다음 명령을 실행하여 현재 노드 유지관리 작업의 상태를 확인합니다(예:
NodeMaintenanceCR 또는nm오브젝트).$ oc get nm -o yaml
출력 예
apiVersion: v1 items: - apiVersion: nodemaintenance.medik8s.io/v1beta1 kind: NodeMaintenance metadata: ... spec: nodeName: node-1.example.com reason: Node maintenance status: drainProgress: 100 1 evictionPods: 3 2 lastError: "Last failure message" 3 lastUpdate: "2022-06-23T11:43:18Z" 4 phase: Succeeded totalpods: 5 5 ...