搜索

1.3. 安装和升级多集群引擎 Operator

download PDF

multicluster engine operator 是一个软件 operator,用于增强集群团队管理。multicluster engine operator 支持跨云和数据中心的 Red Hat OpenShift Container Platform 和 Kubernetes 集群生命周期管理。

访问 支持列表,了解 hub 集群和受管集群要求和支持。

重要: 如果您使用 Red Hat Advanced Cluster Management 版本 2.5 或更高版本,则集群中已安装了 Kubernetes operator 的多集群引擎。

请参阅以下文档:

1.3.1. 在线安装

multicluster engine operator 安装有 Operator Lifecycle Manager,用于管理安装、升级和删除包含 multicluster engine operator 的组件。

需要的访问权限:集群管理员

重要:

  • 对于 OpenShift Container Platform Dedicated 环境,必须具有 cluster-admin 权限。默认情况下,dedicated-admin 角色没有在 OpenShift Container Platform Dedicated 环境中创建命名空间所需的权限。
  • 默认情况下,多集群引擎 Operator 组件安装在 OpenShift Container Platform 集群的 worker 节点上,而无需额外的配置。您可以使用 OpenShift Container Platform OperatorHub Web 控制台界面或使用 OpenShift Container Platform CLI 将多集群引擎 Operator 安装到 worker 节点上。
  • 如果您使用基础架构节点配置了 OpenShift Container Platform 集群,您可以使用带有其他资源参数的 OpenShift Container Platform CLI 将多集群引擎 Operator 安装到这些基础架构节点上。详情请参阅在基础架构节点上安装多集群引擎部分。
  • 如果您计划导入不是由 OpenShift Container Platform 或 Kubernetes operator 的多集群引擎创建的 Kubernetes 集群,则需要配置镜像 pull secret。有关如何配置镜像 pull secret 和其他高级配置的详情,请参考本文档的高级配置部分中的选项。

1.3.1.1. 先决条件

在为 Kubernetes operator 安装多集群引擎前,请查看以下要求:

  • 您的 Red Hat OpenShift Container Platform 集群必须通过 OpenShift Container Platform 控制台访问 OperatorHub 目录中的 multicluster engine operator。
  • 您需要访问 catalog.redhat.com
  • OpenShift Container Platform 4.13 或更高版本必须部署到您的环境中,且必须通过 OpenShift Container Platform CLI 登录。如需 OpenShift Container Platform,请参阅以下安装文档:

  • 您的 OpenShift Container Platform 命令行界面(CLI)被配置为运行 oc 命令。如需有关安装和配置 OpenShift Container Platform CLI 的信息,请参阅 CLI 入门
  • OpenShift Container Platform 权限必须允许创建命名空间。
  • 需要有一个互联网连接来访问 Operator 的依赖项。
  • 要在 OpenShift Container Platform Dedicated 环境中安装,请参阅以下内容:

    • 您必须已配置并运行了 OpenShift Container Platform Dedicated 环境。
    • 您必须在要安装引擎的 OpenShift Container Platform Dedicated 环境中具有 cluster-admin 授权。
  • 如果您计划使用 Red Hat OpenShift Container Platform 提供的 Assisted Installer 创建受管集群,请参阅 OpenShift Container Platform 文档中的使用 Assisted Installer 主题准备安装

1.3.1.2. 确认 OpenShift Container Platform 安装

您必须有一个受支持的 OpenShift Container Platform 版本,包括 registry 和存储服务,并可以正常工作。有关安装 OpenShift Container Platform 的更多信息,请参阅 OpenShift Container Platform 文档。

  1. 验证 multicluster engine operator 尚未安装在 OpenShift Container Platform 集群中。multicluster engine operator 只允许在每个 OpenShift Container Platform 集群中有一个安装。如果没有安装,请继续执行以下步骤。
  2. 要确保正确设置 OpenShift Container Platform 集群,请使用以下命令访问 OpenShift Container Platform Web 控制台:

    kubectl -n openshift-console get route console

    请参见以下示例输出:

    console console-openshift-console.apps.new-coral.purple-chesterfield.com
    console   https   reencrypt/Redirect     None
  3. 在浏览器中打开 URL 并检查结果。如果控制台 URL 显示 console-openshift-console.router.default.svc.cluster.local,当安装 OpenShift Container Platform 时把 openshift_master_default_subdomain 设置为这个值。请参阅以下 URL 示例 :https://console-openshift-console.apps.new-coral.purple-chesterfield.com

