3.4. 通过 OpenShift Container Platform CLI 安装

  1. 为包含 Operator 要求的 Kubernetes 引擎命名空间创建一个多集群引擎。运行以下命令,其中 namespace 是 Kubernetes 引擎命名空间的多集群引擎的名称。在 OpenShift Container Platform 环境中,namespace 的值可能被称为 Project(项目)

    oc create namespace <namespace>
  2. 将项目命名空间切换到您创建的命名空间。使用在第 1 步中创建的 Kubernetes 引擎命名空间的多集群引擎名称替换 namespace

    oc project <namespace>
  3. 创建 YAML 文件来配置 OperatorGroup 资源。每个命名空间只能有一个 operator 组。将 default 替换为 operator 组的名称。将 namespace 替换为项目命名空间的名称。请参见以下示例:

    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: <default>
    spec:
      targetNamespaces:
      - <namespace>
  4. 运行以下命令来创建 OperatorGroup 资源。将 operator-group 替换为您创建的 operator 组 YAML 文件的名称:

    oc apply -f <path-to-file>/<operator-group>.yaml
  5. 创建 YAML 文件来配置 OpenShift Container Platform 订阅。文件内容应类似以下示例:

    apiVersion: operators.coreos.com/v1alpha1
    kind: Subscription
    metadata:
      name: multicluster-engine
    spec:
      sourceNamespace: openshift-marketplace
      source: redhat-operators
      channel: stable-1.0
      installPlanApproval: Automatic
      name: multicluster-engine

    注:要在基础架构节点上安装 Kubernetes 引擎的多集群引擎,请参阅 Operator Lifecycle Manager 订阅其他配置部分。

  6. 运行以下命令来创建 OpenShift Container Platform 订阅。使用您创建的订阅文件的名称替换 subscription

    oc apply -f <path-to-file>/<subscription>.yaml
  7. 创建 YAML 文件来配置 MultiClusterEngine 自定义资源。您的默认模板应类似以下示例:

    apiVersion: multicluster.openshift.io/v1
    kind: MultiClusterEngine
    metadata:
      name: multiclusterengine
    spec: {}

    注:要在基础架构节点上安装 Kubernetes 引擎的多集群引擎,请参阅 MultiClusterEngine 自定义资源额外配置部分:

  8. 运行以下命令来创建 MultiClusterEngine 自定义资源。将 custom-resource 替换为自定义资源文件的名称:

    oc apply -f <path-to-file>/<custom-resource>.yaml

    如果此步骤失败并显示以下错误,则仍然会创建并应用这些资源。创建资源后几分钟内再次运行命令:

    error: unable to recognize "./mce.yaml": no matches for kind "MultiClusterEngine" in version "operator.multicluster-engine.io/v1"
  9. 运行以下命令来获取自定义资源。在运行以下命令后,在 status.phase 字段中显示 MultiClusterEngine 自定义资源状态 Available 可能需要最多 10 分钟时间:

    oc get mce -o=jsonpath='{.items[0].status.phase}'

如果您重新安装 Kubernetes operator 的多集群引擎且 pod 没有启动,请参阅故障排除重新安装失败以了解解决这个问题的步骤。

备注:

  • 具有 ClusterRoleBindingServiceAccount 会自动向多集群引擎授予 Kubernetes 多集群引擎的权限,以及有权访问为 Kubernetes 安装多集群引擎的命名空间的任何用户凭证。