vfkit快速起步

vfkit 使用 Apple Virtualization 提供了命令行启动虚拟机的方法,并且提供了一个 github.com/crc-org/vfkit/pkg/configGo 包,可以使用原生Go API来使用vfkit命令行。

RedHat的 CRC - OpenShift Local 开发介绍了集成vfkit来本地运行 OpenShift 的方案:

通过 vz - Apple Virtualization.framework 的Go实现vfkit 实现了在macOS上构建虚拟化的功能,并且避免使用复杂沉重的 QEMU

Apple Virtualization 作为底座的方案最大的优势是:

  • 所有 macOS (v11以上)都内置了 Apple Virtualization ,不需要安装第三方hypervisor。

  • 提供了高级API来创建Linux 和 macOS (ARM架构) 虚拟机

  • 可以用于Swift或Objective-C开发

  • 但仅仅是API/框架(库)而不是最终应用

    • virtio

    • virtio-net 网络通讯

    • virtio-blk 磁盘镜像

    • virtio-serial / virtio-rng / virtio-balloon ...

    • 支持图形化(视频,声音,和键盘鼠标...)

vfkit集成 vz - Apple Virtualization.framework 的Go实现 (一个 Go 开发的 Apple Virtualization 绑定工具),正是因为使用了 VZvfkit 就不需要使用 Swift 或 Objective-C语言开发,就可以使用单一的 Go 开发(RadHat的CRC团队主要使用Go语言,不使用Swift语言)

安装

使用 Homebrew 可以快速完成安装:

安装 vfkit
brew install vfkit

运行虚拟机

参考