您可以继续安装 multicluster engine operator。

1.3.1.3. 从 OperatorHub Web 控制台界面安装

最佳实践: 从 OpenShift Container Platform 导航中的 Administrator 视图,安装 OpenShift Container Platform 提供的 OperatorHub Web 控制台界面。

  1. 选择 Operators > OperatorHub 来访问可用 operator 列表,选择 multicluster engine for Kubernetes operator。
  2. Install
  3. Operator 安装页面中,选择安装选项:

    • 命名空间:

      • 多集群引擎 operator 引擎必须安装在自己的命名空间或项目中。
      • 默认情况下,OperatorHub 控制台安装过程会创建一个名为 multicluster-engine 的命名空间。最佳实践: 继续使用 multicluster-engine 命名空间(如果可用)。
      • 如果已存在名为 multicluster-engine 的命名空间,请选择不同的命名空间。
    • Channel:选择与要安装的发行版本相对应的频道。当您选择频道时,它会安装指定的发行版本,并确定以后获得该发行版本中的勘误更新。
    • Approval strategy:批准策略指定了用户需要如何处理应用到您的频道或发行版本的更新。

      • 选择 Automatic (默认选择)以确保会自动应用该发行版本中的任何更新。
      • 选择 Manual 在有更新可用时接收通知。如果您对更新的应用有疑问,这可能是您的最佳实践。

    注: 要升级到下一个次版本,您必须返回到 OperatorHub 页面,并为更当前的发行版本选择一个新频道。

  4. 选择 Install 以应用您的更改并创建 Operator。
  5. 请参阅以下流程来创建 MultiClusterEngine 自定义资源。

    1. 在 OpenShift Container Platform 控制台导航中,选择 Installed Operators > multicluster engine for Kubernetes
    2. 选择 MultiCluster Engine 选项卡。
    3. 选择 Create MultiClusterEngine
    4. 更新 YAML 文件中的默认值。请参阅文档中的 MultiClusterEngine 高级配置部分中的选项。

      • 以下示例显示了您可以复制到编辑器中的默认模板:
      apiVersion: multicluster.openshift.io/v1
      kind: MultiClusterEngine
      metadata:
        name: multiclusterengine
      spec: {}
  6. 选择 Create 来初始化自定义资源。多集群引擎 operator 引擎最多可能需要 10 分钟才能构建并启动。

    创建 MultiClusterEngine 资源后,在 MultiCluster Engine 标签页中资源的状态为 Available

1.3.1.4. 通过 OpenShift Container Platform CLI 安装

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

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

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

    apiVersion: operators.coreos.com/v1
    kind: OperatorGroup
    metadata:
      name: <default>
      namespace: <namespace>
    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-2.1
      installPlanApproval: Automatic
      name: multicluster-engine

    注: 要在基础架构节点上安装 Kubernetes operator 的多集群引擎,请参阅 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: {}

    注: 要在基础架构节点上安装多集群引擎 Operator,请参阅 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}'

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

备注:

  • 具有 ClusterRoleBindingServiceAccount 会自动向 multicluster engine operator 以及有权访问安装 multicluster engine operator 的命名空间的用户凭证授予集群管理员特权。

1.3.1.5. 在基础架构节点上安装

OpenShift Container Platform 集群可以配置为包含用于运行批准的管理组件的基础架构节点。在基础架构节点上运行组件可避免为运行这些管理组件的节点分配 OpenShift Container Platform 订阅配额。

