1.4. 在断开连接的网络环境中安装
您可能需要在断开连接的环境中安装 Red Hat Advanced Cluster Management for Kubernetes。要在断开连接的 hub 集群上安装,除了用于连接网络环境的常规安装或升级步骤外,还执行下列步骤。
需要的访问权限: 需要所有安装和升级任务的集群管理访问权限。
在开始前,请查看要求和建议部分,然后参阅以下部分:
1.4.1. 先决条件
在安装 Red Hat Advanced Cluster Management for Kubernetes 前,需要满足以下要求:
- 由于您在断开连接的网络环境中安装,您需要访问本地镜像 registry 以存储镜像 Operator Lifecycle Manager 目录和 Operator 镜像。在此环境中安装 OpenShift Container Platform 集群时,您可能已经设置了一个本地镜像 registry,因此应该可以使用相同的本地镜像 registry。
- 您必须有一个可以访问互联网和您的本地镜像 registry 的工作站。
-
支持的 Red Hat OpenShift Container Platform 版本必须部署到您的环境中,且必须使用 CLI 登录。有关安装 Red Hat OpenShift Container Platform 的信息,请参阅 OpenShift Container Platform 版本 4.11 安装文档。如需有关使用 Red Hat OpenShift CLI 安装和配置
oc
命令的信息,请参阅 CLI 入门。 - 请参阅调整集群大小以了解如何为您的 hub 集群设置容量。
1.4.2. 确认 OpenShift Container Platform 安装
连接后,运行
oc -n openshift-console get route
命令来访问 OpenShift Container Platform Web 控制台。请参见以下示例输出:openshift-console console console-openshift-console.apps.new-coral.purple-chesterfield.com console https reencrypt/Redirect None
在浏览器中打开 URL 并检查结果。如果控制台 URL 显示 console-openshift-console.router.default.svc.cluster.local
,当安装 OpenShift Container Platform 时把 openshift_master_default_subdomain
设置为这个值。
1.4.3. 确认本地镜像 registry 的可用性
最佳实践: 将现有的镜像 registry 用于 Operator Lifecycle Manager Operator 相关内容。
在断开连接的环境中安装 Red Hat Advanced Cluster Management for Kubernetes 涉及使用本地镜像 registry。由于您已在断开连接的环境中完成 OpenShift Container Platform 集群的安装,所以您已设置了一个镜像 registry,以便在 Red Hat OpenShift Container Platform 集群安装过程中使用。
如果您还没有本地镜像 registry,请按照完成 镜像镜像中介绍的步骤创建一个镜像,以便进行 Red Hat OpenShift Container Platform 文档的断开连接的安装。
1.4.4. 配置 Operator Lifecycle Manager
因为 Red Hat Advanced Cluster Management for Kubernetes 打包为 Operator,所以使用 Operator Lifecycle Manager 进行安装。
在断开连接的环境中,Operator Lifecycle Manager 无法访问红帽提供的 Operator 的标准 Operator 源,因为它们托管在无法从断开连接的集群访问的镜像 registry 上。集群管理员可以使用镜像 registry 和 Operator 目录在断开连接的环境中启用安装和升级 Operator。
要准备断开连接的集群以安装 Red Hat Advanced Cluster Management for Kubernetes,请按照 OpenShift Container Platform 文档中 受限网络中的 Operator Lifecycle Manager 中的内容进行。
1.4.4.1. 额外要求
完成前面的步骤后,请注意以下特定于 Red Hat Advanced Cluster Management for Kubernetes 的要求:
1.4.4.1.1. 在镜像目录中包含 operator 软件包
在镜像目录中包括所需的 Operator 软件包。红帽在 Red Hat operator 目录中提供了 Red Hat Advanced Cluster Management for Kubernetes operator,它由
registry.redhat.io/redhat/redhat-operator-index
索引镜像提供。当您准备此目录索引镜像的镜像时,您可以选择将镜像整个目录作为红帽提供的镜像,或者镜像只包含您要使用的 Operator 软件包的子集。如果您要创建完整镜像目录,则不需要特别考虑安装 Red Hat Advanced Cluster Management for Kubernetes 所需的所有软件包。但是,如果您要创建部分或过滤了镜像目录,您要为其识别要包含的特定软件包,则需要在您的列表中包含以下软件包名称:
-
advanced-cluster-manager
-
multicluster-engine
-
- 使用两个镜像程序中的一个。
如果您使用 OPM 实用程序(
opm index prune
)创建镜像的目录或 registry,请在-p
选项的值中包含以下软件包名称,如下例所示:opm index prune \ -f registry.redhat.io/redhat/redhat-operator-index:v4.10 \ -p advanced-cluster-management,multicluster-engine \ -t myregistry.example.com:5000/mirror/my-operator-index:v4.10
如果您使用
oc-mirror
插件填充镜像的目录或 registry,请在ImageSetConfiguration
的 packages 列表中包含以下软件包名称,如下例所示:kind: ImageSetConfiguration apiVersion: mirror.openshift.io/v1alpha2 storageConfig: registry: imageURL: myregistry.example.com:5000/mirror/oc-mirror-metadata mirror: platform: channels: - name: stable-4.10 type: ocp operators: - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.11 packages: - name: advanced-cluster-management - name: multicluster-engine additionalImages: [] helm: {}
1.4.4.1.2. 配置以使用您的镜像 registry
当您填充安装 Red Hat Advanced Cluster Management for Kubernetes 所需的软件包的本地镜像 registry 时,请完成使用 Operator Lifecycle Manager 在受限网络中使用 Operator Lifecycle Manager 的步骤,以便断开连接的集群中提供您的镜像 registry 和目录,其中包括以下步骤:
1.4.4.1.3. 查找目录源名称
如 Red Hat OpenShift Container Platform 文档中的步骤所述,您需要在断开连接的集群中添加 CatalogSource
资源。重要信息: 请注意 metadata.name
字段的值,稍后您将需要。
使用类似以下示例的 YAML 文件,将 CatalogSource
资源添加到 openshift-marketplace
命名空间中:
apiVersion: operators.coreos.com/v1alpha1 kind: CatalogSource metadata: name: my-mirror-catalog-source namespace: openshift-marketplace spec: image: myregistry.example.com:5000/mirror/my-operator-index:v4.10 sourceType: grpc
在稍后创建的 MulticlusterHub
资源中需要注解的 metadata.name
字段值。
1.4.5. 验证所需的软件包可用
Operator Lifecycle Manager 定期轮询可用软件包的目录源。Operator Lifecycle Manager 轮询镜像目录的目录源后,您可以通过查询可用的 PackageManifest
资源来验证在断开连接的集群中是否有所需软件包可用。
运行以下命令,定向至断开连接的集群:
oc -n openshift-marketplace get packagemanifests
此时会显示的列表应该包括以下软件包由您的镜像目录的目录源提供:
-
advanced-cluster-manager
-
multicluster-engine
1.4.6. 配置镜像内容源策略
为了让集群从您的镜像 registry 获取 Red Hat Advanced Cluster Management for Kubernetes Operator 的容器镜像,而不是从互联网托管的 registry 中配置 ImageContentSourcePolicy,以便在断开连接的环境中配置 ImageContentSourcePolicy
,以将镜像引用重定向到您的镜像 registry。
如果使用 oc adm catalog mirror
命令对目录进行镜像,所需的镜像内容源策略配置位于由该命令创建的 manifests-*
目录的 imageContentSourcePolicy.yaml
文件中。
如果您使用 oc-mirror 插件替代您的目录,则 imageContentSourcePolicy.yaml
文件位于 oc-mirror-workspace/results-*
目录中。
在这两种情况下,您可以使用 oc apply
或 oc replace
命令将策略应用到断开连接的命令中,例如:
oc replace -f ./<path>/imageContentSourcePolicy.yaml
所需的镜像内容源策略语句会根据您创建镜像 registry 的方式而有所不同,但与以下示例类似:
apiVersion: operator.openshift.io/v1alpha1 kind: ImageContentSourcePolicy metadata: labels: operators.openshift.org/catalog: "true" name: operator-0 spec: repositoryDigestMirrors: - mirrors: - myregistry.example.com:5000/rhacm2 source: registry.redhat.io/rhacm2 - mirrors: - myregistry.example.com:5000/multicluster-engine source: registry.redhat.io/multicluster-engine - mirrors: - myregistry.example.com:5000/openshift4 source: registry.redhat.io/openshift4 - mirrors: - myregistry.example.com:5000/redhat source: registry.redhat.io/redhat
1.4.7. 安装 Red Hat Advanced Cluster Management for Kubernetes operator 和 hub 集群
按照前所述配置了 Operator Lifecycle Manager 和 Red Hat OpenShift Container Platform,您可以使用 OperatorHub 控制台或 CLI 安装 Red Hat Advanced Cluster Management for Kubernetes。遵循在连接的环境中安装中介绍的相同指导。
重要: 创建 MulticlusterHub
资源是 hub 集群的安装过程开始。
因为集群上的 Operator 安装需要为镜像目录使用非默认目录源,所以 MulticlusterHub
资源中需要一个特殊的注解来向 Operator 提供镜像目录源的名称。以下示例显示了所需的 mce-subscription-spec
注解:
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: namespace: open-cluster-management name: hub annotations: installer.open-cluster-management.io/mce-subscription-spec: '{"source": "my-mirror-catalog-source"}' spec: {}
需要 mce-subscription-spec
注解,因为 multicluster engine operator 在 Red Hat Advanced Cluster Management 安装过程中被自动安装。如果您要使用 CLI 创建资源,请在使用 oc apply
命令应用的 YAML 中包含 mce-subscription-spec
注解来创建 MulticlusterHub
资源。
如果使用 OperatorHub 控制台创建资源,切换到 YAML 视图 并插入前面显示的注解。重要: OperatorHub 控制台中的字段在 Field 视图 面板中没有注解的字段来创建 MulticlusterHub
。
1.4.8. 手动镜像 ironic 代理镜像
如果您使用 Infrastructure Operator for Red Hat OpenShift 部署受管集群,则安装所需的 ironic 代理镜像不会自动镜像到受管集群断开连接的环境中。请参阅 使用 Assisted Installer 时镜像镜像 以了解如何手动镜像匹配的 ironic 代理镜像。