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

CNDT2023 Community LT KubeVirtでVMが起動する仕組み

jpishikawa
December 11, 2023

CNDT2023 Community LT KubeVirtでVMが起動する仕組み

CNDT2023 のCommunity LTで発表した資料です。

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/073000

jpishikawa

December 11, 2023
Tweet

More Decks by jpishikawa

Other Decks in Technology

Transcript

  1. OpenShift Lounge+ https://openshift.connpass.com/ OpenShift テックコミュニティ 「Kubernetes / OpenShift / クラウドネイティブ」がテーマ。

    有志で運営するテックコミュニティ。 テックコミュニティ テックコミュニティ主催 4 Days Handson レッドハット社
  2. 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のコミュニティブログより
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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