운영 체제 미설치 컴퓨터의 수명 주기 관리
이 문서에서는 BMM(운영 체제 미설치 컴퓨터)에서 수명 주기 관리 작업을 수행하는 방법을 설명합니다. 이러한 단계는 오류에서 복구하거나 유지 관리 작업을 수행할 때 문제 해결 목적으로 사용해야 합니다. BMM의 수명 주기를 관리하는 명령은 다음과 같습니다.
주의
Microsoft 지원 담당자와 먼저 상의하지 않고 관리 서버에 대해 어떠한 작업도 수행하지 마세요. 그렇지 않으면 Operator Nexus Cluster의 무결성에 영향을 줄 수 있습니다.
- BMM 전원 끄기
- BMM 시작
- BMM 다시 시작
- BMM을 예약할 수 없도록 만들기(대피하지 않는 코돈)
- BMM을 예약할 수 없도록 만들기(대피가 있는 코돈)
- BMM을 예약할 수 있도록 설정(uncordon)
- BMM 이미지 다시 설치
- BMM 바꾸기
Important
다른 KCP 노드에 대해 이미 실행 중인 다른 중단 작업 명령이 있거나 전체 KCP를 사용할 수 없는 경우 KCP(Kubernetes 컨트롤 플레인) 노드에 대한 중단 명령 요청이 거부됩니다. 이 검사는 Nexus 인스턴스의 무결성을 유지하고 동시에 중단 작업으로 인해 여러 KCP 노드가 한 번에 작동하지 않도록 하기 위해 수행됩니다. 여러 노드가 작동하지 않으면 Kubernetes 컨트롤 플레인의 정상 쿼럼 임계값이 무너지게 됩니다.
위 목록에서 굵게 표시된 작업은 중단을 일으키는 것으로 간주됩니다(전원 끄기, 다시 시작, 이미지 다시 설치, 바꾸기). 대피하지 않는 차단은 파괴적인 것으로 간주되지 않습니다. 대피 차단은 파괴적인 것으로 간주됩니다.
주의 사항에 명시된 대로 관리 서버, 특히 KCP 노드에 대한 작업 실행은 Microsoft 지원 담당자와 상의한 후에만 수행해야 합니다.
필수 조건
- 적절한 Azure CLI 확장의 최신 버전을 설치합니다.
- BMM - 클러스터 관리되는 리소스 그룹 이름(cluster_MRG) 에 대한 리소스 그룹 이름을 가져옵니다.
- 수명 주기 관리 작업이 필요한 운영 체제 미설치 컴퓨터의 이름을 가져옵니다.
- 대상 운영 체제 미설치 컴퓨터
poweredState
가On
으로,readyState
가True
로 설정되어 있는지 확인합니다.- 이 필수 조건은
start
명령에 적용되지 않습니다.
- 이 필수 조건은
BMM 전원 끄기
이 명령은 지정된 bareMetalMachineName
을 power-off
합니다.
az networkcloud baremetalmachine power-off \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
BMM 시작
이 명령은 지정된 bareMetalMachineName
을 start
합니다.
az networkcloud baremetalmachine start \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
BMM 다시 시작
이 명령은 지정된 bareMetalMachineName
을 restart
합니다.
az networkcloud baremetalmachine restart \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
BMM을 예약할 수 없도록 설정(cordon)
현재 BMM에서 실행 중인 워크로드가 있는지 확인하려면 다음 명령을 실행합니다.
Virtual Machines의 경우:
az networkcloud baremetalmachine show -n <nodeName> /
--resource-group <resourceGroup> /
--subscription <subscriptionID> | jq '.virtualMachinesAssociatedIds'
Nexus Kubernetes 클러스터 노드의 경우: (Nexus Kubernetes 클러스터에 로그인해야 합니다.)
kubectl get nodes <resourceName> -ojson |jq '.metadata.labels."topology.kubernetes.io/baremetalmachine"'
cordon
명령을 실행하여 BMM을 예약할 수 없도록 만들 수 있습니다.
cordon
명령 실행 시 연산자 Nexus 워크로드는 차단선이 설정된 경우 BMM에서 예약되지 않습니다. cordoned
BMM에서 워크로드를 만들려고 하면 워크로드가 pending
상태로 설정됩니다. 기존 워크로드는 계속 실행됩니다.
cordon 명령은 기본값 False
가 있는 evacuate
매개 변수를 지원합니다.
이를 True
.로 설정하는 것이 가장 좋습니다. evacuate
매개 변수에 True
값을 사용하여 cordon
명령을 실행할 때 BMM에서 실행되는 워크로드는 stopped
이고 BMM은 pending
상태로 설정됩니다.
az networkcloud baremetalmachine cordon \
--evacuate "True" \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
evacuate "True"
는 해당 노드에서 워크로드를 제거하지만 evacuate "False"
는 새 워크로드의 예약만 방지합니다.
BMM을 "예약할 수 있도록" 설정(uncordon)
uncordon
명령을 실행하여 BMM을 "예약 가능"(사용 가능)하게 만들 수 있습니다. BMM에서 pending
상태의 모든 워크로드는 BMM이 uncordoned
일 때 restarted
입니다.
az networkcloud baremetalmachine uncordon \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
BMM 이미지로 다시 설치
reimage
명령을 실행하여 BMM에서 런타임 버전을 복원할 수 있습니다. 이 프로세스는 대상 BMM에서 런타임 이미지를 재배포하고 동일한 식별자를 사용하여 클러스터를 다시 조인하는 단계를 실행합니다. 이 작업은 이 BMM의 테넌트 워크로드 파일에 영향을 주지 않습니다. BMM 액세스를 통해 노드에서 쓰기 또는 편집 작업이 수행되는 경우 Microsoft 지원을 복원하려면 이 '이미지로 다시 설치' 작업이 필요하며 변경 내용은 손실되어 노드를 예상 상태로 복원합니다.
가장 좋은 방법은 reimage
명령을 실행하기 전에 cordon
명령과 evacuate "True"
를 함께 사용하여 BMM의 워크로드를 드레이닝하는 것입니다.
Warning
동시에 두 개 이상의 baremetalmachine replace
또는 reimage
명령을 실행하거나 replace
를 reimage
와 동시에 실행하면 서버가 작동하지 않는 상태가 됩니다. 다른 작업을 시작하기 전에 하나의 replace
/reimage
가 완전히 완료되었는지 확인합니다.
az networkcloud baremetalmachine reimage \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--subscription <subscriptionID>
BMM 바꾸기
서버에서 전체 또는 부분 하드웨어 대체가 필요한 하드웨어 문제가 발생하면 replace
명령을 사용합니다. 마더보드 또는 NIC(네트워크 인터페이스 카드) 대체와 같은 구성 요소를 바꾼 후 BMM의 MAC 주소는 변경되지만 iDRAC IP 주소와 호스트 이름은 동일하게 유지됩니다.
Warning
동시에 두 개 이상의 baremetalmachine replace
또는 reimage
명령을 실행하거나 replace
를 reimage
와 동시에 실행하면 서버가 작동하지 않는 상태가 됩니다. 다른 작업을 시작하기 전에 하나의 replace
/reimage
가 완전히 완료되었는지 확인합니다.
az networkcloud baremetalmachine replace \
--name <BareMetalMachineName> \
--resource-group <resourceGroup> \
--bmc-credentials password=<IDRAC_PASSWORD> username=<IDRAC_USER> \
--bmc-mac-address <IDRAC_MAC> \
--boot-mac-address <PXE_MAC> \
--machine-name <OS_HOSTNAME> \
--serial-number <SERIAL_NUMBER> \
--subscription <subscriptionID>