将基础架构节点添加到 OpenShift Container Platform 集群后,请按照 OpenShift Container Platform CLI 指令安装,并将以下配置添加到 Operator Lifecycle Manager 订阅和 MultiClusterEngine 自定义资源。

1.3.1.5.1. 将基础架构节点添加到 OpenShift Container Platform 集群

按照 OpenShift Container Platform 文档中的 创建基础架构机器集 中所述的步骤进行操作。基础架构节点配置有 Kubernetes 污点(taint)标签(label),以便防止非管理工作负载在它们上运行。

要与多集群引擎 operator 提供的基础架构节点启用兼容,请确保您的基础架构节点应用了以下 taintlabel

metadata:
  labels:
    node-role.kubernetes.io/infra: ""
spec:
  taints:
  - effect: NoSchedule
    key: node-role.kubernetes.io/infra
1.3.1.5.2. Operator Lifecycle Manager Subscription 额外配置

在应用 Operator Lifecycle Manager 订阅前,添加以下配置:

spec:
  config:
    nodeSelector:
      node-role.kubernetes.io/infra: ""
    tolerations:
    - key: node-role.kubernetes.io/infra
      effect: NoSchedule
      operator: Exists
1.3.1.5.3. MultiClusterEngine 自定义资源额外配置

在应用 MultiClusterEngine 自定义资源前添加以下附加配置:

spec:
  nodeSelector:
    node-role.kubernetes.io/infra: ""

1.3.2. 在断开连接的网络中安装

您可能需要在没有连接到互联网的 Red Hat OpenShift Container Platform 集群上安装 multicluster engine operator。在断开连接的引擎中安装的步骤需要一些与连接安装相同的步骤。

重要: 您必须在没有安装早于 2.5 的 Red Hat Advanced Cluster Management for Kubernetes 的集群上安装多集群引擎 Operator。multicluster engine operator 无法在 2.5 之前的版本上与 Red Hat Advanced Cluster Management for Kubernetes 共存,因为它们提供了一些相同的管理组件。建议您在之前没有安装 Red Hat Advanced Cluster Management 的集群上安装 multicluster engine Operator。如果您在 2.5.0 或更高版本中使用 Red Hat Advanced Cluster Management for Kubernetes,则 multicluster engine operator 已安装在集群中。

您必须下载软件包副本以在安装过程中访问它们,而不是在安装过程中直接从网络访问它们。

1.3.2.1. 先决条件

在安装 multicluster engine operator 前,您必须满足以下要求:

  • Red Hat OpenShift Container Platform 版本 4.13 或更高版本必须部署到您的环境中,且必须使用 CLI 登录。
  • 您需要访问 catalog.redhat.com

    注: 要管理裸机集群,您必须使用 OpenShift Container Platform 版本 4.13 或更高版本。

    请参阅 OpenShift Container Platform 版本 4.13

  • 您的 Red Hat OpenShift Container Platform CLI 需要版本 4.13 或更高版本,并配置为运行 oc 命令。
  • 您的 Red Hat OpenShift Container Platform 权限必须允许创建命名空间。
  • 必须有一 个有互联网连接的工作站来下载 operator 的依赖软件包。

1.3.2.2. 确认 OpenShift Container Platform 安装

  • 您必须有一个受支持的 OpenShift Container Platform 版本,包括 registry 和存储服务,在集群中安装并正常工作。如需有关 OpenShift Container Platform 版本 4.13 的信息,请参阅 OpenShift Container Platform 文档
  • 连接后,您可以使用以下命令访问 OpenShift Container Platform Web 控制台来确保正确设置 OpenShift Container Platform 集群:

    kubectl -n openshift-console get route console

    请参见以下示例输出:

    console console-openshift-console.apps.new-coral.purple-chesterfield.com
    console   https   reencrypt/Redirect     None

    本例中的控制台 URL 为 https:// console-openshift-console.apps.new-coral.purple-chesterfield.com。在浏览器中打开 URL 并检查结果。

    如果控制台 URL 显示 console-openshift-console.router.default.svc.cluster.local,当安装 OpenShift Container Platform 时把 openshift_master_default_subdomain 设置为这个值。

