安装 Anthos Management Center

本页面适用于基础架构运维者

本页面介绍如何安装 Anthos Management Center 并获取其网址。

安装管理中心

在本部分中,您将在裸机机器上安装管理员集群,然后在管理员集群的基础之上安装管理中心。

准备管理员集群配置

使用与您的环境匹配的设置更新 ./actl-workspace/admin/admin.yaml 文件。

vi ./actl-workspace/admin/admin.yaml

填写以下字段:

  • sshPrivateKeyPath 是在安装过程中用于访问属于集群的其他节点的密钥。这是您分发给前提条件中的节点的公钥的私钥部分。

  • registryMirrors 标识存储 Docker 映像的所有注册表镜像的位置。

    • registryMirrors.endpoint 是镜像的端点。端点的格式为 URL_SCHEME://REGISTRY_HOST/v2/IMAGE_PREFIX 。例如,如果您在工作站上创建注册表,请将端点设置为 https://REGISTRY_HOST/v2/library。请注意,REGISTRY_HOSTIMAGE_PREFIX 之间的 /v2/ 是必需的。

    • registryMirrors.pullCredentialConfigPath 是凭据的路径。通常,这与 /home/USER/.docker/config.json 类似。

    • registryMirrors.caCertPath 是注册表将用于加密流量的证书授权机构的位置。在安装过程中,此证书会分发给节点,以允许它们从注册表中拉取映像。路径通常为 /etc/docker/certs.d/REGISTRY_HOST/ca.crt

  • controlPlane 规范定义了哪些节点属于控制层面。如果使用高可用性部署,请指定三个 IP 地址,例如:

    controlPlane:
      nodePoolSpec:
        nodes:
        # Control plane node pools. Typically, this is either a single machine
        # or 3 machines if using a high availability deployment.
        - address: 10.200.0.3
        - address: 10.200.0.4
        - address: 10.200.0.5
    
  • loadBalancer 规范定义了使用的负载均衡器类型。默认配置会将负载均衡器安装到正在运行的集群上。在这种情况下,您至少需要设置 controlPlaneVIP 以标识用于公开 Kubernetes API 服务器的虚拟 IP (VIP) 地址池,并设置 addressPools 以分配 VIP 按需提供。例如:

    loadBalancer:
      mode: bundled
      # There are two load balancer VIPs: one for the control plane and one for the
      # Layer 7 Ingress service.
      # The VIPs must be in the same subnet as the load balancer nodes.
      vips:
        # ControlPlaneVIP specifies the VIP to connect to the Kubernetes API server.
        # This address must not be in the address pools below.
        controlPlaneVIP: 10.200.0.50
      # AddressPools is a list of non-overlapping IP ranges for the data plane load
      # balancer.
      # All addresses must be in the same subnet as the load balancer nodes.
      # Address pool configuration is only valid for 'bundled' LB mode in non-admin
      # clusters.
      addressPools:
      - name: pool1
        addresses:
        # Each address must be either in the CIDR form (1.2.3.0/24)
        # or range form (1.2.3.1-1.2.3.5).
        - 10.200.0.51-10.200.0.59
    
  • 集群规范的最后一部分指定 loginUser。此登录必须能够访问下面指定的 SSH 密钥,并且是在前提条件中为其分配密钥的用户。

    nodeAccess:
      loginUser: LOGIN_USERNAME
    

    LOGIN_USERNAME 替换为用于登录用户集群的用户名。

  • nodePool 规范标识将在管理员集群上托管 Management Center Console、Prometheus、Grafana 和其他服务的节点。这些节点是管理员集群的工作器节点。例如:

    apiVersion: baremetal.cluster.gke.io/v1
    kind: NodePool
    metadata:
      name: node-pool-1
      namespace: cluster-admin
    spec:
      # Cannot be changed, must be admin
      clusterName: admin
      nodes:
      - address: 10.200.0.6
    

创建管理员集群

运行以下命令以创建管理员集群。此过程大约需要 30 分钟。如果您在创建管理员集群时遇到问题,请参阅已知问题

cd ~/anthos-baremetal-private-mode
actl clusters baremetal create admin

创建管理员集群后,请检查您是否有权访问该集群。

export ADMIN_KUBECONFIG=$(pwd)/actl-workspace/admin/admin-kubeconfig

kubectl get nodes --kubeconfig=${ADMIN_KUBECONFIG}

可选:注册资源

您可以修改 ./managementcenter/management-center.yaml 配置文件以自动注册资源,这样在安装完成时便可使用这些资源。或者,您也可以跳过此部分,而是在完成管理中心的安装之后手动注册资源

打开 ./managementcenter/management-center.yaml 文件以自定义管理中心的安装。

vi ./managementcenter/management-center.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 是附加到资源的自由格式键值对。这些标签稍后可用于管理中心以过滤机器。例如,您可以使用标签来标识机架位置或特殊硬件配置。

注册虚拟 IP (VIP) 地址池

在管理员集群中注册 AddressPool,以便稍后用于创建用户集群。

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 驱动程序等其他资源(在创建它们之后),以便这些资源立即可用。

  1. 创建 configmap,其中包含安装服务所需的所有清单。

    kubectl create configmap <configmap-name> --kubeconfig=ADMIN_KUBECONFIG \
      --from-file=path/to/MANIFESTS --namespace=anthos-management-center
    

    path/to/MANIFESTS 替换为清单文件的路径。

  2. 将以下部分添加到 ./managementcenter/management-center.yaml 文件中,以创建引用 configmap 的 Bootstrap 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 的名称。

安装管理中心

将管理中心安装到管理员集群上。

默认配置

通过这些说明可安装具有最低默认配置的管理中心。

cd ~/anthos-baremetal-private-mode
actl platform management-center create

自定义配置

通过这些说明可使用自定义配置安装管理中心。这样,您就可以在安装管理中心之前自定义设置。为此,请更新 ./managementcenter/management-center.yaml 文件以自定义管理中心安装。

vi ./managementcenter/management-center.yaml

使用自定义配置安装管理中心。

cd ~/anthos-baremetal-private-mode
actl platform management-center create --config managementcenter/management-center.yaml

获取管理中心网址

管理中心的网址会在管理中心的安装完成之后输出,但也可以通过运行以下命令进行检索:

actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}

您可以与平台管理员共享返回的网址,以便他们可以访问管理中心。

配置域名以访问管理中心

如需配置您自己的域名以访问管理中心,请执行以下操作:

A record 添加到您的 DNS 网域配置,并将其设置为以下命令返回的 IP 地址:

actl platform management-center describe --kubeconfig=${ADMIN_KUBECONFIG}

后续步骤