在Kubernetes (K8S) 上安装虚拟机是一个常见的需求,可以通过使用KubeVirt 来实现。KubeVirt 是一个 Kubernetes 上的扩展,它允许用户在 K8S 集群中运行虚拟机,从而可以将传统基于虚拟机的应用程序迁移至容器化的环境中。

下面我将详细介绍在 K8S 上安装虚拟机的步骤,希望能帮助你快速入门。

### 在 K8S 上安装虚拟机的步骤

| 步骤 | 操作 |
| ---- | ---- |
| 1 | 安装 KubeVirt 插件 |
| 2 | 配置安装 KubeVirt |
| 3 | 创建虚拟机资源 |
| 4 | 启动虚拟机实例 |

### 安装 KubeVirt 插件

首先,你需要安装 KubeVirt 插件,可以通过以下命令来完成:

```bash
kubectl apply -f https://github.com/kubevirt/kubevirt/releases/download/v0.37.0/kubevirt-operator.yaml
kubectl apply -f https://github.com/kubevirt/kubevirt/releases/download/v0.37.0/kubevirt-cr.yaml
```

这些命令将会在你的 K8S 集群中安装 KubeVirt 插件。

### 配置安装 KubeVirt

接下来,你需要配置并安装 KubeVirt 插件,可以通过以下命令完成:

```bash
kubectl create -f https://github.com/kubevirt/kubevirt/releases/download/v0.37.0/kubevirt-cr.yaml
```

这个命令将会为 KubeVirt 创建一个自定义资源,用于配置和管理你的虚拟机资源。

### 创建虚拟机资源

现在你已经安装和配置好了 KubeVirt 插件,接下来你可以创建虚拟机资源,可以通过以下命令创建一个简单的虚拟机资源:

```yaml
apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachine
metadata:
name: testvm
spec:
running: true
template:
spec:
domain:
devices:
disks:
- name: containerdisk
disk:
bus: virtio
volumes:
- name: containerdisk
containerDisk:
image: kubevirt/cirros-container-disk-demo:devel
```

这个 YAML 文件将会创建一个名为 `testvm` 的虚拟机,使用 `kubevirt/cirros-container-disk-demo:devel` 镜像。

### 启动虚拟机实例

最后,你可以通过以下命令来启动你的虚拟机实例:

```bash
kubectl create -f your-vm-definition.yaml
```

这个命令将会使用之前创建的虚拟机资源定义文件来启动虚拟机实例,你可以通过 `kubectl get vmi` 命令来查看虚拟机实例的状态和信息。

通过以上步骤,你已经成功在 K8S 上安装了虚拟机,并且可以管理和运行你的虚拟机实例了。希望这篇文章对你有所帮助,祝你学习顺利!