가상화 서비스 클러스터 관리
Virtual Private Cloud 4.21 and later Bare metal worker nodes only RHCOS only
OpenShift 가상화 서비스 클러스터를 관리하는 방법을 알아보세요. 여기에는 사전 구성된 구성 요소 사용, 워커 노드 관리, 유지 관리 작업 수행 등이 포함됩니다.
관리 대상 구성 요소 이해
가상화 서비스 클러스터에는 표준 OpenShift 클러스터와는 다른 방식으로 관리되는 여러 사전 구성된 구성 요소가 포함되어 있습니다.
핵심 구성 요소 (비활성화할 수 없음)
다음 구성 요소는 가상화 서비스에 필수적이며 비활성화할 수 없습니다:
- OpenShift 가상화 추가 기능
openshift-virtualization애드온은 모든 Virtualization Service 클러스터에서 자동으로 활성화되며, 비활성화할 수 없습니다. 이 애드온은 ‘ OpenShift ’ 가상화, NMState 및 ‘ Node ’ 유지 관리 운영자의 설치 및 업데이트를 관리합니다. 자세한 내용은 ‘ OpenShift 가상화 추가 기능 관리’를 참조하십시오.- OpenShift Virtualization 오퍼레이터
- 가상 머신 관리 기능을 제공합니다. 이 연산자는 애드온에 의해 자동으로 설치되며, 클러스터 수명 주기의 일환으로 업데이트됩니다. Red Hat ( OperatorHub )에서 설치가 차단되었습니다.
- NMState 운영자
- 가상 머신 및 노드의 네트워크 구성을 관리합니다. 이 연산자는 애드온에 의해 자동으로 설치됩니다.
- Node 유지보수 담당자
- 가상 머신 워크로드에 대한 노드 유지 관리 작업을 처리합니다. 이 연산자는 애드온에 의해 자동으로 설치됩니다.
- OpenShift 데이터 기반 (ODF)
- VM 디스크를 위한 저장 공간을 제공하며 라이브 마이그레이션을 지원합니다. ODF는 베어 메탈 노드에서 로컬 NVMe 스토리지를 사용하도록 사전 구성되어 있습니다.
관리형 애드온 보기
클러스터에 있는 모든 애드온을 나열합니다:
ibmcloud ks cluster addon ls --cluster CLUSTER_NAME
출력 예:
Name Version Health State Health Status
ibm-storage-operator 1.0 normal Addon Ready. For more info: http://ibm.biz/addon-state (H1500)
openshift-virtualization 4.21 normal Addon Ready. For more info: http://ibm.biz/addon-state (H1500)
openshift-virtualization 애드온은 가상화 서비스 클러스터에서 자동으로 활성화되며 비활성화할 수 없습니다.
OpenShift 가상화 애드온의 세부 정보 확인, 버전 확인 및 업데이트를 포함한 관리 방법에 대한 자세한 내용은 ‘ OpenShift 가상화 애드온 관리’를 참조하십시오.
워커 노드 관리
워커 노드 보기
클러스터에 있는 모든 워커 노드를 나열하려면:
ibmcloud ks workers --cluster CLUSTER_NAME
또는 OpenShift CLI를 사용하세요:
oc get nodes
작업자 노드 추가
기존 워커 풀에 워커 노드를 추가하려면:
ibmcloud ks worker-pool resize --cluster CLUSTER_NAME \
--worker-pool default \
--size-per-zone NUMBER_OF_WORKERS
가상화 서비스 클러스터의 모든 워커 노드는 지원되는 베어 메탈 플레버를 사용해야 합니다.
워커 노드 교체
워커 노드 교체:
ibmcloud ks worker replace --cluster CLUSTER_NAME --worker WORKER_ID
대체 작업자에게는 원래 작업자와 동일한 구성이 적용됩니다.
워커 노드 재시작
워커 노드를 재시작하기 전에, ‘ Node ’ 유지보수 운영자를 사용하여 해당 노드를 유지보수 모드로 전환하거나, 실행 중인 VM을 다른 노드로 마이그레이션하십시오. 자세한 내용은 ‘노드 유지보수 모드 설정 ’ 및 ‘VM 라이브 마이그레이션’을 참조하십시오.
업데이트를 적용하거나 문제를 해결하기 위해 워커 노드를 재시작하려면:
ibmcloud ks worker reload --cluster CLUSTER_NAME --worker WORKER_ID
인력 풀 관리
작업자 풀 보기
ibmcloud ks worker-pool ls --cluster CLUSTER_NAME
추가 작업자 풀 생성
다른 베어 메탈 유형으로 새로운 워커 풀을 생성합니다:
ibmcloud ks worker-pool create vpc-gen2 \
--name POOL_NAME \
--cluster CLUSTER_NAME \
--flavor BARE_METAL_FLAVOR \
--size-per-zone NUMBER_OF_WORKERS
가상화 서비스 클러스터 내의 모든 워커 풀은 ‘ openshift-vs ’ 서비스를 지원하는 베어 메탈 플레버를 사용해야 합니다.
워커 풀에 영역 추가하기
기존 워커 풀에 구역을 추가하려면:
ibmcloud ks zone add vpc-gen2 \
--cluster CLUSTER_NAME \
--zone ZONE \
--subnet-id SUBNET_ID \
--worker-pool POOL_NAME
클러스터 업데이트
업데이트 확인
클러스터에 사용 가능한 업데이트가 있는지 확인하세요:
ibmcloud ks cluster get --cluster CLUSTER_NAME | grep "Master Version"
사용 가능한 버전 보기:
ibmcloud ks versions --show-version openshift
클러스터 마스터 업데이트
클러스터 마스터를 새 버전으로 업데이트하려면:
ibmcloud ks cluster master update --cluster CLUSTER_NAME --version VERSION
마스터 업데이트는 보통 30~60분 정도 소요됩니다. 이 기간 동안 Kubernetes API나 OpenShift 콘솔에 접속할 수 없습니다.
작업자 노드 업데이트
마스터를 업데이트한 후, 워커 노드를 업데이트하십시오:
ibmcloud ks worker update --cluster CLUSTER_NAME --worker WORKER_ID
또는 워커 풀에 속한 모든 워커를 업데이트하려면:
ibmcloud ks worker-pool update --cluster CLUSTER_NAME --worker-pool POOL_NAME
워커 노드를 업데이트하기 전에, ‘ Node ’ 유지보수 운영자를 사용하여 각 노드를 유지보수 모드로 전환하거나, 실행 중인 VM을 다른 노드로 마이그레이션하십시오. 자세한 내용은 ‘노드 유지보수 모드 설정 ’ 및 ‘VM 라이브 마이그레이션’을 참조하십시오.
클러스터 상태 모니터링
클러스터 상태 확인
ibmcloud ks cluster get --cluster CLUSTER_NAME
다음을 찾으십시오.
- 상태: ~이어야 함
normal - 마스터 상태: ~여야 함
Ready - 마스터 헬스: ~이어야 한다
normal
구성 요소 상태 모니터링
OpenShift 가상화 상태 확인:
oc get hyperconverged -n openshift-cnv
ODF 상태 확인:
oc get storagecluster -n openshift-storage
클러스터 로그 확인
클러스터 활동 보기:
ibmcloud ks cluster get --cluster CLUSTER_NAME --show-resources
자세한 로깅을 위해 IBM Log Analysis 을 구성하십시오. 클러스터에 대한 로깅을 참조하십시오.
가상 머신 관리
가상 머신 보기
클러스터에 있는 모든 VM 나열:
oc get vms -A
특정 네임스페이스의 VM 보기:
oc get vms -n NAMESPACE
노드를 유지보수 상태로 전환하기
베어 메탈 워커 노드를 업데이트, 재로딩 또는 교체하는 등의 유지보수 작업을 수행하기 전에 해당 노드를 유지보수 모드로 전환하십시오. Node 유지보수 운영자는 노드를 격리하고, 워크로드를 중단시키지 않은 상태에서 모든 대상 가상 머신 워크로드를 동일한 구역 내의 다른 노드로 자동으로 제거하거나 라이브 마이그레이션합니다.
클러스터에서 OpenShift Data Foundation(ODF)을 사용하는 경우, ODF 스토리지 구성 요소를 실행하는 노드는 이 절차 대신 ODF 업그레이드 및 유지 관리 절차를 따라야 합니다. 자세한 정보는 OpenShift Data Foundation 이해를 참조하십시오.
웹 콘솔에서 노드 유지 관리 시작
Red Hat OpenShift 웹 콘솔에서 직접 노드 유지 관리를 시작할 수 있습니다.
- OpenShift 웹 콘솔의 관리자 뷰에서 ‘Compute > Nodes ’로 이동합니다.
- 유지보수를 수행할 베어 메탈 워커 노드를 찾으십시오.
- 해당 노드의 작업 메뉴(세로로 나란히 놓인 점 세 개)를 클릭한 다음 ‘유지보수 시작’을 선택하세요.
- 확인 대화 상자에서 유지 관리 설정을 검토한 후 ‘시작’을 클릭하십시오.
- 노드 상태가 ‘
Scheduling disabled’로 표시되는지, 그리고 작업 메뉴에 ‘Start maintenance ’ 대신 ‘Stop maintenance’가 표시되는지 확인하십시오. 모든 VM 인스턴스가 사용 가능한 다른 노드로 마이그레이션될 때까지 기다린 후, 노드 수준 작업(예:ibmcloud ks worker reload또는ibmcloud ks worker update)을 진행하십시오. - 유지 관리 작업이 완료되고 노드의 상태가 정상으로 돌아오면, ‘Compute > Nodes ’로 돌아가 해당 노드의 작업 메뉴를 클릭한 다음 ‘유지 관리 중지’를 선택하십시오.
CLI에서 노드 유지 관리 시작하기
NodeMaintenance 사용자 정의 리소스를 생성하여 노드 유지보수를 시작할 수도 있습니다.
-
NodeMaintenance라는 사용자 정의 리소스 정의가 포함된 ‘node-maintenance.yaml’라는 이름의 YAML 파일을 생성합니다. ‘nodeName’ 필드에 대상 베어 메탈 워커 노드 이름을 지정하십시오.apiVersion: nodemaintenance.medik8s.io/v1beta1 kind: NodeMaintenance metadata: name: nodemaintenance-NODE_NAME spec: nodeName: NODE_NAME reason: Node maintenance for update or reload -
노드를 유지보수 모드로 전환하려면 사용자 정의 리소스를 적용하십시오:
oc apply -f node-maintenance.yaml -
NodeMaintenance리소스의 상태를 모니터링하여 드레인 작업이 성공적으로 수행되었는지 확인합니다:oc get nodemaintenance nodemaintenance-NODE_NAME -o jsonpath='{.status.phase}'노드를 재시작, 업데이트 또는 교체하기 전에 해당 페이즈가 “
Succeeded” 상태를 표시하는지 확인하십시오. -
워커 노드 재로드 또는 업데이트와 같이 계획된 노드 수준 작업을 수행합니다:
ibmcloud ks worker reload --cluster CLUSTER_NAME --worker WORKER_ID -
노드 재시작 또는 업데이트가 완료되고
oc get nodes에서 노드 상태가 ‘Ready’로 표시되면,NodeMaintenance리소스를 삭제하여 해당 노드를 유지보수 상태에서 제거하십시오:oc delete nodemaintenance nodemaintenance-NODE_NAME
가상 머신을 수동으로 라이브 마이그레이션하기
Node 유지 관리 운영자를 사용하지 않고 개별 가상 머신에 대해 라이브 마이그레이션을 수동으로 실행하려면:
-
이름공간에 있는 가상 머신 인스턴스 목록을 확인하여 마이그레이션할 VM 의 이름을 파악하십시오:
oc get vmi -n NAMESPACE -
VM 에 대한 라이브 마이그레이션을 시작하려면:
virtctl migrate VM_NAME -n NAMESPACE
VM 에 가상 네트워크 인터페이스(VNI)가 연결된 경우, 라이브 마이그레이션은 동일한 존 내에서만 지원됩니다. 이러한 VM 를 존 간으로 마이그레이션하는 작업은 성공하지만, VNI는 존 간에 연결할 수 없기 때문에 VM 의 네트워크 연결이 끊어지게 됩니다.
가상 머신 중지 및 시작
VM 를 중지하려면:
virtctl stop VM_NAME -n NAMESPACE
VM 를 시작하세요:
virtctl start VM_NAME -n NAMESPACE
스토리지 관리
저장 용량 모니터링
ODF 저장 용량 확인:
oc get cephcluster -n openshift-storage -o jsonpath='{.items[0].status.ceph.capacity}'
저장 공간 사용량 확인:
oc get cephblockpool -n openshift-storage
영구 볼륨 클레임 관리
가상 머신에서 사용하는 PVC 목록:
oc get pvc -A | grep virtualmachine
PVC 상세 정보 보기:
oc describe pvc PVC_NAME -n NAMESPACE
문제점 해결
가상화 서비스 클러스터의 일반적인 문제 해결 방법은 다음 항목을 참조하십시오
- 클러스터 문제 해결- 워커 노드 문제, 클러스터 액세스 및 일반적인 클러스터 문제
- OpenShift 가상화 문제 해결- 가상 머신 문제, 운영자 문제 및 가상화 관련 오류
- 스토리지 문제 해결- OpenShift 데이터 기반 및 영구 볼륨 문제