1.4.3. 通过 CLI 安装


  1. 创建一个 hub 集群命名空间,其中包含 Operator 的要求:

    oc create namespace <namespace>
    Copy to Clipboard Toggle word wrap

    使用 hub 集群命名空间的名称替换 namespace备注:在 Red Hat OpenShift Container Platform 环境中,namespace 的值可能被称为 Project (项目)。

    重要:具有 ClusterRoleBindingServiceAccount 会自动向 Red Hat Advanced Cluster Management 以及有权访问安装 Red Hat Advanced Cluster Management 的命名空间的用户凭证授予集群管理员特权。安装还创建一个名为 local-cluster 的命名空间。这个命名空间为 hub 集群保留,以用于对自身的管理。因此,不能已存在名为 local-cluster 的命名空间。出于安全考虑,不要向任何还没有 cluster-administrator 访问权限的用户授予 local-cluster 的访问权限。

  2. 将项目命名空间切换到您创建的命名空间:

    oc project <namespace>
    Copy to Clipboard Toggle word wrap

    使用在第 1 步中创建的 hub 集群命名空间的名称替换 namespace

  3. 如果您计划导入不是由 OpenShift Container Platform 或 Red Hat Advanced Cluster Management 创建的 Kubernetes 集群,生成一个包含 OpenShift Container Platform pull secret 信息的 secret,以从发行 registry 中访问授权内容。OpenShift Container Platform 集群的 secret 要求由 OpenShift Container Platform 和 Red Hat Advanced Cluster Management 自动解决,因此如果您没有导入其他类型的 Kubernetes 集群,则不必创建 secret。重要:这些 secret 是特定于命名空间的,因此请确保处于在第 1 步中创建的命名空间中。

    1. 选择 Download pull secretcloud.redhat.com/openshift/install/pull-secret 下载 OpenShift Container Platform pull secret 文件。您的 OpenShift Container Platform pull secret 与您的 Red Hat Customer Portal ID 相关联,在所有 Kubernetes 供应商中都是相同的。
    2. 运行以下命令来创建 secret:

      oc create secret generic <secret> -n <namespace> --from-file=.dockerconfigjson=<path-to-pull-secret> --type=kubernetes.io/dockerconfigjson
      Copy to Clipboard Toggle word wrap

      secret 替换为您要创建的 secret 的名称。将 namespace 替换为项目命名空间。将 path-to-pull-secret 替换为您下载的 OpenShift Container Platform pull secret 的路径。

  4. 创建一个 operator 组。每个命名空间只能有一个 operator 组。

    1. 创建一个用来定义 operator 组的 .yaml 文件。文件内容应类似以下示例:

      apiVersion: operators.coreos.com/v1
      kind: OperatorGroup
      metadata:
        name: <default>
      spec:
        targetNamespaces:
        - <namespace>
      Copy to Clipboard Toggle word wrap

      default 替换为 operator 组的名称。将 namespace 替换为项目命名空间的名称。

    2. 应用您创建的文件来定义 operator 组:

      oc apply -f local/<operator-group>.yaml
      Copy to Clipboard Toggle word wrap

      使用您创建的 .yaml 文件定义的 operator 组来替换 operator-group

  5. 应用订阅。

    1. 创建定义订阅的 .yaml 文件。文件内容应类似以下示例:

      apiVersion: operators.coreos.com/v1alpha1
      kind: Subscription
      metadata:
        name: acm-operator-subscription
      spec:
        sourceNamespace: openshift-marketplace
        source: redhat-operators
        channel: release-2.1
        installPlanApproval: Automatic
        name: advanced-cluster-management
      Copy to Clipboard Toggle word wrap
    2. 应用订阅:

      oc apply -f local/<subscription>.yaml
      Copy to Clipboard Toggle word wrap

      使用您创建的订阅文件的名称替换 subscription

  6. 应用 MultiClusterHub 自定义资源。

    1. 创建定义自定义资源的 .yaml 文件。

      • 如果没有创建 pull secret,则默认模板应类似以下示例:

        apiVersion: operator.open-cluster-management.io/v1
        kind: MultiClusterHub
        metadata:
          name: multiclusterhub
          namespace: <namespace>
        Copy to Clipboard Toggle word wrap

        namespace 替换为项目命名空间的名称。

      • 如果创建了 pull secret,则默认模板应类似以下示例:

        apiVersion: operator.open-cluster-management.io/v1
        kind: MultiClusterHub
        metadata:
          name: multiclusterhub
          namespace: <namespace>
        spec:
          imagePullSecret: <secret>
        Copy to Clipboard Toggle word wrap

        namespace 替换为项目命名空间的名称。

        secret 替换为您的 pull secret 的名称。

    2. 可选:如有必要,禁用 hub 自我管理。默认情况下,hub 集群会自动由自身导入和管理,与其他集群一样。如果您不希望 hub 集群管理自己,将 disableHubSelfManagement 的设置从 false 改为 true。如果您创建了 pull secret 并启用了 disableHub selfManagement 功能,则默认模板应类似以下示例:

      apiVersion: operator.open-cluster-management.io/v1
      kind: MultiClusterHub
      metadata:
        name: multiclusterhub
        namespace: <namespace>
      spec:
        imagePullSecret: <secret>
        disableHubSelfManagement: true
      Copy to Clipboard Toggle word wrap

      namespace 替换为项目命名空间的名称。

      secret 替换为您的 pull secret 的名称。

    3. 应用自定义资源:

      oc apply -f local/<custom-resource>.yaml
      Copy to Clipboard Toggle word wrap

      custom-resource 替换为自定义资源文件的名称。

      重要:local-cluster 命名空间用于导入的自管理的 hub 集群。在安装前,集群中不能有 local-cluster 命名空间。为 hub 集群创建 local-cluster 命名空间后,任何有权访问 local-cluster 命名空间的用户会自动被授予集群管理员访问权限。出于安全考虑,不要向任何还没有 cluster-administrator 访问权限的用户授予 local-cluster 的访问权限。

      如果此步骤失败并显示以下错误信息,则仍会创建并应用这些资源:

      error: unable to recognize "./mch.yaml": no matches for kind "MultiClusterHub" in version "operator.open-cluster-management.io/v1"
      Copy to Clipboard Toggle word wrap

      创建资源后几分钟内再次运行命令。

  7. 在运行以下命令后,MultiClusterHub 自定义资源状态可能最多需要 10 分钟在 status.phase 字段中显示为 Running

    oc get mch -o=jsonpath='{.items[0].status.phase}'
    Copy to Clipboard Toggle word wrap
  8. 状态变为 Running 后,查看查找路由的路由列表:

    oc get routes
    Copy to Clipboard Toggle word wrap

如果您重新安装 Red Hat Advanced Cluster Management,且 pod 没有启动,请参阅对安装失败进行故障排除以了解解决这个问题的步骤。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat