Slide 1

Slide 1 text

CloudNative Days Tokyo 2023 Community LT OpenShift Lounge +

Slide 2

Slide 2 text

OpenShift Lounge+ https://openshift.connpass.com/ OpenShift テックコミュニティ 「Kubernetes / OpenShift / クラウドネイティブ」がテーマ。 有志で運営するテックコミュニティ。 テックコミュニティ テックコミュニティ主催 4 Days Handson レッドハット社

Slide 3

Slide 3 text

KubeVirtでVMが起動する仕組み Red Hat Specialist Solution Architect Junpei Ishikawa CNDT 2023 LT

Slide 4

Slide 4 text

https://kubevirt.io/2023/KubeVirt-v1-has-landed.html KubeVirt Kubernetes上で仮想マシンを動かすことを目的としたオープンソースプロジェクト ● 2016年にRed Hatがプロジェクトをスタート ● 2017年初にOSSとして公開 ● 2019年にCNCFプロジェクトの一部に ● 2023年7月にversion1.0をリリース The v1.0 release signifies the incredible growth that the community has gone through in the past six years from an idea to a production-ready Virtual Machine Management solution. The next stage with v1.0 is the additional focus on maintaining APIs while continuing to grow the project. This has led KubeVirt to adopt community practices from Kubernetes in key parts of the project. v1.0のリリースは、過去6年間にコミュニティがアイデアから 本番稼動可能な仮想マシン管理ソリューションまで、信じられないほどの 成長を遂げたことを意味します。 v1.0の次の段階は、APIを維持しながらプロジェクトを継続的に成長させ ることにさらに重点を置くことです。 KubeVirtはプロジェクトの鍵となる箇 所において、Kubernetesのコミュニティ・プラクティスを採用していきま す。 What does v1.0 mean to the community? KubeVirtのコミュニティブログより

Slide 5

Slide 5 text

Kubernetes上でVMを 動かすことのメリット ● コンテナも仮想マシンも Kubernetes APIを 通じて管理することができる ● 宣言的な仮想マシンの作成、管理が可能 ○ VirtualMachineという カスタムリソースを通じて VMを作成 ● CSI、CNIなどKubernetesの仕組みを使って ストレージやネットワークを管理できる ○ Podと同じネットワーク上で VMを 動かすことができる ○ Service、Ingressを通じたアクセスが可能 ○ ディスクはPVとしてアタッチ apiVersion: kubevirt.io/v1 kind: VirtualMachine metadata: name: example spec: running: false template: metadata: labels: kubevirt.io/domain: example kubevirt.io/size: small spec: domain: devices: disks: - disk: bus: virtio name: rootdisk - disk: bus: virtio name: cloudinitdisk interfaces: - masquerade: {} model: virtio name: default hostname: example networks: - name: default pod: {} volumes: - name: rootdisk containerDisk: image: 'quay.io/containerdisks/fedora:36' - cloudInitNoCloud: userData: |- #cloud-config user: fedora password: fedora chpasswd: { expire: False } name: cloudinitdisk

Slide 6

Slide 6 text

KubeVirtのアーキテクチャ (初期状態) kubectl API server Virt API Virt controller Cluster components kubelet Pod(DaemonSet) Worker node Virt handler KubeVirt component Other component https://github.com/kubevirt/kubevirt/blob/main/docs/components.md

Slide 7

Slide 7 text

KubeVirtのアーキテクチャ(VM作成) kubectl API server Virt API Virt controller Cluster components kubelet Pod(DaemonSet) Worker node Virt handler KubeVirt component ❶VM CRを作成 (VMI CRの作成) ❷Podの スケジューリング Pod(per VM) Virt launcher ❸Virt launcher Podの起動 libvertd qemu Other component https://github.com/kubevirt/kubevirt/blob/main/docs/components.md

Slide 8

Slide 8 text

KubeVirtのアーキテクチャ(VM作成) kubectl API server Virt API Virt controller Cluster components kubelet Pod(DaemonSet) Worker node Virt handler KubeVirt component Pod(per VM) Virt launcher ❹まで行われると以降のアクションは kubeletではなくDSのVirt handlerが実施 ❹VMI CRの更新 (nodeName) ❺VMIの変更を確認 ❻VMIスペックの情報を元 にVM起動を指示 libvertd qemu ❼libvertのAPIを通じて QEMUを操作しVMを起動 KVM Other component https://github.com/kubevirt/kubevirt/blob/main/docs/components.md

Slide 9

Slide 9 text

OpenShift Virtualization ● オンプレミス、AWS環境のベアメタル サーバー上で利用可能。 SNOでもサポート。 ● GUIで管理コンソールを提供。 ● ODFのReadWriteManyなストレージを使うことで ライブマイグレーション可。 ● Migration ToolKit for Virtualization(MTV)を使う ことで、vSphereやOpenStackからVMの移行が 可能 赤帽エンジニアブログ更新中!! OpenShift Virtualization(Kubevirt)でVM管理もCloud Nativeに (1) https://rheb.hatenablog.com/entry/2023/11/15/174359 OpenShift Virtualization(Kubevirt)でVM管理もCloud Nativeに (2) https://rheb.hatenablog.com/entry/2023/12/11/07300

Slide 10

Slide 10 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