-
接受默认的服务网格控制平面版本,以利用产品最新版本中提供的功能。控制平面的版本决定了可用的功能,而不管 Operator 的版本如何。
-
添加
spec.security.identity.type.ThirdParty
字段,Red Hat OpenShift Dedicated 需要此字段。 -
单击创建。
控制平面包括 Istiod、入口和出口网关以及其他组件,例如 Kiali 和 Jaeger。控制平面必须部署在与服务网格操作符和数据平面应用程序和服务不同的命名空间中。您可以使用 OpenShift Dedicated Web 控制台或使用 `oc` 客户端工具的命令行部署 `ServiceMeshControlPlane` (SMCP) 的基本安装。
此基本安装是根据默认的 OpenShift Dedicated 设置配置的,并非设计用于生产环境。使用此默认安装验证您的安装,然后根据您的环境配置 `ServiceMeshControlPlane` 设置。 |
如果您正在部署用于 Red Hat OpenShift Dedicated 的控制平面,请参阅 Red Hat 知识库文章 OpenShift 服务网格操作符 Istio 基本启动失败,原因是身份验证错误,其中讨论了添加新项目和启动 Pod。
您可以使用 Web 控制台部署基本的ServiceMeshControlPlane
。在此示例中,istio-system
是服务网格控制平面项目的名称。
必须安装 Red Hat OpenShift Service Mesh Operator。
您已以具有dedicated-admin
角色的用户身份登录到 OpenShift Dedicated Web 控制台。
以具有cluster-admin
角色的用户身份登录到 OpenShift Dedicated Web 控制台。如果您使用 Red Hat OpenShift Dedicated,则必须拥有具有dedicated-admin
角色的帐户。
创建一个名为istio-system
的项目。
导航到主页 → 项目。
单击创建项目。
在名称字段中,输入istio-system
。ServiceMeshControlPlane
资源必须安装在与您的微服务和 Operators 分开的项目中。
这些步骤使用istio-system
作为示例,但您可以将服务网格控制平面部署到任何项目中,只要它与包含您服务的项目分开即可。
单击创建。
导航到Operators → 已安装的 Operators。
单击 Red Hat OpenShift Service Mesh Operator,然后单击Istio 服务网格控制平面。
在Istio 服务网格控制平面选项卡上,单击创建 ServiceMeshControlPlane。
接受默认的服务网格控制平面版本,以利用产品最新版本中提供的功能。控制平面的版本决定了可用的功能,而不管 Operator 的版本如何。
添加spec.security.identity.type.ThirdParty
字段,Red Hat OpenShift Dedicated 需要此字段。
单击创建。
Operator 会根据您的配置参数创建 Pod、服务和服务网格控制平面组件。您可以在以后配置ServiceMeshControlPlane
设置。
要验证控制平面是否已正确安装,请单击Istio 服务网格控制平面选项卡。
单击新控制平面的名称。
单击资源选项卡以查看 Operator 创建和配置的 Red Hat OpenShift 服务网格控制平面资源。
您可以从命令行部署基本的ServiceMeshControlPlane
。
必须安装 Red Hat OpenShift Service Mesh Operator。
访问 OpenShift CLI (oc
)。
您已以具有dedicated-admin
角色的用户身份登录到 OpenShift Dedicated。
创建一个名为istio-system
的项目。
$ oc new-project istio-system
ServiceMeshControlPlane
资源必须安装在istio-system
项目中,与您的微服务和 Operators 分开。
使用以下示例创建一个名为istio-installation.yaml
的ServiceMeshControlPlane
文件。服务网格控制平面的版本决定了可用的功能,而不管 Operator 的版本如何。
ServiceMeshControlPlane
资源示例apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
name: basic
namespace: istio-system
spec:
version: v2.6
security:
identity:
type: ThirdParty (1)
tracing:
type: None
sampling: 10000
policy:
type: Istiod
addons:
grafana:
enabled: true
kiali:
enabled: true
prometheus:
enabled: true
telemetry:
type: Istiod
1 | 指定 Red Hat OpenShift Dedicated 的必需设置。 |
运行以下命令以部署服务网格控制平面,其中<istio_installation.yaml>
包含文件的完整路径。
$ oc create -n istio-system -f <istio_installation.yaml>
要观察 Pod 部署的进度,请运行以下命令
$ oc get pods -n istio-system -w
您应该会看到类似于以下内容的输出
NAME READY STATUS RESTARTS AGE
grafana-b4d59bd7-mrgbr 2/2 Running 0 65m
istio-egressgateway-678dc97b4c-wrjkp 1/1 Running 0 108s
istio-ingressgateway-b45c9d54d-4qg6n 1/1 Running 0 108s
istiod-basic-55d78bbbcd-j5556 1/1 Running 0 108s
kiali-6476c7656c-x5msp 1/1 Running 0 43m
prometheus-58954b8d6b-m5std 2/2 Running 0 66m
您可以从命令行验证ServiceMeshControlPlane
的创建。
先决条件
必须安装 Red Hat OpenShift Service Mesh Operator。
访问 OpenShift CLI (oc
)。
您已以具有dedicated-admin
角色的用户身份登录到 OpenShift Dedicated。
运行以下命令以验证服务网格控制平面安装,其中istio-system
是您安装服务网格控制平面的命名空间。
$ oc get smcp -n istio-system
当STATUS
列为ComponentsReady
时,安装已成功完成。
NAME READY STATUS PROFILES VERSION AGE
basic 10/10 ComponentsReady ["default"] 2.6.4 66m
集群范围部署包含一个服务网格控制平面,该平面监视整个集群的资源。监视整个集群的资源与 Istio 的功能非常相似,因为控制平面使用单个查询跨所有命名空间监视 Istio 和 Kubernetes 资源。因此,集群范围部署减少了发送到 API 服务器的请求数量。
您可以使用 OpenShift Dedicated Web 控制台或 CLI 配置服务网格控制平面以进行集群范围部署。
您可以使用 OpenShift Dedicated Web 控制台配置ServiceMeshControlPlane
资源以进行集群范围部署。在此示例中,istio-system
是服务网格控制平面项目的名称。
已安装 Red Hat OpenShift Service Mesh Operator。
您已以具有dedicated-admin
角色的用户身份登录到 OpenShift Dedicated。
创建一个名为istio-system
的项目。
导航到主页 → 项目。
单击创建项目。
在名称字段中,输入istio-system
。ServiceMeshControlPlane
资源必须安装在与您的微服务和 Operators 分开的项目中。
这些步骤使用istio-system
作为示例。您可以将服务网格控制平面部署到任何项目中,只要它与包含您服务的项目分开即可。
单击创建。
导航到Operators → 已安装的 Operators。
单击 Red Hat OpenShift Service Mesh Operator,然后单击Istio 服务网格控制平面。
在Istio 服务网格控制平面选项卡上,单击创建 ServiceMeshControlPlane。
单击YAML 视图。服务网格控制平面的版本决定了可用的功能,而不管 Operator 的版本如何。
修改spec.mode
字段并添加spec.security.identity.type.ThirdParty
字段
ServiceMeshControlPlane
资源示例apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
name: basic
namespace: istio-system
spec:
version: v2.6
mode: ClusterWide (1)
security:
identity:
type: ThirdParty (2)
tracing:
type: Jaeger
sampling: 10000
policy:
type: Istiod
addons:
grafana:
enabled: true
jaeger:
install:
storage:
type: Memory
kiali:
enabled: true
prometheus:
enabled: true
telemetry:
type: Istiod
1 | 指定资源用于集群范围部署。 |
2 | 指定 Red Hat OpenShift Dedicated 的必需设置。 |
单击创建。Operator 会根据您的配置参数创建 Pod、服务和服务网格控制平面组件。如果作为默认配置的一部分不存在,运算符还会创建ServiceMeshMemberRoll
。
要验证控制平面是否已正确安装
单击Istio 服务网格控制平面选项卡。
单击新的ServiceMeshControlPlane
对象的名称。
单击资源选项卡以查看 Operator 创建和配置的 Red Hat OpenShift 服务网格控制平面资源。
您可以使用 CLI 配置ServiceMeshControlPlane
资源以进行集群范围部署。在此示例中,istio-system
是服务网格控制平面命名空间的名称。
已安装 Red Hat OpenShift Service Mesh Operator。
您可以访问 OpenShift CLI (oc
)。
您已以具有dedicated-admin
角色的用户身份登录到 OpenShift Dedicated。
创建一个名为istio-system
的项目。
$ oc new-project istio-system
使用以下示例创建一个名为istio-installation.yaml
的ServiceMeshControlPlane
文件
ServiceMeshControlPlane
资源示例apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
name: basic
namespace: istio-system
spec:
version: v2.6
mode: ClusterWide (1)
security:
identity:
type: ThirdParty (2)
1 | 指定资源用于集群范围部署。 |
2 | 指定 Red Hat OpenShift Dedicated 的必需设置。 |
运行以下命令以部署服务网格控制平面
$ oc create -n istio-system -f <istio_installation.yaml>
其中
指定文件的完整路径。
要监视 Pod 部署的进度,请运行以下命令
$ oc get pods -n istio-system -w
您应该会看到类似于以下示例的输出
NAME READY STATUS RESTARTS AGE
grafana-b4d59bd7-mrgbr 2/2 Running 0 65m
istio-egressgateway-678dc97b4c-wrjkp 1/1 Running 0 108s
istio-ingressgateway-b45c9d54d-4qg6n 1/1 Running 0 108s
istiod-basic-55d78bbbcd-j5556 1/1 Running 0 108s
jaeger-67c75bd6dc-jv6k6 2/2 Running 0 65m
kiali-6476c7656c-x5msp 1/1 Running 0 43m
prometheus-58954b8d6b-m5std 2/2 Running 0 66m
在集群范围模式下,当您创建ServiceMeshControlPlane
资源时,也会创建ServiceMeshMemberRoll
资源。创建后,您可以修改ServiceMeshMemberRoll
资源。修改资源后,Service Mesh 运算符将不再更改它。如果您使用 OpenShift Dedicated Web 控制台修改ServiceMeshMemberRoll
资源,请接受覆盖修改的提示。
或者,您可以在部署ServiceMeshControlPlane
资源之前创建ServiceMeshMemberRoll
资源。当您创建ServiceMeshControlPlane
资源时,Service Mesh Operator 将不会修改ServiceMeshMemberRoll
。
|
向网格添加命名空间的方法有两种。您可以通过在spec.members
列表中指定命名空间名称来添加命名空间,或者配置一组命名空间标签选择器,根据标签来包含或排除命名空间。
无论如何在 |
您可以使用 Kiali 控制台验证您的服务网格安装。Kiali 控制台提供了多种方法来验证您的服务网格组件是否已正确部署和配置。
先决条件
必须安装 Red Hat OpenShift Service Mesh Operator。
访问 OpenShift CLI (oc
)。
您已以具有dedicated-admin
角色的用户身份登录到 OpenShift Dedicated。
在 OpenShift Dedicated Web 控制台中,导航到**网络** → **路由**。
在**路由**页面上,从**命名空间**菜单中选择服务网格控制平面项目,例如istio-system
。
**位置**列显示每个路由的链接地址。
如有必要,使用过滤器查找 Kiali 控制台的路由。单击路由的**位置**启动控制台。
单击**使用 OpenShift 登录**。
首次登录 Kiali 控制台时,您将看到**概述**页面,该页面显示服务网格中您有权查看的所有命名空间。当**概述**页面上显示多个命名空间时,Kiali 会优先显示存在健康或验证问题的命名空间。
每个命名空间的图块显示标签数量、**Istio 配置**健康状况、**应用程序**数量和健康状况以及命名空间的**流量**。如果您正在验证控制台安装并且尚未将命名空间添加到网格,则可能除了istio-system
之外没有任何数据显示。
Kiali 有四个专门用于安装服务网格控制平面的命名空间的仪表板。要查看这些仪表板,请单击控制平面命名空间(例如istio-system
)图块上的选项菜单,然后选择以下选项之一
Istio 网格仪表板
Istio 控制平面仪表板
Istio 性能仪表板
Istio Wasm 扩展仪表板
Kiali 还安装了两个附加的 Grafana 仪表板,可从 Grafana 的**主页**访问
Istio 工作负载仪表板
Istio 服务仪表板
要查看服务网格控制平面节点,请单击**图形**页面,从菜单中选择您安装ServiceMeshControlPlane
的**命名空间**,例如istio-system
。
如有必要,请单击**显示空闲节点**。
要了解有关**图形**页面的更多信息,请单击**图形教程**链接。
要查看网格拓扑,请从**命名空间**菜单中从服务网格成员列表中选择一个或多个其他命名空间。
要查看istio-system
命名空间中的应用程序列表,请单击**应用程序**页面。Kiali 将显示应用程序的健康状况。
将鼠标悬停在信息图标上,即可查看**详细信息**列中注明的任何附加信息。
要查看istio-system
命名空间中的工作负载列表,请单击**工作负载**页面。Kiali 将显示工作负载的健康状况。
将鼠标悬停在信息图标上,即可查看**详细信息**列中注明的任何附加信息。
要查看istio-system
命名空间中的服务列表,请单击**服务**页面。Kiali 将显示服务和配置的健康状况。
将鼠标悬停在信息图标上,即可查看**详细信息**列中注明的任何附加信息。
要查看istio-system
命名空间中的 Istio 配置对象列表,请单击**Istio 配置**页面。Kiali 将显示配置的健康状况。
如果存在配置错误,请单击该行,Kiali 将打开突出显示错误的配置文件。
Red Hat OpenShift Service Mesh 支持集群中的多个独立控制平面。您可以使用ServiceMeshControlPlane
配置文件创建可重用的配置。有关更多信息,请参阅创建控制平面配置文件。
将项目添加到服务网格,以便可以提供应用程序。有关更多信息,请参阅将服务添加到服务网格。