1.3.4.10. 无法跨架构创建集群

您无法在不创建包含这两个架构文件的发行镜像 (ClusterImageSet) 的情况下在与 hub 集群架构不同的架构中创建受管集群。例如,您无法从 ppc64le hub 集群创建 x86_64 集群。集群创建失败,因为 OpenShift Container Platform 发行 registry 不提供多架构镜像清单。

要临时解决这个问题,请完成以下步骤:

  1. 通过 OpenShift Container Platform release registry,创建一个包括 x86_64ppc64le 发行镜像的清单列表

    1. 从 Quay 存储库拉取这两个架构的清单列表:

      $ podman pull quay.io/openshift-release-dev/ocp-release:4.8.1-x86_64
      $ podman pull quay.io/openshift-release-dev/ocp-release:4.8.1-ppc64le
    2. 登录到维护镜像的私有存储库:

      $ podman login <private-repo>

      使用存储库的路径替换 private-repo

    3. 运行以下命令,将发行镜像清单添加到私有存储库中:

      $ podman push quay.io/openshift-release-dev/ocp-release:4.8.1-x86_64 <private-repo>/ocp-release:4.8.1-x86_64
      $ podman push quay.io/openshift-release-dev/ocp-release:4.8.1-ppc64le <private-repo>/ocp-release:4.8.1-ppc64le

      使用存储库的路径替换 private-repo

    4. 为新信息创建清单:

      $ podman manifest create mymanifest
    5. 将两个发行镜像的引用添加到清单列表中:

      $ podman manifest add mymanifest <private-repo>/ocp-release:4.8.1-x86_64
      $ podman manifest add mymanifest <private-repo>/ocp-release:4.8.1-ppc64le

      使用存储库的路径替换 private-repo

    6. 将清单列表中的列表与现有清单合并:

      $ podman manifest push mymanifest docker://<private-repo>/ocp-release:4.8.1

      使用存储库的路径替换 private-repo

  2. 在 hub 集群中,创建一个发行版本镜像来引用存储库中的清单。

    1. 创建一个 YAML 文件,其中包含类似以下示例的信息:

      apiVersion: hive.openshift.io/v1
      kind: ClusterImageSet
      metadata:
        labels:
          channel: fast
          visible: "true"
        name: img4.8.1-appsub
      spec:
        releaseImage: <private-repo>/ocp-release:4.8.1

      使用存储库的路径替换 private-repo

    2. 在 hub 集群中运行以下命令以应用更改:

      oc apply -f <file-name>.yaml

      file-name 替换为您刚才创建的 YAML 文件的名称。

  3. 在创建 OpenShift Container Platform 集群时选择新的发行镜像。

创建流程使用合并的发行镜像来创建集群。