1.4.3. 通过 CLI 安装


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

    oc create namespace <namespace>

    使用 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>

    使用在第 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

      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>

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

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

      oc apply -f local/<operator-group>.yaml

      使用您创建的 .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
    2. 应用订阅:

      oc apply -f local/<subscription>.yaml

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

  6. 应用 MultiClusterHub 自定义资源。

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

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

        apiVersion: operator.open-cluster-management.io/v1
        kind: MultiClusterHub
        metadata:
          name: multiclusterhub
          namespace: <namespace>

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

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

        apiVersion: operator.open-cluster-management.io/v1
        kind: MultiClusterHub
        metadata:
          name: multiclusterhub
          namespace: <namespace>
        spec:
          imagePullSecret: <secret>

        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

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

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

    3. 应用自定义资源:

      oc apply -f local/<custom-resource>.yaml

      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"

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

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

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

    oc get routes

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

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.