搜索

1.3. 在断开连接的网络环境中安装

download PDF

您可能需要在断开连接的环境中安装 Red Hat Advanced Cluster Management for Kubernetes。要在断开连接的 hub 集群上安装,除了用于连接网络环境的常规安装或升级步骤外,还执行下列步骤。

需要的访问权限: 需要所有安装和升级任务的集群管理访问权限。

请参见以下部分:

1.3.1. 先决条件

在安装 Red Hat Advanced Cluster Management for Kubernetes 前,需要满足以下要求:

1.3.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.3.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 文档 的断开连接的安装 mirror 镜像中所述的步骤创建一个

1.3.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.3.4.1. 额外要求

完成前面的步骤后,请注意以下特定于 Red Hat Advanced Cluster Management for Kubernetes 的要求:

1.3.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-management
    • multicluster-engine
  • 使用两个镜像程序中的一个。
  • 如果您使用 OPM 实用程序、opm index prune 创建镜像的目录或 registry,请在 -p 选项的值中包含以下软件包名称,如以下示例所示,使用当前版本替换 4.x

    opm index prune \
       -f registry.redhat.io/redhat/redhat-operator-index:v4.x \
       -p advanced-cluster-management,multicluster-engine \
       -t myregistry.example.com:5000/mirror/my-operator-index:v4.x
  • 如果您使用 oc-mirror 插件填充镜像的目录或 registry,请在 ImageSetConfiguration 的 packages 列表中包含以下软件包名称,如下例所示,使用当前版本替换 4.x

    kind: ImageSetConfiguration
    apiVersion: mirror.openshift.io/v1alpha2
    storageConfig:
      registry:
         imageURL: myregistry.example.com:5000/mirror/oc-mirror-metadata
    mirror:
      platform:
        channels:
        - name: stable-4.x
          type: ocp
      operators:
      - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.11
        packages:
        - name: advanced-cluster-management
        - name: multicluster-engine
      additionalImages: []
      helm: {}
1.3.4.1.2. 配置以使用您的镜像 registry

当您填充了安装 Red Hat Advanced Cluster Management for Kubernetes 所需的较早软件包的本地镜像 registry 时,请完成 在受限网络中使用 Operator Lifecycle Manager 中描述的步骤,以便在断开连接的环境中提供您的镜像 registry 和目录,其中包括以下步骤:

1.3.4.1.3. 查找目录源名称

如 Red Hat OpenShift Container Platform 文档中的步骤所述,您需要在断开连接的集群中添加 CatalogSource 资源。重要信息: 请注意 metadata.name 字段的值,稍后您将需要。

使用类似以下示例的 YAML 文件将 CatalogSource 资源添加到 openshift-marketplace 命名空间中,将 4.x 替换为当前版本:

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.x
  sourceType: grpc

在稍后创建的 MulticlusterHub 资源中需要注解的 metadata.name 字段值。

1.3.5. 验证所需的软件包可用

Operator Lifecycle Manager 定期轮询可用软件包的目录源。Operator Lifecycle Manager 轮询镜像目录的目录源后,您可以通过查询可用的 PackageManifest 资源来验证在断开连接的集群中是否有所需软件包可用。

运行以下命令,定向至断开连接的集群:

oc -n openshift-marketplace get packagemanifests

此时会显示的列表应该包括以下软件包由您的镜像目录的目录源提供:

  • advanced-cluster-management
  • multicluster-engine

1.3.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 applyoc 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.3.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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.