Alauda Build of Kiali
目录
使用 Alauda Build of Kiali关于 Kiali安装 Alauda Build of Kiali通过 Web 控制台安装通过 CLI 安装使用 Kiali 配置监控将分布式跟踪平台与 Alauda Build of Kiali 集成使用 Alauda Build of Kiali
Alauda Build of Kiali 为部署在服务网格中的应用提供可观测性和可视化功能。将应用添加到网格后,可以使用 Alauda Build of Kiali 检查流量流向并监控网格行为。
关于 Kiali
Alauda Build of Kiali 源自开源的 Kiali 项目,并作为 Alauda Service Mesh 的管理控制台。
它提供:
- 网格拓扑和实时流量流向的可视化
- 深入了解应用的运行状况和性能指标
- 集中访问配置和验证工具
- 与 Grafana 集成以提供指标监控面板
- 支持通过 Jaeger 或 OpenTelemetry 进行分布式追踪
这些功能使用户能够通过统一界面诊断服务行为、识别潜在问题并优化网格配置。
单个 Kiali 实例可以观测跨越多个集群的网格。请参阅在多集群网格中安装 Kiali。
安装 Alauda Build of Kiali
以下步骤介绍如何安装 Alauda Build of Kiali。
通过 Web 控制台安装
前提条件
- 必须已上传 Alauda Build of Kiali。
- 你已作为 cluster-admin 登录 Alauda Container Platform Web 控制台。
操作步骤
- 在 Alauda Container Platform Web 控制台中,导航至 管理员。
- 选择 Marketplace > OperatorHub。
- 搜索 Alauda Build of Kiali。
- 找到 Alauda Build of Kiali,然后单击以选中它。
- 单击 安装。
- 单击 安装 和 确认 以安装 Operator。
验证
在 Installation Info 部分中,确认 Operator 安装状态报告为 Succeeded。
通过 CLI 安装
前提条件
- 必须已上传 Alauda Build of Kiali。
- 由具有
cluster-admin角色的集群管理员建立一个有效的 ACP CLI (kubectl) 会话。
操作步骤
-
检查可用版本
示例输出
字段:
- CHANNEL:Operator 通道名称
- NAME:CSV 资源名称
- VERSION:Operator 版本
-
确认 catalogSource
示例输出
这表示
kiali-operator来自platformcatalogSource。 -
创建命名空间
-
创建 Subscription
字段说明
- annotation
cpaas.io/target-namespaces:建议将其设置为空;空值表示集群范围安装。 - .metadata.name:Subscription 名称(符合 DNS 规范,最长 253 个字符)。
- .metadata.namespace:安装 Operator 的命名空间。
- .spec.channel:订阅的 Operator 通道。
- .spec.installPlanApproval:批准策略(
Manual或Automatic)。此处,Manual表示安装/升级需要手动批准。 - .spec.source:Operator catalogSource。
- .spec.sourceNamespace:必须设置为 cpaas-system,因为平台提供的所有 catalogSource 都位于此命名空间中。
- .spec.startingCSV:指定 Manual 批准时要安装的版本;如果为空,则默认为通道中的最新版本。Automatic 时不需要设置。
- annotation
-
检查 Subscription 状态
关键输出
- .status.state:
UpgradePending表示 Operator 正在等待安装或升级。 - Condition InstallPlanPending = True:正在等待手动批准。
- .status.currentCSV:最新订阅的 CSV。
- .status.installPlanRef:关联的 InstallPlan;必须先批准,才能继续安装。
等待
InstallPlanPending条件变为True: - .status.state:
-
批准 InstallPlan
示例输出
手动批准
验证
等待创建 CSV;Phase 变为 Succeeded:
检查 CSV 状态:
示例输出
字段
- NAME:已安装的 CSV 名称
- DISPLAY:Operator 显示名称
- VERSION:Operator 版本
- REPLACES:升级过程中被替换的 CSV
- PHASE:安装状态(
Succeeded表示成功)
使用 Kiali 配置监控
以下步骤介绍如何将 Alauda Build of Kiali 与监控集成。
前提条件
- 已安装 Alauda Service Mesh。
- 已使用 Service Mesh 配置监控。请参阅使用 Service Mesh 配置监控。
- 已安装 Alauda Build of Kiali。
操作步骤
在 Global 集群中获取 Alauda Container Platform 的 CA 证书:
在 Global 集群中运行以下命令
输出内容是经过 base64 编码的证书。保存此值,以便在后续步骤中使用。
如果命令返回空输出,请尝试使用以下命令,或联系管理员获取 ACP CA 证书。
从业务集群获取平台配置:
在 istio-system 命名空间中创建名为 kiali 的 Secret,用于 OpenID 身份验证:
示例输出:
创建用于存储监控数据库凭据的 Secret:
示例输出:
使用项目标签标记 istio-system 命名空间:
创建名为 kiali.yaml 的文件,内容如下。根据需要替换占位符值:
web_port(字符串)是访问 Kiali 监控面板的端口。web_root是用于访问 Kiali 监控面板的平台 URL 下的路径。web_fqdn是用于访问 Kiali 监控面板的公共域名(平台 URL 的域名部分)。默认情况下,Kiali 会从请求标头中推导该值;仅当推导出的 OIDCredirect_uri不正确且登录失败时才设置此值。web_schema是用于访问 Kiali 监控面板的公共 URL 方案,默认情况下同样从请求标头中推导;请将其与web_fqdn一起设置。api_proxy指向 erebus,用于将 ACP 用户令牌映射为 Kubernetes 令牌。api_proxy_ca_data是 erebus 使用的经过 base64 编码的 CA 证书。issuer_uri是 dex 的 OIDC issuer URL。client_id是 dex 的 OIDC client ID。replicas指定 Kiali 部署的副本数;在生产环境中应至少为2。在这种情况下,还应取消注释pod_disruption_budget(Alauda Build of Kiali v2.27 起可用),以确保主动节点排空时至少有一个 Kiali pod 处于运行状态。class_name是 Kiali ingress 的 ingress class 名称。- 多集群 mesh 中必需。
<mesh_id>应与Istio资源中的.spec.values.global.meshId相同。请参阅在多集群 mesh 中安装 Kiali。 username引用存储在kiali-monitoring-basic-authSecret 中的监控 basic-auth 用户名。password引用存储在kiali-monitoring-basic-authSecret 中的监控 basic-auth 密码。- 如果需要通过 Thanos proxy 查询 Prometheus,请定义
thanos_proxy(使用 VictoriaMetrics 时必需)。 url是 Prometheus 或 VictoriaMetrics 的监控端点。i18n指定默认语言以及是否显示语言选择器。
应用配置,使用 envsubst 渲染清单:
- 将
<platform-ca>替换为之前保存的实际 base64 编码 CA 证书。
访问 Kiali 控制台:
当 Kiali 资源就绪后,访问 <platform-url>/clusters/<cluster>/kiali 处的 Kiali 监控面板。
将分布式跟踪平台与 Alauda Build of Kiali 集成
与分布式跟踪平台集成后,Alauda Build of Kiali 支持直接在 Kiali 控制台中可视化请求跟踪信息。这些跟踪信息可以帮助了解服务网格中的服务间通信,并帮助识别请求路径中的延迟、故障或瓶颈。
此功能支持分析请求流行为,有助于识别根本原因并优化网格中各服务的性能。
前提条件
- 已安装 Alauda Service Mesh。
- 已安装并成功配置分布式跟踪平台,例如 Alauda Build of Jaeger。
操作步骤
-
更新
Kiali资源的 spec 跟踪配置:用于跟踪的
Kiali资源spec配置示例- 多集群网格中必需。
<mesh_id>应与Istio资源中的.spec.values.global.meshId相同。请参阅在多集群网格中安装 Kiali。 - 指定是否启用跟踪。
- 指定跟踪提供程序(
jaeger或tempo)。 - 对于使用 Istio 1.30 或更高版本的 ambient 模式,此项为必需:waypoint proxy 会以 waypoint 自身的服务名称(例如
waypoint.<namespace>)报告每个 span,因此 Kiali 必须使用 waypoint 名称查找跟踪信息。此设置对 sidecar 模式工作负载没有影响,因此在任一模式下保持启用都是安全的。 - 指定 Jaeger 或 Tempo API 的内部 URL。
- Kiali UI 在向用户显示 Tracing UI 链接时使用的
external_url。此 URL 必须可供集群外部的客户端(例如浏览器)访问,才能生成有效链接。
- 多集群网格中必需。
-
将更新后的 spec 保存到
kiali_cr.yaml。 -
运行以下命令以应用配置:
输出示例:
验证
- 导航到 Kiali UI。
- 导航到 Workload Traces 选项卡,在 Kiali UI 中查看跟踪信息。