Slide 1

Slide 1 text

Technical presentation OpenShift Virtualization 1 2021/01/18

Slide 2

Slide 2 text

コンテナとVMの共存 2 ● OpenShift Virtualization は、KVM を使用します。 ● KVM Red Hat Enterprise Linux kernel のコアコンポーネントです。 ○ KVM は、10年以上、プロダクション環境で実績のあるソフト ウェア: 「Red Hat Virtualization」, 「Red Hat OpenStack Platform」 や、「RHEL」 が KVM, QEMU, libvirtを使用して います。 ● QEMU は、仮想マシンを実行するのに KVM を使用します ● libvirt は抽象化された管理レイヤーを提供します。 ● Kubernetes と同じ以下の枠組みを使用します。 ■ Container Networking Interface (CNI) ■ Container Storage Interface (CSI) ■ Custom Resource Definitions (CRD, CR) Physical Machines RHEL CoreOS KVM CPU/RAM STORAGE NETWORK DRIVER DRIVER DRIVER libvirt QEMU VM Pod(s) container 1 container 2 container n VMI Pod 仮想マシンも Pod として稼働する ※RHEL CoreOS ノードは、ベアメタルのみサポート (仮想マシンをベアメタルと見立てても稼働するが、サポートはされない)

Slide 3

Slide 3 text

3 コンテナ化された仮想マシン ・CPU、RAM等の制限は、libvirt と QEMU によって決定されされます。 ・ゲストOSは、Linux と Windows が使用できます。(※ MS社のSVVP認定済み) OpenShift 4.6 / Openshift Virtualization 2.5でサポートされるゲストOS Red Hat Enterprise Linux 6, 7, and 8。 Microsoft Windows Server 2012 R2、2016、および 2019。 Microsoft Windows 10。 ストレージ ・VM diskは、PVC(Persistent Volume Claim) / PV (Persistent Volume) の Kubernetes と同じ概念を使用 ・既存のイメージは、CDI (Containerized Data Importer) コントロー ラーを使用して PVC にインポート。 ネットワーク デフォルトで Pod のネットワークを使用します。 Multus を使用する事で外部ネットワークへのダイレクト接続が可能です。 コンテナ化された仮想マシン ※Windows Server Virtualization Validation Program (SVVP) (Red Hat OpenShift Container Platform 4 on RHEL CoreOS 8)

Slide 4

Slide 4 text

4 kubelet (DaemonSet) Pod virt-handler Cluster Services Nodes VM Pod virt-launcher Other Pod(s) container 1 libvirtd container 2 VM container n API Server virt-controller virt-controller: k8sのCRDで定義された仮想マシンのリソース(VMI)をもとに、VM Podのライフサイクルを管理 virt-handler: OpenShiftの各Worker Nodeに1つずつデプロイされるDaemonSet。apiやvirt-controllerと連携して 、各Node上でのVM Podの作成や削除のシグナルをvirt-launcherに送信 virt-launcher: virt-handlerからのシグナルをトリガーにして、libvirtdと通信し仮想マシンの作成や削除を制御 https://github.com/kubevirt/kubevirt/blob/master/docs/components.md アーキテクチャー概要

Slide 5

Slide 5 text

VM と コンテナの連携 5 ● pod のネットワークに接続されたVirtual Machines は、標準的 Kubernetes の以下の方 法を使ってアクセス可能: ○ Service ○ Route ○ Ingress ● アプリケーションの Pod と同様に、VMの Podに も Network policy が適用される。 ● VM-to-pod, and pod-to-VMの通信も、SDN や、 ingress など、ネットワーク構成に応じて可能。 仮想マシン 仮想マシン Pod Pod デフォルトでは、仮想マシンとコンテナは同じネットワークにアクセスします

Slide 6

Slide 6 text

6 「Source」どのように VMがブートするか • Boot via PXE, optionally diskless • URL will import a QCOW2 or raw disk image using a DataVolume • Container uses a container image, pulled from a registry, for the disk • Disk uses an existing PVC 「Flavor」は、事前定義された CPU と Memoryの 割り当て • Tiny = 1 vCPU and 1GB RAM, Small = 1 vCPU and 2GB RAM, etc. 「Workload」は、KVM performance flag をセット するために使われる、期待されるワークロードのカ テゴリーの定義 仮想マシンの作成の流れ 1 2 3 VMware vSphere や Red Hat Virtualization 環境からイ ンポートも可能 OpenShift 管理コンソール

Slide 7

Slide 7 text

