在 Anthos clusters on Bare Metal 中,您可以针对不同的情况运行预检检查:
- 当您使用
bmctl
创建或更新管理员集群、混合集群、独立集群或用户集群和节点池资源时,Anthos clusters on Bare Metal 会运行预检检查。如果检查失败,则不进行任何更改。您也可以绕过这些检查。 - 当您将 Kubernetes 资源从管理员集群或混合集群应用到用户集群时,Anthos clusters on Bare Metal 也会运行内部预检检查。 这些检查会在实际应用更改以影响用户集群之前运行。如果检查失败,则不进行任何更改。您也可以绕过这些检查,或者明确运行这些检查。
使用 bmctl
创建集群时进行预检检查
当您使用 bmctl
命令创建管理员集群、混合集群、独立集群或用户集群时,Anthos clusters on Bare Metal 会在进行任何更改之前自动运行预检检查。
检查通过后,Anthos clusters on Bare Metal 将创建集群。
忽略自动预检检查的结果
如果要绕过这些自动预检检查,可以在命令中使用可选的 --force
标志。
独立运行预检检查
您还可以在创建集群之前运行预检检查。这有助于确保机器和节点资源通过检查,从而节省时间。
以下命令验证指定的集群配置文件,但不会尝试创建集群本身:
bmctl check config --cluster CLUSTER_NAME
将 CLUSTER_NAME 替换为您要检查其配置文件的集群的名称。
以下命令检查机器和网络是否已准备好创建集群:
bmctl check preflight --cluster CLUSTER_NAME
将 CLUSTER_NAME 替换为您要检查的集群的名称。
为用户集群创建进行预检检查
用户集群从现有管理员集群或混合集群创建。在进行任何更改之前,Anthos clusters on Bare Metal 会自动运行预检检查。您还可以在创建集群之前使用 bmctl
运行预检检查。
以下命令验证指定的集群配置文件,但不会尝试创建集群本身:
bmctl check config --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG_PATH
将 CLUSTER_NAME 替换为您要检查的用户集群的名称,并将 ADMIN_KUBECONFIG_PATH 替换为关联的管理员集群
kubeconfig
文件的路径。以下命令检查机器和网络是否已准备好创建集群:
bmctl check preflight --cluster CLUSTER_NAME --admin-kubeconfig ADMIN_KUBECONFIG_PATH
bmctl
支持使用 --kubeconfig
作为 --admin-kubeconfig
标志的别名。
对现有集群进行内部预检检查
在将 Kubernetes 资源应用于现有集群时,Anthos clusters on Bare Metal 还会执行内部预检检查。如果任何检查失败,Anthos clusters on Bare Metal 将不会对相关节点进行任何更改,除非您已明确绕过检查。
应用 Kubernetes 资源时绕过预检检查
如需在将资源应用于现有集群时忽略内部预检检查,您需要在集群 YAML 文件中将 BypassPreflightCheck
字段设置为 true
。
以下是集群配置 YAML 文件的片段,其中 bypassPreflightCheck
字段设置为 true
。
# Sample cluster config to bypass preflight check errors: apiVersion: v1 kind: Namespace metadata: name: cluster-user1 --- apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: user1 namespace: cluster-user1 spec: type: user bypassPreflightCheck: true # Anthos cluster version. anthosBareMetalVersion: 1.8.9 ....
安装预检检查详情
在运行预检检查时,Anthos clusters on Bare Metal 会检查各种操作系统、软件和机器前提条件。
如需了解详情,请参阅安装前提条件概览。