1.3.2.3. 在断开连接的环境中安装

重要: 您需要将所需的镜像下载到镜像 registry 中,以便在断开连接的环境中安装 Operator。如果没有下载,您可能会在部署过程中收到 ImagePullBackOff 错误。

按照以下步骤在断开连接的环境中安装多集群引擎 Operator:

  1. 创建镜像 registry。如果您还没有镜像 registry,请按照 Red Hat OpenShift Container Platform 文档的 Disconnected 安装镜像 主题中的步骤来创建。

    如果已有镜像 registry,可以配置和使用现有 registry。

  2. 注: 对于裸机,您需要在 install-config.yaml 文件中为断开连接的 registry 提供证书信息。要访问受保护的断开连接的 registry 中的镜像,您必须提供证书信息,以便 operator 的多集群引擎可以访问 registry。

    1. 复制 registry 中的证书信息。
    2. 在编辑器中打开 install-config.yaml 文件。
    3. 找到 additionalTrustBundle: | 条目。
    4. additionalTrustBundle 行后添加证书信息。内容应类似以下示例:

      additionalTrustBundle: |
        -----BEGIN CERTIFICATE-----
        certificate_content
        -----END CERTIFICATE-----
      sshKey: >-
  3. 重要: 如果需要以下监管策略,则需要额外的镜像 registry:

    • Container Security Operator 策略:查找 registry.redhat.io/quay 源中的镜像。
    • Compliance Operator 策略:查找 registry.redhat.io/compliance 源中的镜像。
    • Gatekeeper Operator 策略:查找 registry.redhat.io/gatekeeper 源中的镜像。

      参阅以下所有三个 operator 的镜像列表示例:

        - mirrors:
          - <your_registry>/rhacm2
          source: registry.redhat.io/rhacm2
        - mirrors:
          - <your_registry>/quay
          source: registry.redhat.io/quay
        - mirrors:
          - <your_registry>/compliance
          source: registry.redhat.io/compliance
  4. 保存 install-config.yaml 文件。
  5. 创建一个包含 ImageContentSourcePolicy 的 YAML 文件,其名称为 mce-policy.yaml注: 如果您在正在运行的集群中修改此操作,则会导致所有节点的滚动重启。

    apiVersion: operator.openshift.io/v1alpha1
    kind: ImageContentSourcePolicy
    metadata:
      name: mce-repo
    spec:
      repositoryDigestMirrors:
      - mirrors:
        - mirror.registry.com:5000/multicluster-engine
        source: registry.redhat.io/multicluster-engine
  6. 输入以下命令应用 ImageContentSourcePolicy 文件:

    oc apply -f mce-policy.yaml
  7. 启用断开连接的 Operator Lifecycle Manager Red Hat Operator 和 Community Operator。

    multicluster engine operator 包含在 Operator Lifecycle Manager Red Hat Operator 目录中。

  8. 为 Red Hat Operator 目录配置离线 Operator Lifecycle Manager。按照 Red Hat OpenShift Container Platform 文档中受限网络部分中使用 Operator Lifecycle Manager 中的步骤操作。
  9. 现在,您已在断开连接的 Operator Lifecycle Manager 中已有镜像,从 Operator Lifecycle Manager 目录继续为 operator 安装多集群引擎。

如需了解所需步骤,请参阅在线安装

1.3.3. 高级配置

multicluster engine operator 使用部署所有所需组件的 operator 安装。multicluster engine operator 可以在安装过程中或安装后进一步配置。了解有关高级配置选项的更多信息。

1.3.3.1. 部署的组件

MultiClusterEngine 自定义资源中添加一个或多个属性:

表 1.3. 部署的组件表列表

Name

描述

Enabled

assisted-service

