1.3. OpenShift Virtualization 아키텍처
OLM(Operator Lifecycle Manager)은 OpenShift Virtualization의 각 구성 요소에 대해 Operator Pod를 배포합니다.
-
Compute:
virt-operator
-
스토리지:
cdi-operator
-
네트워크:
cluster-network-addons-operator
-
스케일링:
ssp-operator
-
템플릿:
tekton-tasks-operator
또한 OLM은 다른 구성 요소의 배포, 구성 및 라이프 사이클과 hco-webhook
및 하이퍼 컨버지드-cluster- cli-download 라는 여러 도우미 Pod를 담당하는
Pod를 배포합니다.
hyperconverged-cluster-
operator
모든 Operator Pod가 성공적으로 배포된 후 HyperConverged
CR(사용자 정의 리소스)을 생성해야 합니다. HyperConverged
CR에 설정된 구성은 단일 정보 소스 및 OpenShift Virtualization의 진입점 역할을 하며 CR의 동작을 안내합니다.
HyperConverged
CR은 조정 루프 내에서 다른 모든 구성 요소의 Operator에 대한 해당 CR을 생성합니다. 각 Operator는 OpenShift Virtualization 컨트롤 플레인에 대한 데몬 세트, 구성 맵 및 추가 구성 요소와 같은 리소스를 생성합니다. 예를 들어 HyperConverged Operator(HCO)가 KubeVirt
CR을 생성하면 OpenShift Virtualization Operator가 이를 조정하고 virt-controller
,virt-handler
, virt-api
와 같은 추가 리소스를 생성합니다.
OLM은 HPP(Hostpath Provisioner) Operator를 배포하지만 hostpath-provisioner
CR을 생성할 때까지 작동하지 않습니다.
1.3.1. HyperConverged Operator(HCO) 정보
HCO인 hco-operator
는 OpenShift Virtualization과 의견이 지정된 기본값을 사용하여 여러 도우미 운영자를 배포 및 관리하기 위한 단일 진입점을 제공합니다. 또한 해당 Operator에 대한 CR(사용자 정의 리소스)을 생성합니다.
Component | 설명 |
---|---|
|
|
|
클러스터에서 직접 다운로드할 수 있도록 |
| OpenShift Virtualization에 필요한 모든 Operator, CR 및 개체를 포함합니다. |
| 스케줄링, 스케일 및 성능(SSP) CR. 이는 HCO에 의해 자동으로 생성됩니다. |
| CDI(Containerized Data Importer) CR. 이는 HCO에 의해 자동으로 생성됩니다. |
|
|
1.3.2. CDI(Containerized Data Importer) Operator 정보
CDI Operator인 cdi-operator
는 데이터 볼륨을 사용하여 CDI 및 해당 관련 리소스를 관리하여 VM(가상 머신) 이미지를 PVC(영구 볼륨 클레임)로 가져옵니다.
Component | 설명 |
---|---|
| 보안 업로드 토큰을 발행하여 VM 디스크를 PVC에 업로드하는 권한을 관리합니다. |
| 올바른 PVC에 쓸 수 있도록 외부 디스크 업로드 트래픽을 적절한 업로드 서버 pod로 전달합니다. 유효한 업로드 토큰이 필요합니다. |
| 데이터 볼륨을 생성할 때 가상 머신 이미지를 PVC로 가져오는 도우미 Pod입니다. |
1.3.3. CNO(Cluster Network Addons) Operator 정보
Cluster Network Addons Operator인 cluster-network-addons-operator
는 클러스터에 네트워킹 구성 요소를 배포하고 확장된 네트워크 기능에 대한 관련 리소스를 관리합니다.
Component | 설명 |
---|---|
| Kubemacpool의 Webhook TLS 인증서를 관리합니다. |
| VM(가상 머신) 네트워크 인터페이스 카드(NIC)에 대한 MAC 주소 풀링 서비스를 제공합니다. |
| 노드에서 사용 가능한 네트워크 브릿지를 노드 리소스로 표시합니다. |
| 클러스터 노드에 CNI(Container Network Interface) 플러그인을 설치하여 네트워크 연결 정의를 통해 Linux 브리지에 VM을 연결할 수 있습니다. |
1.3.4. HPP(Hostpath Provisioner) Operator 정보
HPP Operator인 hostpath-provisioner-operator
는 다중 노드 HPP 및 관련 리소스를 배포 및 관리합니다.
Component | 설명 |
---|---|
| HPP가 실행되도록 지정된 각 노드에 대해 작업자를 제공합니다. Pod는 지정된 백업 스토리지를 노드에 마운트합니다. |
| HPP의 CSI(Container Storage Interface) 드라이버 인터페이스를 구현합니다. |
| HPP의 레거시 드라이버 인터페이스를 구현합니다. |
1.3.5. SSP(Scheduling, Scale, Performance) Operator 정보
SSP Operator, ssp-operator
는 공통 템플릿, 관련 기본 부팅 소스, 파이프라인 작업, 템플릿 검증기를 배포합니다.
Component | 설명 |
---|---|
| 템플릿에서 VM을 생성합니다. |
| VM 템플릿을 복사합니다. |
| VM 템플릿을 생성하거나 제거합니다. |
| 데이터 볼륨 또는 데이터 소스를 생성하거나 제거합니다. |
| VM에서 스크립트 또는 명령을 실행한 다음 VM을 중지하거나 삭제합니다. |
|
|
|
|
| 특정 VMI(가상 머신 인스턴스) 상태를 기다린 다음 해당 상태에 따라 실패하거나 성공합니다. |
| 매니페스트에서 VM을 생성합니다. |
1.3.6. OpenShift Virtualization Operator 정보
virt-operator
OpenShift Virtualization Operator는 현재 VM(가상 머신) 워크로드를 중단하지 않고 OpenShift Virtualization을 배포, 업그레이드 및 관리합니다.
Component | 설명 |
---|---|
| 모든 가상화 관련 흐름의 진입점 역할을 하는 HTTP API 서버입니다. |
|
새 VM 인스턴스 오브젝트 생성을 관찰하고 해당 Pod를 생성합니다. 노드에 Pod가 예약되면 |
|
VM에 대한 모든 변경 사항을 모니터링하고 |
|
|