启用 KIND 以使用 vctl 容器作为节点来运行 Kubernetes 集群
在 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/dockerCLI 工具将优先于其他现有版本的此类工具,这些版本可能安装在其他位置。
- 如果关闭“终端”窗口,则基于 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。
vctl system start或vctl kind命令时,如果<user home folder>/.vctl/bin文件夹中已存在 kind CLI 和 kubectl CLI 工具,且当前 Fusion 版本支持这些工具的版本,则 vctl 命令将不会再次下载这些工具。如果当前 Fusion 版本不支持这些工具的版本,则 vctl 命令将下载这些工具的受支持版本并移除不受支持的版本。