第 4 章 红帽提供的 Kiali Operator
4.1. 使用红帽提供的 Kiali Operator
将应用程序添加到网格后,您可以使用红帽提供的 Kiali Operator 来查看通过应用程序的数据流。
4.1.1. 关于 Kiali
您可以使用红帽提供的 Kiali Operator 查看配置、监控流量和分析单个控制台中的 trace。它基于开源 Kiali 项目。
红帽提供的 Kiali Operator 是 Red Hat OpenShift Service Mesh 的管理控制台。它提供了仪表板、可观察性以及强大的配置和验证功能。它通过推断流量拓扑显示服务网格的结构,并显示网格的健康状况。Kiali 提供详细的指标、强大的验证、访问 Grafana 以及与 Red Hat OpenShift distributed tracing 平台(Tempo)的强大集成。
4.1.2. 安装红帽提供的 Kiali Operator
以下步骤演示了如何安装红帽提供的 Kiali Operator。
不要安装 Operator 的 Community 版本。不支持 Community 版本。
先决条件
- 访问 Red Hat OpenShift Service Mesh web 控制台。
流程
- 登录到 Red Hat OpenShift Service Mesh web 控制台。
-
进入 Operators
OperatorHub。 - 在过滤器框中键入 Kiali 来查找红帽提供的 Kiali Operator。
- 点 由红帽提供的 Kiali Operator 来显示有关 Operator 的信息。
- 点 Install。
- 在 Operator 安装页面中,选择 stable Update Channel。
-
选择 All namespaces on the cluster(默认)。这会在默认的
openshift-operators
项目中安装 Operator ,并使其可以被集群中的所有项目使用。 选择 Automatic 批准策略。
注意Manual 批准策略需要具有适当凭证的用户批准 Operator 的安装和订阅过程。
- 点 Install。
- Installed Operators 页会显示 Kiali Operator 的安装进度。
4.1.3. 使用 Kiali 配置 OpenShift Monitoring
以下步骤演示了如何将红帽提供的 Kiali Operator 与用户工作负载监控集成。
先决条件
- 安装了 Red Hat OpenShift Service Mesh。
- 启用 user-workload 监控。请参阅 为用户定义的项目启用监控。
- OpenShift Monitoring 已配置了 Service Mesh。请参阅"使用 Service Mesh 配置 OpenShift Monitoring"。
- Red Hat 1.89 提供的 Kiali Operator 已安装。
流程
为 Kiali 创建
ClusterRoleBinding
资源:ClusterRoleBinding
配置示例apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: kiali-monitoring-rbac roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-monitoring-view subjects: - kind: ServiceAccount name: kiali-service-account namespace: istio-system
创建 Kiali 资源并将其指向 Istio 实例:
Kiali 资源配置示例
apiVersion: kiali.io/v1alpha1 kind: Kiali metadata: name: kiali-user-workload-monitoring namespace: istio-system spec: external_services: prometheus: auth: type: bearer use_kiali_token: true thanos_proxy: enabled: true url: https://thanos-querier.openshift-monitoring.svc.cluster.local:9091
当 Kiali 资源就绪时,运行以下命令来从 Route 获取 Kiali URL:
$ echo "https://$(oc get routes -n istio-system kiali -o jsonpath='{.spec.host}')"
- 按照 URL 在网页浏览器中打开 Kiali。
4.1.4. 将 Red Hat OpenShift distributed tracing Platform 与红帽提供的 Kiali Operator 集成
您可以将 Red Hat OpenShift distributed tracing 平台与红帽提供的 Kiali Operator 集成,这样可启用以下功能:
- 显示追踪覆盖和图中的详细信息。
- 显示有关详细信息页面的 scatterplot chart 和 in-depth trace/span 信息。
- 在日志和指标图表中集成的 span 信息。
- 提供外部追踪 UI 的链接。
4.1.4.1. 使用红帽提供的 Kiali Operator 配置 Red Hat OpenShift distributed tracing 平台
当红帽提供的 Kiali Operator 与 Red Hat OpenShift distributed tracing 平台集成后,您可以在 Kiali 控制台中查看分布式追踪。查看这些 trace 可以了解服务网格内服务之间的通信,帮助您了解请求如何通过系统流动,以及可能出现潜在的问题。
先决条件
- 已安装 Red Hat OpenShift Service Mesh。
- 已使用 Red Hat OpenShift Service Mesh 配置分布式追踪平台。
流程
更新用于追踪的
Kiali
资源spec
配置:用于追踪的
Kiali
资源spec
配置示例spec: external_services: tracing: enabled: true 1 provider: tempo use_grpc: false in_cluster_url: http://tempo-sample-query-frontend.tempo:3200 url: https://tempo-sample-query-frontend-tempo.apps-crc.testing 2
-
将更新的
spec
保存到kiali_cr.yaml
中。 运行以下命令以应用配置:
$ oc patch -n istio-system kiali kiali --type merge -p "$(cat kiali_cr.yaml)"
输出示例:
kiali.kiali.io/kiali patched
验证
运行以下命令来获取 Kiali 路由:
$ oc get route kiali ns istio-system
- 进入 Kiali UI。
-
进入到 Workload
Traces 选项卡,在 Kiali UI 中查看 trace。