使用最小基础架构先决条件和全面的 pre-flight 验证安装 OpenShift Container Platform

True

cluster-lifecycle

为 OpenShift Container Platform 和 Kubernetes hub 集群提供集群管理功能

True

cluster-manager

在集群环境中管理各种与集群相关的操作

True

cluster-proxy-addon

使用反向代理服务器在 hub 和受管集群中自动安装 apiserver-network-proxy

True

console-mce

启用 multicluster engine operator 控制台插件

True

discovery

在 OpenShift Cluster Manager 中发现并标识新集群

True

hive

置备并执行 OpenShift Container Platform 集群的初始配置

True

hypershift

以成本和时间效率以及跨云可移植性以大规模托管 OpenShift Container Platform control plane

True

hypershift-local-hosting

为本地集群环境启用本地托管功能

True

local-cluster

启用部署 multicluster engine operator 的本地 hub 集群的导入和自我管理

True

managedserviceacccount

将服务帐户同步到受管集群,并将令牌作为 secret 资源收集回 hub 集群

False

server-foundation

为多集群环境中的服务器端操作提供基础服务

True

当您将 multicluster engine operator 安装到集群中时,不是所有列出的组件都默认启用。

您可以通过在 MultiClusterEngine 自定义资源中添加一个或多个属性来进一步配置多集群引擎 Operator。继续阅读以了解有关您可以添加属性的信息。

1.3.3.2. 控制台和组件配置

以下示例显示了可用于启用或禁用组件的 spec.overrides 默认模板:

apiVersion: operator.open-cluster-management.io/v1
kind: MultiClusterEngine
metadata:
  name: multiclusterengine
spec:
  overrides:
    components:
    - name: <name> 1
      enabled: true
  1. 使用组件的名称替换 name

或者,您可以运行以下命令。将 namespace 替换为项目的名称,将 name 替换为组件的名称:

oc patch MultiClusterEngine <multiclusterengine-name> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"<name>","enabled":true}}]'

1.3.3.3. local-cluster 启用

默认情况下,运行 multicluster engine operator 的集群管理其自身。要在没有集群管理其自身的情况下安装 multicluster engine operator,在 MultiClusterEngine 部分中的 spec.overrides.components 设置中指定以下值:

apiVersion: multicluster.openshift.io/v1
kind: MultiClusterEngine
metadata:
  name: multiclusterengine
spec:
  overrides:
    components:
    - name: local-cluster
      enabled: false
  • name 值将 hub 集群标识为 local-cluster
  • enabled 设置指定功能是启用还是禁用。当值为 true 时,hub 集群会自己管理。当值为 false 时,hub 集群不自己管理。

由自身管理的 hub 集群在集群列表中被指定为 local-cluster

1.3.3.4. 自定义镜像 pull secret

如果您计划导入不是由 OpenShift Container Platform 或 operator 多集群引擎创建的 Kubernetes 集群,生成一个包含 OpenShift Container Platform pull secret 信息的 secret,以便从发布 registry 中访问授权内容。

OpenShift Container Platform 集群的 secret 要求由 Kubernetes operator 的 OpenShift Container Platform 和多集群引擎自动解决,因此如果您没有导入其他类型的 Kubernetes 集群,则不必创建 secret。

重要: 这些 secret 是特定于命名空间的,因此请确保处于用于引擎的命名空间中。

  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 替换为项目命名空间,因为 secret 是特定于命名空间的。
    • path-to-pull-secret 替换为您下载的 OpenShift Container Platform pull secret 的路径。

以下示例显示,如果使用自定义 pull secret,要使用的 spec.imagePullSecret 模板。将 secret 替换为 pull secret 的名称:

apiVersion: multicluster.openshift.io/v1
kind: MultiClusterEngine
metadata:
  name: multiclusterengine
spec:
  imagePullSecret: <secret>

1.3.3.5. 目标命名空间

