1.7. 安装 Operator
要安装 Red Hat OpenShift Service Mesh,首先在 OpenShift Container Platform 上安装所需的 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 的基本实例。
1.7.1. Operator 概述
Red Hat OpenShift Service Mesh 需要以下四个 Operator:
- OpenShift Elasticsearch -(可选)为使用分布式追踪平台进行追踪和日志记录提供数据库存储。它基于开源 Elasticsearch 项目。
- Red Hat OpenShift distributed tracing 平台 - 提供分布式追踪以监控复杂分布式系统中的事务并进行故障排除。它基于开源 Jaeger 项目。
- 红帽提供的 Kiali Operator - 为您的服务网格提供可观察性。您可以在单个控制台中查看配置、监控流量和分析 trace。它基于开源 Kiali 项目。
-
Red Hat OpenShift Service Mesh - 允许您连接、保护、控制和观察组成应用程序的微服务。Service Mesh Operator 定义并监控管理
ServiceMeshControlPlane
资源,这个资源用来管理 Service Mesh 组件的部署、更新和删除操作。它基于开源 Istio 项目。
不要安装 Operators 的 Community 版本。不支持社区 Operator。
1.7.2. 安装 Operator
要安装 Red Hat OpenShift Service Mesh,请按照以下顺序安装 Operator。为每个 Operator 重复上述步骤。
- OpenShift Elasticsearch
- Red Hat OpenShift distributed tracing Platform
- 红帽提供的 Kiali Operator
- Red Hat OpenShift Service Mesh
如果您已经安装了 OpenShift Elasticsearch Operator 作为 OpenShift Logging 的一部分,则不需要再次安装 OpenShift Elasticsearch Operator。Red Hat OpenShift distributed tracing Platform Operator 将使用已安装的 OpenShift Elasticsearch Operator 创建 Elasticsearch 实例。
流程
-
以具有
cluster-admin
角色的用户身份登录到 OpenShift Container Platform web 控制台。如果使用 Red Hat OpenShift Dedicated,则必须有一个具有dedicated-admin
角色的帐户。 -
在 OpenShift Container Platform Web 控制台中,点击 Operators
OperatorHub。 - 在过滤器框中输入 Operator 名称,再选择 Operator 的 Red Hat 版本。不支持 Operator 的社区版本。
- 点 Install。
- 在每个 Operator 的 Install Operator 页面中,接受默认设置。
点 Install。等待 Operator 安装完毕,然后为列表中的下一个 Operator 重复这些步骤。
-
OpenShift Elasticsearch Operator 安装在
openshift-operators-redhat
命名空间中,并可用于集群中的所有命名空间。 -
Red Hat OpenShift distributed tracing 平台安装在
openshift-distributed-tracing
命名空间中,可用于集群中的所有命名空间。 -
由红帽提供的 Kiali Operator 和 Red Hat OpenShift Service Mesh Operator 安装在
openshift-operators
命名空间中,并可用于集群中的所有命名空间。
-
OpenShift Elasticsearch Operator 安装在
-
安装完所有四个 Operator 后,点 Operators
Installed Operators 来验证是否安装了您的 Operator。
1.7.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
中: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
1.7.4. 验证 Service Mesh Operator 在基础架构节点上运行
流程
验证与 Operator pod 关联的节点是否是一个基础架构节点:
$ oc -n openshift-operators get po -l name=istio-operator -owide
1.7.5. 后续步骤
-
在部署 Service Mesh control plane 前,Red Hat OpenShift Service Mesh Operator 不会创建 Service Mesh 自定义资源定义 (CRD)。您可以使用
ServiceMeshControlPlane
资源来安装和配置 Service Mesh 组件。如需更多信息,请参阅创建 ServiceMeshControlPlane。