Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenShift Virtualization 概要説明資料

Yuhki Hanada
January 18, 2021

OpenShift Virtualization 概要説明資料

OpenShift Virtualization の概要説明資料です。(as of Jan 2021)

Yuhki Hanada

January 18, 2021
Tweet

More Decks by Yuhki Hanada

Other Decks in Technology

Transcript

  1. コンテナと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 ノードは、ベアメタルのみサポート (仮想マシンをベアメタルと見立てても稼働するが、サポートはされない)
  2. 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)
  3. 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 アーキテクチャー概要
  4. 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 デフォルトでは、仮想マシンとコンテナは同じネットワークにアクセスします
  5. 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 管理コンソール
  6. 7 一般的な VMのタスクをサポート ◦ Start/stop/Restart ◦ Live migration ◦ Clone

    ◦ application group, labels, and annotations の編集 ◦ Delete コンセプトは、通常の仮想マシンと変わらないが、 Kubernetes の世界で良く使われる、label, annotation を付ける事ができます。 Virtual Machine に対するアクション OpenShift 管理コンソール
  7. 8 • Kubernetes の枠組みである CR (Custom Resource)を 使用した仮想マシン環境の統合 • OpenShift

    Virtualization 用に以下の CustomResourceDefinitions (CRD)を定義 ◦ VirtualMachine ◦ VirtualMachineInstance ◦ VirtualMachineInstanceMigration ◦ DataVolume OpenShift Virtualization 用の CRD
  8. 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 で変更可能
  9. 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
  10. 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
  11. 用語の違い 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
  12. OpenShift Virtualization Performance 13 https://www.openshift.com/blog/openshift-cnv-2.5-available • RHV( Red Hat Virtualization)

    と、 OpenShift Virtualization を使った Performance の比較 • DBの種類によって Performance に違いが あるが、誤差の範囲と考えられる。
  13. 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 に関するリソース
  14. 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