可通过在 MultiClusterEngine 自定义资源中指定位置,在指定的命名空间中安装操作对象。此命名空间在 MultiClusterEngine 自定义资源的应用程序上创建。

重要: 如果没有指定目标命名空间,Operator 将安装到 multicluster-engine 命名空间,并在 MultiClusterEngine 自定义资源规格中设置它。

以下示例显示了可以用来指定目标命名空间的 spec.targetNamespace 模板。使用目标命名空间的名称替换 target注: target 目标命名空间不能是 default 命名空间:

apiVersion: multicluster.openshift.io/v1
kind: MultiClusterEngine
metadata:
  name: multiclusterengine
spec:
  targetNamespace: <target>

1.3.3.6. availabilityConfig

hub 集群有两个可用功能:HighBasic。默认情况下,hub 集群的可用性为 High,hub 集群组件副本数2。它提供了对故障转移功能的支持,但消耗的资源数量比可用性为 Basic副本数1) 的集群多。

重要: 如果您在单节点 OpenShift 集群中使用 multicluster engine operator,请将 spec.availabilityConfig 设置为 Basic

以下示例显示了具有 Basic 可用性的 spec.availabilityConfig 模板:

apiVersion: multicluster.openshift.io/v1
kind: MultiClusterEngine
metadata:
  name: multiclusterengine
spec:
  availabilityConfig: "Basic"

1.3.3.7. nodeSelector

您可以在 MultiClusterEngine 中定义一组节点选择器,以安装到集群中的特定节点。以下示例显示了将 pod 分配给带有标签 node-role.kubernetes.io/infra 的节点的 spec.nodeSelector

spec:
  nodeSelector:
    node-role.kubernetes.io/infra: ""

1.3.3.8. 容限(tolerations)

您可以定义容限列表,以允许 MultiClusterEngine 容许在集群中定义的特定污点。以下示例显示了与 node-role.kubernetes.io/infra 污点匹配的 spec.tolerations

spec:
  tolerations:
  - key: node-role.kubernetes.io/infra
    effect: NoSchedule
    operator: Exists

默认情况下,以上 infra-node 容限在 pod 上设置,而不在配置中指定任何容限。在配置中自定义容限将替换此默认行为。

1.3.3.9. ManagedServiceAccount 附加组件

ManagedServiceAccount 附加组件允许您在受管集群中创建或删除服务帐户。要在启用此附加组件的环境中安装,请在 spec.overridesMultiClusterEngine 规格中包括以下内容:

apiVersion: multicluster.openshift.io/v1
kind: MultiClusterEngine
metadata:
  name: multiclusterengine
spec:
  overrides:
    components:
    - name: managedserviceaccount
      enabled: true

在创建 MultiClusterEngine 后,可以在命令行中编辑资源并将 managedserviceaccount 组件设置为 enabled: true 来启用 ManagedServiceAccount 附加组件。或者,您可以运行以下命令,将 <multiclusterengine-name> 替换为 MultiClusterEngine 资源的名称。

oc patch MultiClusterEngine <multiclusterengine-name> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"managedserviceaccount","enabled":true}}]'

1.3.4. 卸装

卸载 Kubernetes operator 的多集群引擎时,您会看到两个不同的过程级别: 删除自定义资源 和完整的 Operator 卸载。完成卸载过程最多可能需要五分钟。

  • 删除自定义资源是最基本的卸载类型,它会删除 MultiClusterEngine 实例的自定义资源,但会保留其他所需的 operator 资源。如果您计划使用相同的设置和组件重新安装,这个卸载级别很有用。
  • 第二个级别是更完整的卸载,可删除大多数 Operator 组件,不包括自定义资源定义等组件。当您继续执行此步骤时,它会删除所有没有通过删除自定义资源而被删除的组件和订阅。在卸载后,您必须在重新安装自定义资源前重新安装 Operator。

1.3.4.1. 先决条件:分离启用的服务

