はじめに
リリース
v1.8.4で検証済み。コマンドは、稼働中の Kubernetes クラスタと、それに向けて設定済みのkubectlを想定。
前提
kubectlで到達できる Kubernetes クラスタ。- ハードウェア仮想化が使えるノード。使えない場合 (ネストや emulation 環境など) は
KubeVirtCR に software emulation 設定が必要。 - 対応する GitHub リリースから入手した
virtctlCLI。
インストール
インストール起点は virt-operator。operator マニフェストを適用し、続いて operator に残りの配備を指示する KubeVirt カスタムリソースを適用する (docs/getting-started.md、docs/updates.md)。
bash
export RELEASE=v1.8.4
kubectl apply -f https://github.com/kubevirt/kubevirt/releases/download/${RELEASE}/kubevirt-operator.yaml
kubectl apply -f https://github.com/kubevirt/kubevirt/releases/download/${RELEASE}/kubevirt-cr.yaml最初の動く構成
operator がコントロールプレーンを配備し、インストールが Available になるのを待つ。
bashkubectl -n kubevirt wait kv kubevirt --for condition=Available --timeout=10mノードにハードウェア仮想化がない場合は、上記が完了する前に
KubeVirtCR で software emulation を有効化する。bashkubectl -n kubevirt patch kubevirt kubevirt --type=merge \ -p '{"spec":{"configuration":{"developerConfiguration":{"useEmulation":true}}}}'Available になったら
VirtualMachineを作成し、virtctlで起動する。bashvirtctl start <vm-name>
動作確認
KubeVirt インストールが正常で、コンポーネントが動いているか確認する。
bash
kubectl -n kubevirt get kv kubevirt -o=jsonpath='{.status.phase}'
kubectl -n kubevirt get pods正常なインストールは phase Deployed を報告し、virt-api・virt-controller・virt-handler の Pod が Running になる。VM 起動後は kubectl get vmi でインスタンスが見え、virtctl console <vm-name> でシリアルコンソールに接続できる。
次に読むもの
アップグレード・HA・CDI によるストレージ・live migration など本番運用は、公式の KubeVirt ドキュメント と、サポートされる更新フローについてリポジトリの docs/updates.md を参照。