1.3. 安装和升级多集群引擎 Operator
multicluster engine operator 是一个软件 operator,用于增强集群团队管理。multicluster engine operator 支持跨云和数据中心的 Red Hat OpenShift Container Platform 和 Kubernetes 集群生命周期管理。
已弃用: 不再支持多集群引擎 operator 2.2 及更早的版本。文档可能仍然可用,但没有任何勘误或其他更新。
最佳实践: 升级到最新版本。
除非仅在最新版本的 OpenShift Container Platform 上引入并测试特定组件或功能,否则文档会参考最早支持的 OpenShift Container Platform 版本。
有关完全支持信息,请参阅 支持列表。如需生命周期信息,请参阅 Red Hat OpenShift Container Platform 生命周期政策。
重要: 如果您使用 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 文档。
- 验证 multicluster engine operator 尚未安装在 OpenShift Container Platform 集群中。multicluster engine operator 只允许在每个 OpenShift Container Platform 集群中有一个安装。如果没有安装,请继续执行以下步骤。
要确保正确设置 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
-
在浏览器中打开 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 控制台界面。
- 选择 Operators > OperatorHub 来访问可用 operator 列表,选择 multicluster engine for Kubernetes operator。
-
点
Install
。 在 Operator 安装页面中,选择安装选项:
命名空间:
- 多集群引擎 operator 引擎必须安装在自己的命名空间或项目中。
-
默认情况下,OperatorHub 控制台安装过程会创建一个名为
multicluster-engine
的命名空间。最佳实践: 继续使用multicluster-engine
命名空间(如果可用)。 -
如果已存在名为
multicluster-engine
的命名空间,请选择不同的命名空间。
- Channel:选择与要安装的发行版本相对应的频道。当您选择频道时,它会安装指定的发行版本,并确定以后获得该发行版本中的勘误更新。
Approval strategy:批准策略指定了用户需要如何处理应用到您的频道或发行版本的更新。
- 选择 Automatic (默认选择)以确保会自动应用该发行版本中的任何更新。
- 选择 Manual 在有更新可用时接收通知。如果您对更新的应用有疑问,这可能是您的最佳实践。
注: 要升级到下一个次版本,您必须返回到 OperatorHub 页面,并为更当前的发行版本选择一个新频道。
- 选择 Install 以应用您的更改并创建 Operator。
请参阅以下流程来创建 MultiClusterEngine 自定义资源。
- 在 OpenShift Container Platform 控制台导航中,选择 Installed Operators > multicluster engine for Kubernetes。
- 选择 MultiCluster Engine 选项卡。
- 选择 Create MultiClusterEngine。
更新 YAML 文件中的默认值。请参阅文档中的 MultiClusterEngine 高级配置部分中的选项。
- 以下示例显示了您可以复制到编辑器中的默认模板:
apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}
选择 Create 来初始化自定义资源。多集群引擎 operator 引擎最多可能需要 10 分钟才能构建并启动。
创建 MultiClusterEngine 资源后,在 MultiCluster Engine 标签页中资源的状态为
Available
。
1.3.1.4. 通过 OpenShift Container Platform CLI 安装
创建一个 multicluster engine operator 引擎命名空间,其中包含 Operator 的要求。运行以下命令,其中
namespace
是 Kubernetes operator 命名空间的多集群引擎的名称。在 OpenShift Container Platform 环境中,namespace
的值可能被称为 Project(项目)。oc create namespace <namespace>
将项目命名空间切换到您创建的命名空间。将
namespace
替换为在第 1 步中创建的 Kubernetes operator 命名空间的多集群引擎名称。oc project <namespace>
创建 YAML 文件来配置
OperatorGroup
资源。每个命名空间只能有一个 operator 组。将default
替换为 operator 组的名称。将namespace
替换为项目命名空间的名称。请参见以下示例:apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: <default> namespace: <namespace> spec: targetNamespaces: - <namespace>
运行以下命令来创建
OperatorGroup
资源。将operator-group
替换为您创建的 operator 组 YAML 文件的名称:oc apply -f <path-to-file>/<operator-group>.yaml
创建 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.5 installPlanApproval: Automatic name: multicluster-engine
注: 要在基础架构节点上安装 Kubernetes operator 的多集群引擎,请参阅 Operator Lifecycle Manager 订阅额外配置 部分。
运行以下命令来创建 OpenShift Container Platform 订阅。使用您创建的订阅文件的名称替换
subscription
:oc apply -f <path-to-file>/<subscription>.yaml
创建 YAML 文件来配置
MultiClusterEngine
自定义资源。您的默认模板应类似以下示例:apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}
注: 要在基础架构节点上安装多集群引擎 Operator,请参阅 MultiClusterEngine 自定义资源附加配置 部分:
运行以下命令来创建
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"
运行以下命令来获取自定义资源。在运行以下命令后,在
status.phase
字段中显示MultiClusterEngine
自定义资源状态Available
可能需要最多 10 分钟时间:oc get mce -o=jsonpath='{.items[0].status.phase}'
如果您要重新安装多集群引擎 operator 且 pod 没有启动,请参阅故障排除重新安装失败以了解解决这个问题的步骤。
备注:
-
具有
ClusterRoleBinding
的ServiceAccount
会自动向 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 提供的基础架构节点启用兼容,请确保您的基础架构节点应用了以下 taint
和 label
:
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。在断开连接的引擎中安装的步骤需要一些与连接安装相同的步骤。
重要: 在没有安装 Red Hat Advanced Cluster Management 的集群中安装 multicluster engine operator,因为两个产品提供了一些相同的管理组件。在之前没有安装 Red Hat Advanced Cluster Management 的集群中安装 multicluster engine operator。如果您使用 Red Hat Advanced Cluster Management 版本 2.5.0 或更高版本,则 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 或更高版本。
-
您的 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:
创建镜像 registry。如果您还没有镜像 registry,请完成 Red Hat OpenShift Container Platform 文档中的 Disconnected 安装镜像 主题中的步骤来创建。
如果已有镜像 registry,可以配置和使用现有 registry。
注: 对于裸机,您需要在
install-config.yaml
文件中为断开连接的 registry 提供证书信息。要访问受保护的断开连接的 registry 中的镜像,您必须提供证书信息,以便 operator 的多集群引擎可以访问 registry。- 复制 registry 中的证书信息。
-
在编辑器中打开
install-config.yaml
文件。 -
找到
additionalTrustBundle: |
条目。 在
additionalTrustBundle
行后添加证书信息。内容应类似以下示例:additionalTrustBundle: | -----BEGIN CERTIFICATE----- certificate_content -----END CERTIFICATE----- sshKey: >-
重要: 如果需要以下监管策略,则需要额外的镜像 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
-
Container Security Operator 策略:查找
-
保存
install-config.yaml
文件。 创建一个包含
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
输入以下命令应用 ImageContentSourcePolicy 文件:
oc apply -f mce-policy.yaml
启用断开连接的 Operator Lifecycle Manager Red Hat Operator 和 Community Operator。
multicluster engine operator 包含在 Operator Lifecycle Manager Red Hat Operator 目录中。
- 为 Red Hat Operator 目录配置离线 Operator Lifecycle Manager。按照 Red Hat OpenShift Container Platform 文档中受限网络部分中使用 Operator Lifecycle Manager 中的步骤操作。
- 现在,您已在断开连接的 Operator Lifecycle Manager 中已有镜像,从 Operator Lifecycle Manager 目录继续为 operator 安装多集群引擎。
如需了解所需步骤,请参阅在线安装。
1.3.3. 高级配置
multicluster engine operator 使用部署所有所需组件的 operator 安装。multicluster engine operator 可以在安装过程中或安装后进一步配置。了解有关高级配置选项的更多信息。
1.3.3.1. 部署的组件
在 MultiClusterEngine
自定义资源中添加一个或多个属性:
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 和受管集群中自动安装 | 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
-
使用组件的名称替换
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 是特定于命名空间的,因此请确保处于用于引擎的命名空间中。
- 选择 Download pull secret 从 cloud.redhat.com/openshift/install/pull-secret 下载 OpenShift Container Platform pull secret 文件。您的 OpenShift Container Platform pull secret 与您的 Red Hat Customer Portal ID 相关联,在所有 Kubernetes 供应商中都是相同的。
运行以下命令来创建 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 集群有两个可用功能:High
和 Basic
。默认情况下,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.overrides
的 MultiClusterEngine
规格中包括以下内容:
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. 使用命令删除资源
-
如果还没有运行 oc 命令,请确保 OpenShift Container Platform CLI 配置为运行
oc
命令。如需有关如何配置oc
命令的更多信息,请参阅 OpenShift Container Platform 文档中的 OpenShift CLI 入门。 输入以下命令来更改到您的项目命名空间。将 namespace 替换为项目命名空间的名称:
oc project <namespace>
输入以下命令删除
MultiClusterEngine
自定义资源:oc delete multiclusterengine --all
您可以输入以下命令来查看进度:
oc get multiclusterengine -o yaml
-
输入以下命令删除在其中安装的命名空间中 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。使用控制台完成以下步骤进行卸载:
- 在 OpenShift Container Platform 控制台导航中,选择 Operators > Installed Operators > multicluster engine for Kubernetes.
删除
MultiClusterEngine
自定义资源。- 选择 Multiclusterengine 标签页
- 选择 MultiClusterEngine 自定义资源的 Options 菜单。
- 选择 Delete MultiClusterEngine。
根据以下部分中的步骤运行清理脚本。
提示: 如果您计划为 Kubernetes operator 版本重新安装相同的多集群引擎,您可以跳过这个过程中的其余步骤并重新安装自定义资源。
- 进入 Installed Operators。
- 选择 Options 菜单并选择 Uninstall operator 来删除 Kubernetes_ operator 的 _ multicluster 引擎。
1.3.4.4. 卸载故障排除
如果没有删除多集群引擎自定义资源,请通过运行清理脚本删除潜在的剩余工件。
将以下脚本复制到一个文件中:
#!/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 服务简介。