在 Fusion 12.0 中,增强了 vctl 实用程序以支持 KIND。通过此增强功能,KIND 可以使用 vctl 容器而不是 Docker 容器作为节点来运行本地 Kubernetes 集群。
前提条件
默认情况下,vctl 会为托管 vctl 容器节点的每个 CRX 虚拟机分配 2 GB 内存。这可确保在运行单节点集群时 Mac 计算机具有 2 GB 可用内存,运行双节点集群时具有 4 GB 可用内存。在集群中配置的节点越多,所需的可用内存就越多。
过程
- 在 Mac 上,打开终端窗口。
- 运行 vctl system start 命令以启动 vctl 容器运行时。
此命令将执行以下任务:
- 在 <user home folder>/.vctl 文件夹中创建一个 bin 文件夹。
- 下载 kubectl、kind 和 crx.vmdk 文件,并将它们保存到 bin 文件夹中。
- 创建一个指向 /Applications/VMware Fusion.app/Contents/Library/vkd/bin/vctl 的 Docker 链接文件。
- 运行 vctl kind 命令。
此命令将执行以下四项任务:
- 在 <user home folder>/.vctl 文件夹中创建一个 bin 文件夹。
- 下载 kubectl、kind 和 crx.vmdk 文件,并将它们保存到 bin 文件夹中。
- 创建一个指向 /Applications/VMware Fusion.app/Contents/Library/vkd/bin/vctl 的 Docker 链接文件。
-
通过将 <user home folder>/.vctl/bin 添加到 PATH 环境变量创建一个基于 vctl 的 KIND 上下文,然后将其设为第一个可搜索的路径。
因此,在“终端”窗口中,<user home folder>/.vctl/bin 文件夹中的 kubectl/kind/docker CLI 工具将优先于其他现有版本的此类工具,这些版本可能安装在其他位置。
- 如果关闭“终端”窗口,则基于 vctl 的 KIND 上下文将会丢失。
在下次想要与 Kubernetes 集群进行交互时,请运行 vctl kind 命令。
注:
- vctl 不支持 kind build 命令。
- 默认情况下,vctl 为托管节点容器的 CRX 虚拟机分配 2 GB 内存和 2 个 CPU 内核,您可以使用 vctl system config 命令的 --k8s-cpus 和 --k8s-mem 选项自定义配置。
- 每个 Fusion 版本仅支持一个特定版本的 kind CLI 和 kubectl CLI 工具。例如:
- Fusion 12.0.0 支持 kind v0.8.1 和 kubectl v1.18.6。
- Fusion 12.1.0 支持 kind v0.9.0 和 kubectl v1.19.1。
Fusion 12.1.0 中的 vctl 实用程序引入了对 kind CLI 和 kubectl CLI 工具的版本检查。运行 vctl system start 或 vctl kind 命令时,如果 <user home folder>/.vctl/bin 文件夹中已存在 kind CLI 和 kubectl CLI 工具,且当前 Fusion 版本支持这些工具的版本,则 vctl 命令将不会再次下载这些工具。如果当前 Fusion 版本不支持这些工具的版本,则 vctl 命令将下载这些工具的受支持版本并移除不受支持的版本。