本页面适用于基础架构运维者。
安装 Anthos Management Center 后,您必须注册机器、地址池和引导服务。如果您在安装管理中心之前已通过修改管理中心配置文件注册资源,则可以跳过此页面,除非您还要注册其他资源。
注册库存机器
要让平台管理员创建用户集群,在断开连接模式下运行的 Anthos 需要一个空闲的机器池。在本部分中,您将库存机器注册到 Anthos 管理员集群,以便平台管理员可以在稍后使用它们创建用户集群。这些机器必须满足与管理员集群节点相同的要求。
kubectl apply -f path/to/example-machine.yaml --kubeconfig=ADMIN_KUBECONFIG
example-machine.yaml
文件示例:
apiVersion: baremetal.cluster.gke.io/v1alpha1
kind: InventoryMachine
metadata:
name: IP_ADDRESS
labels:
"KEY": "VALUE"
spec:
address: IP_ADDRESS
请替换以下内容:
IP_ADDRESS
:机器的 IP 地址,例如10.200.0.10
。KEY
:VALUE
:键值对,例如"rack": "r1020"
,用于指示机架位置。
labels
是附加到资源的自由格式键值对。这些标签稍后可用于管理中心以过滤机器。例如,您可以使用标签来标识机架位置或特殊硬件配置。
可选:将不同的 SSH 密钥用于库存机器
默认情况下,在断开连接模式下运行的 Anthos 使用 sshPrivateKeyPath
提供的 SSH 密钥(用于访问管理员集群的机器)来访问这些库存机器。为了更好地让管理员集群机器和库存机器(用于用户集群)隔离,可将不同的 SSH 密钥用于库存机器。在创建需要 SSH 密钥的用户集群之前,请先创建这些密钥。
将 SSH 公钥分发给所有库存机器。
将 SSH 私钥作为 Secret 存储在管理员集群中,例如
user-cluster-ssh-key
。kubectl create secret generic user-cluster-ssh-key -n anthos-creds --kubeconfig=ADMIN_KUBECONFIG \ --from-file=id_rsa=/path/to/KEYPAIR_PRIVATE_KEY_FILENAME
将
/path/to/KEYPAIR_PRIVATE_KEY_FILENAME
替换为输出密钥对的目标路径。创建用户集群时,请在命名空间
anthos-creds
下指定第 1 步中创建的 Secret(例如user-cluster-ssh-key
)。仅在通过 API 创建集群时支持此操作。在用户集群 yaml 文件内的集群定义中将 SSH 密钥添加为
sshKeySecret
并指定imagePullSecret
,例如:apiVersion: baremetal.cluster.gke.io/v1 kind: Cluster metadata: name: CLUSTER_NAME namespace: cluster-CLUSTER_NAME spec: type: user credentials: sshKeySecret: name: user-cluster-ssh-key namespace: anthos-creds .... nodeAccess: loginUser: LOGIN_USERNAME ....
请替换以下内容:
CLUSTER_NAME
:集群的名称。LOGIN_USERNAME
:用于登录用户集群的用户名。
注册 VIP 地址池
如需让平台管理员创建 InventoryMachines
以外的用户集群,Anthos 需要一个包含所有可用虚拟 IP 地址 (VIP) 的池。Management Center Console 使用此池来显示平台管理员可用的 VIP,并在用户集群创建期间验证 VIP 可用性。
在本部分中,您会将 AddressPool
注册到 Anthos 管理员集群,以便稍后创建用户集群。您只需使用 anthos-addresspool-default
名称创建一个地址池。每个用户集群都必须使用此地址池中的 VIP,并且不能重复使用同一 VIP 范围。这些 VIP 必须满足与管理员集群相同的 VIP 要求,且不能与节点的 IP 地址重叠。
kubectl apply -f path/to/ADDRESS_POOL_FILENAME --kubeconfig=ADMIN_KUBECONFIG
将 path/to/ADDRESS_POOL_FILENAME
替换为地址池文件的路径,例如 example-addresspool.yaml
。
example-addresspool.yaml
文件示例:
apiVersion: managementcenter.anthos.cloud.google.com/v1
kind: AddressPool
metadata:
name: anthos-addresspool-default
spec:
description: DESCRIPTION
addresses:
- VIP_ADDRESS_POOL
请替换以下内容:
DESCRIPTION
:输入要在 Management Center Console 中显示的任何其他说明。VIP_ADDRESS_POOL
:VIP 地址池范围,例如10.200.0.100-10.200.0.200
。
注册 Bootstrap Service
Bootstrap Service 是一个机制,用于在用户集群上预装存储服务和 GPU 驱动程序等其他资源(在创建它们之后),以便这些资源立即可用。在创建需要这些服务的用户集群之前,请先创建引导服务。
创建 configmap,其中包含安装服务所需的所有清单。
kubectl create configmap <configmap-name> --kubeconfig=ADMIN_KUBECONFIG \ --from-file=path/to/MANIFESTS --namespace=anthos-management-center
将
path/to/MANIFESTS
替换为清单文件的路径。创建引用 configmap 的 Bootstra Service 对象:
apiVersion: managementcenter.anthos.cloud.google.com/v1 kind: BootstrapService metadata: name: BOOTSTRAP_SERVICE_NAME namespace: anthos-management-center spec: # If set to True, this configuration can be applied to many user clusters, # e.g. a GPU driver configuration. If False, this configuration can only be # applied to a single user cluster, e.g. a CSI Driver + StorageClass # combination which is intended for exclusive use by a single user cluster. # Defaults to False. isReusable: False configMapRef: name: CONFIGMAP_NAME namespace: anthos-management-center
请替换以下内容:
BOOTSTRAP_SERVICE_NAME
:Bootstrap Service 的名称。CONFIGMAP_NAME
:您在上一步中创建的 configmap 的名称。
如果需要更多 Bootstrap Service,请重复上述步骤。