からちゃん日記

日々勉強しているIT技術、英会話で学んだ英語に関するまとめ、趣味のトライアスロンやその他の日常に関して書いていきます。

KubeVirtでVMをデプロイするためのVirtualMachineオブジェクトの定義例

KubeVirtを使用すればKubenetes上でコンテナと並列にVMを動作させることできますが、今回は実際にVMをデプロイする際の定義例を紹介します。

KubeVirtの概要に関しては以下の記事を参照ください。

kojikara.hatenablog.com

 

KubeVirtをインストールすると、Kubernetes API仮想マシンを管理する「VirtualMachine API」が追加され、他のAPIリソースと同様に、kubectlを使用して管理することができます。

以下が、KubeVirtをインストールしたKubenetes上へのVM(VirtualMachineオブジェクト)の定義例(YAML)になります。
Podを定義する場合と同様に、apiVersionフィールドやspecフィールドがあります。
また、kindにはVirtualMachineを指定します。

 

apiVersion: kubevirt.io/v1alpha1
kind: VirtualMachine
metadata:
    name: testvm
spec:
    terminationGracePeriodSeconds: 0
    domain:
        resources:
            requests:
                memory: 64M
        devices:
            disks:
            - name: mydisk
               volumeName: myvolume
               disk:
                   dev: vda
    volumes:
        - name: myvolume
           iscsi:
               iqn: iqn.2017-01.io.kubevirt:sn.42
               lun: 2
               targetPortal: iscsi-demo-target.kube-system.svc.cluster.local

 

<参考記事>
http://www.kubevirt.io/user-guide/#/workloads/virtual-machines/creation?id=virtualmachine-api