搜索

4.4. 在 GCP 上使用多架构计算机器创建集群

download PDF

要使用多架构计算机器创建 Google Cloud Platform (GCP)集群,您必须首先使用多架构安装程序二进制文件创建一个单架构 GCP 安装程序置备集群。如需有关 AWS 安装的更多信息,请参阅使用自定义在 GCP 上安装集群。然后,您可以在 GCP 集群中添加 ARM64 计算机器集。

注意

GCP 的 ARM64 机器目前不支持安全引导

4.4.1. 验证集群兼容性

在开始在集群中添加不同架构的计算节点前,您必须验证集群是否兼容多架构。

先决条件

  • 已安装 OpenShift CLI (oc)

流程

  • 您可以运行以下命令来检查集群是否使用构架有效负载:

    $ oc adm release info -o jsonpath="{ .metadata.metadata}"

验证

  1. 如果您看到以下输出,集群将使用多架构有效负载:

    {
     "release.openshift.io/architecture": "multi",
     "url": "https://access.redhat.com/errata/<errata_version>"
    }

    然后,您可以开始在集群中添加多架构计算节点。

  2. 如果您看到以下输出,集群不使用多架构有效负载:

    {
     "url": "https://access.redhat.com/errata/<errata_version>"
    }
    重要

    要迁移集群以便集群支持多架构计算机器,请按照使用多架构计算机器迁移到集群的步骤进行操作。

4.4.2. 在 GCP 集群中添加 ARM64 计算机器集

要使用多架构计算机器配置集群,您必须创建一个 GCP ARM64 计算机器集。这会在集群中添加 ARM64 计算节点。

先决条件

  • 已安装 OpenShift CLI(oc)。
  • 您可以使用安装程序创建带有多架构安装程序二进制文件的 AMD64 单架构 AWS 集群。

流程

  • 创建和修改计算机器集,这会控制集群中的 ARM64 计算节点:

    $ oc create -f gcp-arm64-machine-set-0.yaml

    部署 ARM64 计算节点的 GCP YAML 计算机器集示例

    apiVersion: machine.openshift.io/v1beta1
    kind: MachineSet
    metadata:
      labels:
        machine.openshift.io/cluster-api-cluster: <infrastructure_id> 1
      name: <infrastructure_id>-w-a
      namespace: openshift-machine-api
    spec:
      replicas: 1
      selector:
        matchLabels:
          machine.openshift.io/cluster-api-cluster: <infrastructure_id>
          machine.openshift.io/cluster-api-machineset: <infrastructure_id>-w-a
      template:
        metadata:
          creationTimestamp: null
          labels:
            machine.openshift.io/cluster-api-cluster: <infrastructure_id>
            machine.openshift.io/cluster-api-machine-role: <role> 2
            machine.openshift.io/cluster-api-machine-type: <role>
            machine.openshift.io/cluster-api-machineset: <infrastructure_id>-w-a
        spec:
          metadata:
            labels:
              node-role.kubernetes.io/<role>: ""
          providerSpec:
            value:
              apiVersion: gcpprovider.openshift.io/v1beta1
              canIPForward: false
              credentialsSecret:
                name: gcp-cloud-credentials
              deletionProtection: false
              disks:
              - autoDelete: true
                boot: true
                image: <path_to_image> 3
                labels: null
                sizeGb: 128
                type: pd-ssd
              gcpMetadata: 4
              - key: <custom_metadata_key>
                value: <custom_metadata_value>
              kind: GCPMachineProviderSpec
              machineType: n1-standard-4 5
              metadata:
                creationTimestamp: null
              networkInterfaces:
              - network: <infrastructure_id>-network
                subnetwork: <infrastructure_id>-worker-subnet
              projectID: <project_name> 6
              region: us-central1 7
              serviceAccounts:
              - email: <infrastructure_id>-w@<project_name>.iam.gserviceaccount.com
                scopes:
                - https://www.googleapis.com/auth/cloud-platform
              tags:
                - <infrastructure_id>-worker
              userDataSecret:
                name: worker-user-data
              zone: us-central1-a

    1
    指定基于置备集群时所设置的集群 ID 的基础架构 ID。您可以运行以下命令来获取基础架构 ID:
    $ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
    2
    指定要添加的角色节点标签。
    3
    指定当前计算机器集中使用的镜像的路径。您需要到镜像的路径的项目和镜像名称。

    要访问项目和镜像名称,请运行以下命令:

    $ oc get configmap/coreos-bootimages \
      -n openshift-machine-config-operator \
      -o jsonpath='{.data.stream}' | jq \
      -r '.architectures.aarch64.images.gcp'

    输出示例

      "gcp": {
        "release": "415.92.202309142014-0",
        "project": "rhcos-cloud",
        "name": "rhcos-415-92-202309142014-0-gcp-aarch64"
      }

    使用输出中的 projectname 参数,在机器集中创建 image 字段的路径。镜像的路径应该采用以下格式:

    $ projects/<project>/global/images/<image_name>
    4
    可选:以 key:value 对的形式指定自定义元数据。有关用例,请参阅 GCP 文档,以查看设置自定义元数据
    5
    指定支持 ARM64 的机器类型。如需更多信息,请参阅"添加资源"的 64 位 ARM 基础架构上为 GCP 测试的实例类型
    6
    指定用于集群的 GCP 项目的名称。
    7
    指定区域,如 us-central1。确保您选择的区域提供 64 位 ARM 机器。

验证

  1. 输入以下命令来查看计算机器集列表:

    $ oc get machineset -n openshift-machine-api

    然后,您可以看到创建的 ARM64 机器集。

    输出示例

    NAME                                                DESIRED  CURRENT  READY  AVAILABLE  AGE
    <infrastructure_id>-gcp-arm64-machine-set-0                   2        2      2          2  10m

  2. 您可以使用以下命令检查节点是否就绪并可访问:

    $ oc get nodes
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.