1.3.4.10. 无法跨架构创建集群
您无法在不创建包含这两个架构文件的发行镜像 (ClusterImageSet
) 的情况下在与 hub 集群架构不同的架构中创建受管集群。例如,您无法从 ppc64le
hub 集群创建 x86_64
集群。集群创建失败,因为 OpenShift Container Platform 发行 registry 不提供多架构镜像清单。
要临时解决这个问题,请完成以下步骤:
通过 OpenShift Container Platform release registry,创建一个包括
x86_64
和ppc64le
发行镜像的清单列表。从 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
登录到维护镜像的私有存储库:
$ podman login <private-repo>
使用存储库的路径替换
private-repo
。运行以下命令,将发行镜像清单添加到私有存储库中:
$ 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
。为新信息创建清单:
$ podman manifest create mymanifest
将两个发行镜像的引用添加到清单列表中:
$ 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
。将清单列表中的列表与现有清单合并:
$ podman manifest push mymanifest docker://<private-repo>/ocp-release:4.8.1
使用存储库的路径替换
private-repo
。
在 hub 集群中,创建一个发行版本镜像来引用存储库中的清单。
创建一个
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
。在 hub 集群中运行以下命令以应用更改:
oc apply -f <file-name>.yaml
将
file-name
替换为您刚才创建的YAML
文件的名称。
- 在创建 OpenShift Container Platform 集群时选择新的发行镜像。
创建流程使用合并的发行镜像来创建集群。