2.8. 安装 Operator
要安装 Red Hat OpenShift Service Mesh,首先在 OpenShift Container Platform 上安装 Red Hat OpenShift Service Mesh Operator 和任何可选 Operator。然后,创建一个 ServiceMeshControlPlane
资源来部署 control plane。
这一基本安装根据默认的 OpenShift 设置进行配置,不并是针对生产环境用途而设计的。 使用此默认安装验证您的安装,然后为特定环境配置服务网格。
前提条件
- 参阅准备安装 Red Hat OpenShift Service Mesh 的过程。
-
具有
cluster-admin
角色的帐户。如果使用 Red Hat OpenShift Dedicated,则必须有一个具有dedicated-admin
角色的帐户。
以下步骤演示了如何在 OpenShift Container Platform 上安装 Red Hat OpenShift Service Mesh 的基本实例。
从 Red Hat OpenShift Service Mesh 2.5 开始,Red Hat OpenShift distributed tracing Platform (Jaeger) 和 OpenShift Elasticsearch Operator 已被弃用,并将在以后的发行版本中删除。红帽将在当前发行生命周期中为这些功能提供程序错误修正和支持,但此功能将不再获得改进,并将被删除。作为 Red Hat OpenShift distributed tracing Platform (Jaeger) 的替代选择,您可以使用 Red Hat OpenShift distributed tracing Platform (Tempo)。
2.8.1. Service Mesh Operator 概述
Red Hat OpenShift Service Mesh 需要使用 Red Hat OpenShift Service Mesh Operator,它允许您连接、保护、控制并观察组成应用程序的微服务。您还可以安装其他 Operator 来增强服务网格体验。
不要安装 Operators 的 Community 版本。不支持社区 Operator。
需要以下 Operator:
- Red Hat OpenShift Service Mesh Operator
-
允许您连接、保护、控制和观察组成应用的微服务。它还定义并监控管理 Service Mesh 组件的部署、更新和删除的
ServiceMeshControlPlane
资源。它基于开源 Istio 项目。
以下 Operator 是可选的:
- 红帽提供的 Kiali Operator
- 为您的服务网格提供可观察性。您可以在单个控制台中查看配置、监控流量和分析 trace。它基于开源 Kiali 项目。
- Red Hat OpenShift distributed tracing Platform (Tempo)
- 提供分布式追踪来监控复杂分布式系统中的事务并进行故障排除。它基于开源 Grafana Tempo 项目。
以下可选 Operator 已被弃用:
从 Red Hat OpenShift Service Mesh 2.5 开始,Red Hat OpenShift distributed tracing Platform (Jaeger) 和 OpenShift Elasticsearch Operator 已被弃用,并将在以后的发行版本中删除。红帽将在当前发行生命周期中为这些功能提供程序错误修正和支持,但此功能将不再获得改进,并将被删除。作为 Red Hat OpenShift distributed tracing Platform (Jaeger) 的替代选择,您可以使用 Red Hat OpenShift distributed tracing Platform (Tempo)。
- Red Hat OpenShift distributed tracing Platform (Jaeger)
- 提供分布式追踪来监控复杂分布式系统中的事务并进行故障排除。它基于开源 Jaeger 项目。
- OpenShift Elasticsearch Operator
- 为使用分布式追踪平台 (Jaeger) 进行追踪和日志记录提供数据库存储。它基于开源 Elasticsearch 项目。
2.8.2. 安装 Operator
要安装 Red Hat OpenShift Service Mesh,您必须安装 Red Hat OpenShift Service Mesh Operator。对您要安装的每个额外 Operator 重复这个过程。
其他 Operator 包括:
- 红帽提供的 Kiali Operator
- Tempo Operator
弃用的额外 Operator 包括:
从 Red Hat OpenShift Service Mesh 2.5 开始,Red Hat OpenShift distributed tracing Platform (Jaeger) 和 OpenShift Elasticsearch Operator 已被弃用,并将在以后的发行版本中删除。红帽将在当前发行生命周期中为这些功能提供程序错误修正和支持,但此功能将不再获得改进,并将被删除。作为 Red Hat OpenShift distributed tracing Platform (Jaeger) 的替代选择,您可以使用 Red Hat OpenShift distributed tracing Platform (Tempo)。
- Red Hat OpenShift distributed tracing Platform (Jaeger)
- OpenShift Elasticsearch Operator
如果您已经安装了 OpenShift Elasticsearch Operator 作为 OpenShift Logging 的一部分,则不需要再次安装 OpenShift Elasticsearch Operator。Red Hat OpenShift distributed tracing Platform (Jaeger) Operator 使用已安装的 OpenShift Elasticsearch Operator 创建 Elasticsearch 实例。
流程
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform web 控制台。 -
在 OpenShift Container Platform Web 控制台中,点击 Operators
OperatorHub。 - 在过滤器框中输入 Operator 名称,再选择 Operator 的 Red Hat 版本。不支持 Operator 的社区版本。
- 点 Install。
- 在每个 Operator 的 Install Operator 页面中,接受默认设置。
点 Install。等待 Operator 安装,然后为要安装的下一个 Operator 重复步骤。
-
Red Hat OpenShift Service Mesh Operator 在
openshift-operators
命名空间中安装,并可用于集群中的所有命名空间。 -
由红帽在
openshift-operators
命名空间中安装的 Kiali Operator,并可用于集群中的所有命名空间。 -
Tempo Operator 安装在
openshift-tempo-operator
命名空间中,并可用于集群中的所有命名空间。 Red Hat OpenShift distributed tracing Platform (Jaeger) 安装在
openshift-distributed-tracing
命名空间中,并可用于集群中的所有命名空间。重要从 Red Hat OpenShift Service Mesh 2.5 开始,Red Hat OpenShift distributed tracing Platform (Jaeger) 已被弃用,并将在以后的发行版本中删除。红帽将在当前发行生命周期中提供对这个功能的程序漏洞修复和支持,但这个功能将不再获得改进,并将被删除。作为 Red Hat OpenShift distributed tracing Platform (Jaeger) 的替代选择,您可以使用 Red Hat OpenShift distributed tracing Platform (Tempo)。
OpenShift Elasticsearch Operator 安装在
openshift-operators-redhat
命名空间中,并可用于集群中的所有命名空间。重要从 Red Hat OpenShift Service Mesh 2.5 开始,OpenShift Elasticsearch Operator 已被弃用,并将在以后的发行版本中删除。红帽将在当前发行生命周期中提供对这个功能的程序漏洞修复和支持,但这个功能将不再获得改进,并将被删除。
-
Red Hat OpenShift Service Mesh Operator 在
验证
-
安装完所有四个 Operator 后,点 Operators
Installed Operators 来验证是否安装了 Operator。
2.8.3. 将 Service Mesh Operator 配置为在基础架构节点上运行
只有在 Service Mesh Operator 在基础架构节点上运行时才会执行此任务。
如果 Operator 将在 worker 节点上运行,请跳过此任务。
前提条件
- 必须安装 Service Mesh Operator。
- 组成部署的节点之一必须是基础架构节点。如需更多信息,请参阅"创建基础架构机器集"。
流程
列出命名空间中安装的 Operator:
$ oc -n openshift-operators get subscriptions
编辑 Service Mesh Operator
Subscription
资源,以指定 Operator 应该运行的位置:$ oc -n openshift-operators edit subscription <name> 1
- 1
<name>
代表Subscription
资源的名称。Subscription
资源的默认名称为servicemeshoperator
。
在
Subscription
资源中将nodeSelector
和tolerations
添加到spec.config
中:apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: labels: operators.coreos.com/servicemeshoperator.openshift-operators: "" name: servicemeshoperator namespace: openshift-operators # ... spec: config: nodeSelector: 1 node-role.kubernetes.io/infra: "" tolerations: 2 - effect: NoSchedule key: node-role.kubernetes.io/infra value: reserved - effect: NoExecute key: node-role.kubernetes.io/infra value: reserved
2.8.4. 验证 Service Mesh Operator 在基础架构节点上运行
流程
验证与 Operator pod 关联的节点是否是一个基础架构节点:
$ oc -n openshift-operators get po -l name=istio-operator -owide
2.8.5. 后续步骤
-
在部署 Service Mesh control plane 前,Red Hat OpenShift Service Mesh Operator 不会创建 Service Mesh 自定义资源定义 (CRD)。您可以使用
ServiceMeshControlPlane
资源来安装和配置 Service Mesh 组件。如需更多信息,请参阅创建 ServiceMeshControlPlane。