kubevirt動かしてみた_npstudy#19 / try_kubevirt_npstudy#19

B722d457f803a630f3c55429b526510b?s=47 komeinw
January 29, 2020

kubevirt動かしてみた_npstudy#19 / try_kubevirt_npstudy#19

B722d457f803a630f3c55429b526510b?s=128

komeinw

January 29, 2020
Tweet

Transcript

  1. KubeVirt動かしてみた ネットワークプログラマビリティ勉強会 #19 サイバーエージェント 山本 孔明 @komei_0321

  2. ❏ 山本 孔明@komei_0321 サイバーエージェント AI事業本部のインフラ組織(SIA)所 属のネットワークエンジニア 兼 責任者 主な業務 •

    オンプレとパブリックのネットワーク(物理/仮想) • OpenStack / CircleCI Enterprise • Aritifactory ...etc • チームマネジメント 自己紹介
  3. 今日の内容

  4. こんな話 https://komeiy.hatenablog.com/entry/2019/08/13/090000 ネットワークエンジニアも気にして おかないといけないんじゃない?

  5. Kubevirt について • kubernetesで仮想マシンを管理できる夢のあ るプロジェクト • Kubernetesで管理できるということで、スケ ジューリングやセルフヒーリング、ロードバンラ ンサなどのサービスが利用できるなど期待が 高かまっている

    • まだ商用での実運用事例などは聞かない • 「キューブバート」と読むらしい • 現状は、CNCFではSandboxという位置付け https://landscape.cncf.io/
  6. Kubevirt について https://landscape.cncf.io/

  7. • 昨年の夏に、AI事業本部エンジニアが誰でも使える開発環境としてリリース。「 v0.19」を利用 • v0.20.0 ◦ SR-IOV対応 • v0.21.0 ◦

    k8s 1.14 対応、virtctl で migrate できるようになった • v0.22.0 ◦ Nvidia の GPU に対応 • v0.23.0 ◦ ゲストOSの情報を VMI status で取れるようになった • v0.24.0 ◦ k8s 1.15, 1.16 対応、libvirt 5.6.0 • v0.25.0 ◦ k8s 1.17 対応 ◦ virtctl restart --force 実装 Kubevirt のリリース状況
  8. Kubevirt の中身 VMを起動させるための podを作 成します。VMオブジェクトの操作 がAPIServerに来ると呼び出され ます daemonset。podができた後に、 VMの仕様をみて libvirtdを介して

    ドメイン情報を作成 namespaceとcgroupsを提供。実 際のVMをlibvirt経由で作成しま す。
  9. Kubevirt 環境の作り方 $ kubectl create -f https://github.com/kubevirt/kubevirt/releases/download/${KVIRT_VER}/kubevirt-operator.yaml namespace/kubevirt created customresourcedefinition.apiextensions.k8s.io/kubevirts.kubevirt.io

    created clusterrole.rbac.authorization.k8s.io/kubevirt.io:operator created serviceaccount/kubevirt-operator created clusterrole.rbac.authorization.k8s.io/kubevirt-operator created clusterrolebinding.rbac.authorization.k8s.io/kubevirt-operator created deployment.apps/virt-operator created $ kubectl create -f https://github.com/kubevirt/kubevirt/releases/download/${KVIRT_VER}/kubevirt-cr.yaml $ kubectl get deployment -n kubevirt NAME READY UP-TO-DATE AVAILABLE AGE virt-api 2/2 2 2 3m16s virt-controller 2/2 2 2 2m49s virt-operator 2/2 2 2 32m
  10. [参考] kubernetes 環境は bot でデプロイ

  11. 実際にVMを立ててみる 1. VM の作り方 • KubeVirt 用の annotation つけた PVC

    作 る。(ちょっと待つ) • VirtualMachine リソースで VM を作る $ kubectl create -f pvc_cirros.yml $ kubectl create -f vm1_cirros.yml 2. virtctl をインストール $ curl -L -o virtctl \ https://github.com/kubevirt/kubevirt/releases/d ownload/v0.19.0/virtctl-v0.19.0-darwin-amd64 $ chmod +x virtctl 現地のみ動画あり
  12. Kubernetes のネットワークをおさらい https://cloud.google.com/kubernetes-engine/docs/concepts/network-overview?hl=ja

  13. VM = Pod つまりただの Kubernetes のネットワーク

  14. 
 インフラエンジニアを募集しています

  15. ご清聴ありがとうございました