在卸载 Kubernetes operator 的多集群引擎前,您必须分离所有由该引擎管理的集群。为了避免错误,分离仍由引擎管理的所有集群,然后尝试再次卸载。

  • 如果附加了受管集群,您可能会看到以下信息。

    Cannot delete MultiClusterEngine resource because ManagedCluster resource(s) exist

    有关分离集群的更多信息,请参阅从管理部分删除集群,方法是在 集群创建 中选择您的供应商的信息。

1.3.4.2. 使用命令删除资源

  1. 如果还没有运行 oc 命令,请确保 OpenShift Container Platform CLI 配置为运行 oc 命令。如需有关如何配置 oc 命令的更多信息,请参阅 OpenShift Container Platform 文档中的 OpenShift CLI 入门
  2. 输入以下命令来更改到您的项目命名空间。将 namespace 替换为项目命名空间的名称:

    oc project <namespace>
  3. 输入以下命令删除 MultiClusterEngine 自定义资源:

    oc delete multiclusterengine --all

    您可以输入以下命令来查看进度:

    oc get multiclusterengine -o yaml
  4. 输入以下命令删除在其中安装的命名空间中 multicluster-engine ClusterServiceVersion
❯ oc get csv
NAME                         DISPLAY                              VERSION   REPLACES   PHASE
multicluster-engine.v2.0.0   multicluster engine for Kubernetes   2.0.0                Succeeded

❯ oc delete clusterserviceversion multicluster-engine.v2.0.0
❯ oc delete sub multicluster-engine

此处显示的 CSV 版本可能会有所不同。

1.3.4.3. 使用控制台删除组件

当使用 Red Hat OpenShift Container Platform 控制台卸载时,需要删除 operator。使用控制台完成以下步骤进行卸载:

  1. 在 OpenShift Container Platform 控制台导航中,选择 Operators > Installed Operators > multicluster engine for Kubernetes.
  2. 删除 MultiClusterEngine 自定义资源。

    1. 选择 Multiclusterengine 标签页
    2. 选择 MultiClusterEngine 自定义资源的 Options 菜单。
    3. 选择 Delete MultiClusterEngine
  3. 根据以下部分中的步骤运行清理脚本。

    提示: 如果您计划为 Kubernetes operator 版本重新安装相同的多集群引擎,您可以跳过这个过程中的其余步骤并重新安装自定义资源。

  4. 进入 Installed Operators
  5. 选择 Options 菜单并选择 Uninstall operator 来删除 Kubernetes_ operator 的 _ multicluster 引擎。

1.3.4.4. 卸载故障排除

如果没有删除多集群引擎自定义资源,请通过运行清理脚本删除潜在的剩余工件。

  1. 将以下脚本复制到一个文件中:

    #!/bin/bash
    oc delete apiservice v1.admission.cluster.open-cluster-management.io v1.admission.work.open-cluster-management.io
    oc delete validatingwebhookconfiguration multiclusterengines.multicluster.openshift.io
    oc delete mce --all

如需更多信息,请参阅 断开连接的安装镜像

1.3.5. Red Hat Advanced Cluster Management 集成

如果您在启用了 Red Hat Advanced Cluster Management 中使用 multicluster engine operator,您可以利用进一步的多集群管理功能。

1.3.5.1. 先决条件

请参阅以下先决条件与 Red Hat Advanced Cluster Management 功能集成。

  • 您需要安装 Red Hat Advanced Cluster Management。请参阅 安装和升级 以安装。

1.3.5.2. Observability 集成

启用 multicluster-observability pod 后,您可以使用 Red Hat Advanced Cluster Management Observability Grafana 仪表板查看有关托管 control plane 的以下信息:

  • ACM > Hosted Control Planes Overview 仪表板,以查看托管 control plane 的集群容量估算、相关集群资源以及现有托管 control plane 的列表和状态。
  • ACM > Resources > Hosted Control Plane 仪表板,您可以从 Overview 页面中访问,以查看所选托管的 control plane 的资源使用。

要启用,请参阅 Observability 服务简介

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.