2.22. OpenShift Service Mesh 控制台插件
OpenShift Service Mesh Console (OSSMC) 插件是 OpenShift Container Platform Web 控制台的扩展,可让您了解您的 Service Mesh。安装 OSSMC 插件后,web 控制台左侧的导航菜单中提供了一个新的 Service Mesh 菜单选项,以及增强现有 Workloads 和 Services 控制台页面的新 Service Mesh 标签页。
如果您所使用的证书初始不被浏览器信任,则需要首先告知浏览器信任证书,然后才能访问 OSSMC 插件。要做到这一点,进入 Kiali 独立用户界面(UI),并告知浏览器接受其证书。
2.22.1. 关于 OpenShift Service Mesh 控制台插件
OpenShift Service Mesh Console (OSSMC) 插件是 OpenShift Container Platform Web 控制台的扩展,可让您了解您的 Service Mesh。
OSSMC 插件只支持单个 Kiali 实例。是否将 Kiali 实例配置为只访问 OpenShift 项目的子集,还是对所有项目的访问集群无关紧要。但是,只能访问单个 Kiali 实例。
您只能以以下两种方式之一安装 OSSMC 插件: 使用 OpenShift Container Platform Web 控制台或 CLI。
OSSMC 插件只在 Service Mesh 2.5 或更高版本上被支持。具体来说,ServiceMeshControlPlane
版本必须设置为 2.5 或更高版本。
安装 OSSMC 插件会在 OpenShift Container Platform Web 控制台导航中创建一个新的类别 Service Mesh。点 Service Mesh 查看:
- Overview 网格概述,显示为代表网格中命名空间的卡
- Graph 以节点和边缘表示的网格的完整拓扑视图,每个节点代表一个网格组件,每个边缘代表一个通过组件间的流量流
- Istio config 用于网格中所有 Istio 配置文件列表,其中包含一个列,它提供了一个快速了解每个资源配置是否有效
在 Workloads 下,OSSMC 插件添加了一个包含以下内容的 Service Mesh 选项卡:
- Overview 子选项卡提供所选工作负载概述,包括本地化拓扑图显示所有入站和出站边缘和节点的工作负载
- Traffic 子选项卡显示有关所有入站和出站流量到工作负载的信息。
Logs 子选项卡显示工作负载容器的日志
- 您可以单独或以统一的方式查看容器日志,按日志时间排序。这有助于了解 Envoy sidecar 代理日志如何与工作负载的应用程序日志相关。
- 您可以启用追踪范围集成,然后允许您查看哪些日志对应于 trace span。
Metrics 子选项卡在对应的子选项卡中显示入站和出站指标图形。此处会显示所有工作负载指标,为您提供工作负载性能的详细视图。
- 您可以启用追踪范围集成,允许您查看与指标同时发生的 span。点图形中的 span 标记来查看与该时间线关联的特定范围。
trace 提供了一个图表,显示通过给定时间线收集的 trace 范围。
- 点 bubble 深入到这些 trace span 中; trace span 可以为您的工作负载应用程序提供最低级别的详细信息,并减少到单个请求级别。跟踪详情视图中会给出更详细的信息,包括 heatmaps,它们为您提供了一个与同一时间段内其他请求和跨度相关的跨度。
- 如果您将鼠标悬停在热图中的单元格上,则工具提示会提供一些关于单元数据的详细信息。
- Envoy 子选项卡提供有关 Envoy sidecar 配置的信息。当您需要深入了解 sidecar 配置时,这非常有用,比如连接问题。
在 Networking 下,OSSMC 插件向服务添加一个 Service Mesh 选项卡,并包含 Overview, Traffic, Inbound Metrics, and Traces 子标签页,它们与 Workloads 中的子标签页类似。
2.22.2. 使用 OpenShift Container Platform Web 控制台安装 OpenShift Service Mesh 控制台插件
您可以使用 OpenShift Container Platform Web 控制台安装 OpenShift Service Mesh Console (OSSMC) 插件。
先决条件
- 已安装 OpenShift Container Platform。
- 已安装由 Red Hat 1.73 提供的 Kiali Operator。
- 安装了 Red Hat OpenShift Service Mesh (OSSM)。
-
已安装
ServiceMeshControlPlane
2.5 或更高版本。
流程
- 进入 Installed Operators。
- 点 Kiali Operator provided by Red Hat。
- 在 Red Hat OpenShift Service Mesh 标题上点 Create 实例。
使用 Create OSSMConsole 表单创建
OSSMConsole
自定义资源 (CR) 的实例。Name 和 Version 是必填字段。
注意Version 字段必须与 Kiali CR 中的
spec.version
字段匹配。
- 点 Create。
- 返回到 OpenShift Container Platform Web 控制台,并使用新的菜单选项进入 Service Mesh。
2.22.3. 使用 CLI 安装 OpenShift Service Mesh 控制台插件
您可以使用 CLI 安装 OpenShift Service Mesh 控制台 (OSSMC) 插件,而不是 OpenShift Container Platform Web 控制台。
先决条件
- 已安装 OpenShift Container Platform。
- 已安装由 Red Hat 1.73 提供的 Kiali Operator。
- 安装了 Red Hat OpenShift Service Mesh (OSSM)。
-
已安装
ServiceMeshControlPlane
(SMCP) 2.5 或更高版本。
流程
创建一个小的
OSSMConsole
自定义资源 (CR) 来指示 Operator 安装插件:cat <<EOM | oc apply -f - apiVersion: kiali.io/v1alpha1 kind: OSSMConsole metadata: namespace: openshift-operators name: ossmconsole EOM
注意插件资源部署到创建
OSSMConsole
CR 的同一命名空间中。- 进入 OpenShift Container Platform Web 控制台。
- 刷新浏览器窗口,以查看新的 OSSMC 插件菜单选项。
2.22.4. 使用 OpenShift Container Platform Web 控制台卸载 OpenShift Service Mesh 控制台插件
您可以使用 OpenShift Container Platform Web 控制台卸载 OpenShift Service Mesh Console (OSSMC) 插件。
流程
-
进入到 Installed Operators
Operator details。 - 选择 OpenShift Service Mesh Console 选项卡。
- 在选项菜单中点 Delete OSSMConsole。
如果要同时卸载红帽提供的 Kiali Operator,您必须首先卸载 OSSMC 插件,然后卸载 Operator。如果在确保 OSSMConsole
CR 被删除前卸载 Operator,则可能很难删除该 CR 及其命名空间。如果发生这种情况,您必须手动删除 CR 上的终结器,才能删除它及其命名空间。您可以使用:$ oc patch ossmconsoles <CR name> -n <CR namespace> -p '{"metadata":{"finalizers": []}}' --type=merge
。
2.22.5. 使用 CLI 卸载 OpenShift Service Mesh 控制台插件
您可以使用 OpenShift CLI (oc
)卸载 OpenShift Service Mesh Console (OSSMC)插件。
流程
运行以下命令来删除
OSSMC
自定义资源(CR):oc delete ossmconsoles <custom_resource_name> -n <custom_resource_namespace>
运行以下命令,验证所有 CR 已从所有命名空间中删除:
for r in $(oc get ossmconsoles --ignore-not-found=true --all-namespaces -o custom-columns=NS:.metadata.namespace,N:.metadata.name --no-headers | sed 's/ */:/g'); do oc delete ossmconsoles -n $(echo $r|cut -d: -f1) $(echo $r|cut -d: -f2); done