vfkit快速起步
vfkit 使用 Apple Virtualization 提供了命令行启动虚拟机的方法,并且提供了一个 github.com/crc-org/vfkit/pkg/config 的 Go 包,可以使用原生Go API来使用vfkit命令行。
RedHat的 CRC - OpenShift Local 开发介绍了集成vfkit来本地运行 OpenShift 的方案:
- vfkit - a native macOS hypervisor written in go 视频分享介绍了这个hypervisor的技术 
- 在油管上也有 vfkit - a minimal hypervisor using Apple’s virtualization framework - Container Plumbing Days 2023 (YouTube提供来自动英语字幕,甚至可以自动翻译中文,相对比较好理解) 
通过 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 绑定工具),正是因为使用了 VZ , vfkit 就不需要使用 Swift 或 Objective-C语言开发,就可以使用单一的 Go 开发(RadHat的CRC团队主要使用Go语言,不使用Swift语言)
安装
使用 Homebrew 可以快速完成安装:
vfkitbrew install vfkit