-
接受默认的Service Mesh控制平面版本以利用产品最新版本中提供的功能。控制平面的版本决定了可用功能,而与Operator的版本无关。
-
添加
spec.security.identity.type.ThirdParty
字段,Red Hat OpenShift Service on AWS需要此字段。 -
单击**创建**。
控制平面包括Istiod、入口和出口网关以及其他组件,例如Kiali和Jaeger。控制平面必须部署在与Service Mesh Operators和数据平面应用程序和服务不同的命名空间中。您可以使用Red Hat OpenShift Service on AWS Web控制台或使用oc
客户端工具的命令行部署ServiceMeshControlPlane
(SMCP)的基本安装。
此基本安装是根据默认的Red Hat OpenShift Service on AWS设置配置的,并非设计用于生产环境。使用此默认安装来验证您的安装,然后根据您的环境配置您的 |
如果您要部署用于Red Hat OpenShift Service on AWS的控制平面,请参阅Red Hat知识库文章OpenShift service mesh operator Istio basic not starting due to authentication errors,其中讨论了添加新项目和启动Pod。
您可以使用Web控制台部署基本的ServiceMeshControlPlane
。在此示例中,istio-system
是Service Mesh控制平面项目的名称。
必须安装Red Hat OpenShift Service Mesh Operator。
您已以具有dedicated-admin
角色的用户身份登录到Red Hat OpenShift Service on AWS Web控制台。
以具有cluster-admin
角色的用户身份登录到Red Hat OpenShift Service on AWS Web控制台。如果您使用Red Hat OpenShift Dedicated,则必须拥有具有dedicated-admin
角色的帐户。
创建一个名为istio-system
的项目。
导航到**主页** → **项目**。
单击**创建项目**。
在**名称**字段中,输入istio-system
。ServiceMeshControlPlane
资源必须安装在istio-system
项目中,与您的微服务和Operators分开。
单击**创建**。
导航到**Operators** → **已安装的Operators**。
单击Red Hat OpenShift Service Mesh Operator,然后单击**Istio Service Mesh Control Plane**。
在**Istio Service Mesh Control Plane**选项卡上,单击**创建ServiceMeshControlPlane**。
接受默认的Service Mesh控制平面版本以利用产品最新版本中提供的功能。控制平面的版本决定了可用功能,而与Operator的版本无关。
添加spec.security.identity.type.ThirdParty
字段,Red Hat OpenShift Service on AWS需要此字段。
单击**创建**。
Operator将根据您的配置参数创建Pod、服务和Service Mesh控制平面组件。您可以在以后配置ServiceMeshControlPlane
设置。
要验证控制平面是否已正确安装,请单击**Istio Service Mesh Control Plane**选项卡。
单击新控制平面的名称。
单击**资源**选项卡以查看Operator创建和配置的Red Hat OpenShift Service Mesh控制平面资源。
您可以从命令行部署基本的ServiceMeshControlPlane
。
必须安装Red Hat OpenShift Service Mesh Operator。
访问OpenShift CLI (oc
)。
您已以具有dedicated-admin
角色的用户身份登录到Red Hat OpenShift Service on AWS。
创建一个名为istio-system
的项目。
$ oc new-project istio-system
ServiceMeshControlPlane
资源必须安装在istio-system
项目中,与您的微服务和Operators分开。
使用以下示例创建一个名为istio-installation.yaml
的ServiceMeshControlPlane
文件。Service Mesh控制平面的版本决定了可用功能,而与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 Service on AWS所需的设置。 |
运行以下命令以部署Service Mesh控制平面,其中<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
角色的用户身份登录到Red Hat OpenShift Service on AWS。
运行以下命令以验证Service Mesh控制平面安装,其中istio-system
是您安装Service Mesh控制平面的命名空间。
$ oc get smcp -n istio-system
当STATUS
列为ComponentsReady
时,安装已成功完成。
NAME READY STATUS PROFILES VERSION AGE
basic 10/10 ComponentsReady ["default"] 2.6.4 66m
集群范围部署包含一个Service Mesh控制平面,该控制平面监视整个集群的资源。监视整个集群的资源与Istio的功能非常相似,因为控制平面使用单个查询跨所有命名空间监视Istio和Kubernetes资源。因此,集群范围部署减少了发送到API服务器的请求数量。
您可以使用Red Hat OpenShift Service on AWS Web控制台或CLI配置Service Mesh控制平面以进行集群范围部署。
您可以使用Red Hat OpenShift Service on AWS Web控制台配置ServiceMeshControlPlane
资源以进行集群范围部署。在此示例中,istio-system
是Service Mesh控制平面项目的名称。
已安装Red Hat OpenShift Service Mesh Operator。
您已以具有dedicated-admin
角色的用户身份登录到Red Hat OpenShift Service on AWS。
创建一个名为istio-system
的项目。
导航到**主页** → **项目**。
单击**创建项目**。
在**名称**字段中,输入istio-system
。ServiceMeshControlPlane
资源必须安装在与您的微服务和 Operators 分开的项目中。
这些步骤使用istio-system
作为示例。您可以将服务网格控制平面部署到任何项目,只要它与包含您的服务的项目分开即可。
单击**创建**。
导航到**Operators** → **已安装的Operators**。
单击Red Hat OpenShift Service Mesh Operator,然后单击**Istio Service Mesh Control Plane**。
在**Istio Service Mesh Control Plane**选项卡上,单击**创建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 Service on AWS所需的设置。 |
点击**创建**。Operator 将根据您的配置参数创建 Pod、服务和服务网格控制平面组件。如果默认配置中不存在ServiceMeshMemberRoll
,Operator 还会创建它。
要验证控制平面是否已正确安装
点击**Istio 服务网格控制平面**选项卡。
点击新的ServiceMeshControlPlane
对象的名称。
点击**资源**选项卡以查看 Operator 创建和配置的 Red Hat OpenShift 服务网格控制平面资源。
您可以使用 CLI 配置ServiceMeshControlPlane
资源以进行集群范围的部署。在此示例中,istio-system
是服务网格控制平面命名空间的名称。
已安装Red Hat OpenShift Service Mesh Operator。
您可以访问 OpenShift CLI (oc
)。
您已以具有dedicated-admin
角色的用户身份登录到Red Hat OpenShift Service on AWS。
创建一个名为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 Service on AWS所需的设置。 |
运行以下命令来部署服务网格控制平面
$ 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
资源。修改资源后,服务网格 Operator 将不再更改它。如果您使用 Red Hat OpenShift Service on AWS Web 控制台修改ServiceMeshMemberRoll
资源,请接受覆盖修改的提示。
或者,您可以在部署ServiceMeshControlPlane
资源之前创建ServiceMeshMemberRoll
资源。当您创建ServiceMeshControlPlane
资源时,服务网格 Operator 将不会修改ServiceMeshMemberRoll
。
|
有两种方法可以将命名空间添加到网格中。您可以通过在spec.members
列表中指定其名称来添加命名空间,也可以配置一组命名空间标签选择器,以根据其标签包含或排除命名空间。
无论如何在 |
您可以使用 Kiali 控制台来验证您的服务网格安装。Kiali 控制台提供了几种方法来验证您的服务网格组件是否已正确部署和配置。
先决条件
必须安装Red Hat OpenShift Service Mesh Operator。
访问OpenShift CLI (oc
)。
您已以具有dedicated-admin
角色的用户身份登录到Red Hat OpenShift Service on AWS。
在 Red Hat OpenShift Service on AWS 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
配置文件创建可重用的配置。更多信息,请参见 创建控制平面配置文件。
将项目添加到 Service Mesh,以便应用程序可用。更多信息,请参见 将服务添加到服务网格。