7 一般的な VMのタスクをサポート ○ Start/stop/Restart ○ Live migration ○ Clone ○ application group, labels, and annotations の編集 ○ Delete コンセプトは、通常の仮想マシンと変わらないが、 Kubernetes の世界で良く使われる、label, annotation を付ける事ができます。 Virtual Machine に対するアクション OpenShift 管理コンソール

Slide 8

Slide 8 text

8 ● Kubernetes の枠組みである CR (Custom Resource)を 使用した仮想マシン環境の統合 ● OpenShift Virtualization 用に以下の CustomResourceDefinitions (CRD)を定義 ○ VirtualMachine ○ VirtualMachineInstance ○ VirtualMachineInstanceMigration ○ DataVolume OpenShift Virtualization 用の CRD

Slide 9

Slide 9 text

Virtual Machine ストレージ 9 ● OpenShift Virtualization のディスクとしては、 Kubernetes PersistentVolume (PV) が使用される ● PVs で使用されている技術 ○ In-tree iSCSI, NFS ○ CSI drivers ○ Local storage using host path provisioner ○ OpenShift Container Storage ● 動的 または 静的 provision された PVs ● Live Migration には、RWXのPVCが必要 ● Diskは、VirtIO or SCSI controllers を使用して接続 ○ 接続順は VM で定義 ● Boot 順は VM definition で変更可能

Slide 10

Slide 10 text

10 ● FileSystem PVC 上の VM disk は、 thin provisioned raw images として作成される。 ○ Thick provisioned disks are not created by CDI(Containerized Data Importer), may be possible manually ● Block PVC は、直接VMにアタッチされる。 ● CSI の操作(例: snapshot と clone) は、VM disk PVCではサポートされない ○ VM disks をクローンする場合いは、DataVolume CRを使う。 ● PVC の resize をしても VM disk のサイズは変わらない ○ 現在未サポート ● ディスクの Hot add はサポートされない (for any virtual hardware) PVC 内の VM disk

Slide 11

Slide 11 text

11 ● UI から Network Interface を設定 ● 一つ以上のネットワーク接続 ○ デフォルトは Pod の SDN ○ 追加で Multus ベースのインターフェイス ● Model: Network Inteface カードのモデル。e1000e もしくは、virtio をサポート ● Type : Masquerade (デフォルトの Pod Network 接 続時の推奨), bridge (Secondary Network に接続す る場合い) ● MAC address のカスタマイズが可能 ● SR-IOV は、SR-IOV Operator を導入が前提。 VMの Network 4 4

Slide 12

Slide 12 text

用語の違い 12 Feature RHV OpenShift Virtualization vSphere Where VM disks are stored Storage Domain PVC datastore Policy based storage selection None StorageClass SPBM Non-disruptive VM migration Live migration Live migration vMotion Non-disruptive VM storage migration Storage live migration N/A Storage vMotion Active resource balancing Cluster scheduling policy Pod eviction policy, descheduler Dynamic Resource Scheduling (DRS) Physical network configuration Host network config (via nmstate w/4.4) nmstate Operator, Multus vSwitch / DvSwitch Overlay network configuration OVN OCP SDN (OpenShiftSDN, OVNKubernetes, and partners), Multus NSX-T Host / VM metrics Data warehouse + Grafana (RHV 4.4) OpenShift Metrics, health checks vCenter, vROps

Slide 13

Slide 13 text

OpenShift Virtualization Performance 13 https://www.openshift.com/blog/openshift-cnv-2.5-available • RHV( Red Hat Virtualization) と、 OpenShift Virtualization を使った Performance の比較 • DBの種類によって Performance に違いが あるが、誤差の範囲と考えられる。

Slide 14

Slide 14 text

OpenShift Virtualization 事例 14 https://www.waterstechnology.com/operations/7535561/goldman-sachs-revamps-virtualization-infrastructure

Slide 15

Slide 15 text

15 OpenShift マニュアル https://docs.openshift.com/container-platform/4.6/virt/about-virt.html OpenShift Virtualization 解説 + User Interface のデモ https://www.youtube.com/watch?v=vHAjvX8QfhE Demo ビデオ (Windows Server 2019のデプロイ) https://www.youtube.com/watch?v=Kx110kqoHo0 Demo ビデオ (isoから Windows Server をインストール) https://www.youtube.com/watch?v=yfZ6CCwoR_M Red Hat OpenShift Blog https://www.openshift.com/virtualization/ OpenShift Virtualization に関するリソース

Slide 16

Slide 16 text

linkedin.com/company/red-hat youtube.com/user/RedHatVideos facebook.com/redhatinc twitter.com/RedHat Red Hat is the world’s leading provider of enterprise open source software solutions. Award-winning support, training, and consulting services make Red Hat a trusted adviser to the Fortune 500. Thank you 16