当 Anthos clusters on Bare Metal 创建或升级集群时,它会部署 Kubernetes in Docker (kind) 集群,以临时托管创建或升级集群所需的 Kubernetes 控制器。此暂时性集群称为引导集群。如果 kind 集群在您尝试安装时已经存在于您的部署中,则 Anthos clusters on Bare Metal 会删除现有的 kind 集群。只有在安装或升级成功后,系统才会执行删除操作。如需在成功后保留现有的 kind 集群,请使用 bmctl
的 --keep-bootstrap-cluster
标志。
Anthos clusters on Bare Metal 在 WORKSPACE_DIR/.kindkubeconfig
下为引导集群创建配置文件。您只能在集群创建和升级期间连接到引导集群。
引导集群需要访问 Docker 代码库以拉取映像。除非您使用私有注册表,否则注册表默认为 Container Registry。在集群创建期间,bmctl
会创建以下文件:
bmctl-workspace/config.json
:包含注册表访问权限的 Google Cloud 服务帐号凭据。凭据是从集群配置文件中的gcrKeyPath
字段获取的。bmctl-workspace/config.toml
:包含 kind 集群中的 containerd 配置。
调试引导集群
如需调试引导集群,您可以执行以下步骤:
- 在集群创建和升级期间连接到引导集群。
- 获取引导集群的日志。
您可以在用于运行 bmctl
的机器的以下文件夹中找到日志:
bmctl-workspace/CLUSTER_NAME/log/create-cluster-TIMESTAMP/bootstrap-cluster/
bmctl-workspace/CLUSTER_NAME/log/upgrade-cluster-TIMESTAMP/bootstrap-cluster/
将 CLUSTER_NAME
和 TIMESTAMP
替换为您的集群名称和相应系统的时间。
如需直接获取引导集群的日志,您可以在集群创建和升级期间运行以下命令:
docker exec -it bmctl-control-plane bash
该命令会在引导集群中运行的 bmctl 控制层面容器内打开一个终端。
要检查 kubelet
和 containerd
日志,请使用以下命令并查找输出中的错误或警告:
journalctl -u kubelet
journalctl -u containerd