Alauda Build of Kiali
目录
使用 Alauda Build of Kiali关于 Kiali安装 Alauda Build of Kiali通过 Web 控制台安装通过 CLI 安装使用 Kiali 配置监控将分布式 tracing 平台与 Alauda Build of Kiali 集成使用 Alauda Build of Kiali
Alauda Build of Kiali 为部署在 service mesh 中的应用提供可观测性和可视化能力。将应用添加到 mesh 后,可以使用 Alauda Build of Kiali 检查流量流向并监控 mesh 行为。
关于 Kiali
Alauda Build of Kiali 源自开源 Kiali project,并作为 Alauda Service Mesh 的管理控制台。
它提供以下功能:
- 可视化 mesh 拓扑和实时流量流向
- 了解应用健康状态和性能指标
- 集中访问配置和验证工具
- 与 Grafana 集成以提供指标监控面板
- 通过 Jaeger 或 OpenTelemetry 支持分布式 tracing
这些能力使用户能够通过统一界面诊断服务行为、识别潜在问题并优化 mesh 配置。
安装 Alauda Build of Kiali
以下步骤说明如何安装 Alauda Build of Kiali。
通过 Web 控制台安装
前提条件
- 必须已上传 Alauda Build of Kiali。
- 你已使用 cluster-admin 身份登录 Alauda Container Platform Web 控制台。
操作步骤
- 在 Alauda Container Platform Web 控制台中,进入 Administrator。
- 选择 Marketplace > OperatorHub。
- 搜索 Alauda Build of Kiali。
- 找到 Alauda Build of Kiali,并单击将其选中。
- 单击 Install。
- 单击 Install 和 Confirm 以安装 Operator。
验证
确认 Installation Info 部分中的 Operator 安装状态显示为 Succeeded。
通过 CLI 安装
前提条件
- 必须已上传 Alauda Build of Kiali。
- 具有
cluster-admin角色的集群管理员已建立活动的 ACP CLI (kubectl) 会话。
操作步骤
-
查看可用版本
示例输出
字段说明:
- CHANNEL:Operator channel 名称
- NAME:CSV resource 名称
- VERSION:Operator 版本
-
确认 catalogSource
示例输出
这表示
kiali-operator来自platformcatalogSource。 -
创建 namespace
-
创建 Subscription
字段说明
- annotation
cpaas.io/target-namespaces:建议设置为空;为空表示集群级安装。 - .metadata.name:Subscription 名称(需符合 DNS 规范,最长 253 个字符)。
- .metadata.namespace:将要安装 Operator 的 namespace。
- .spec.channel:所订阅的 Operator channel。
- .spec.installPlanApproval:审批策略(
Manual或Automatic)。此处Manual表示安装/升级需要手动审批。 - .spec.source:Operator catalogSource。
- .spec.sourceNamespace:必须设置为 cpaas-system,因为平台提供的所有 catalogSources 都位于该 namespace 中。
- .spec.startingCSV:在 Manual 审批时指定要安装的版本;如果为空,则默认使用该 channel 中的最新版本。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 与 user-workload monitoring 集成。
前提条件
- 已安装 Alauda Service Mesh。
- 已完成 Service Mesh 监控配置。请参见 使用 Service Mesh 配置监控。
- 已安装 Alauda Build of Kiali。
操作步骤
在 Global 集群中获取 Alauda Container Platform 的 CA 证书:
在 Global 集群中运行以下命令
输出内容为 base64 编码的证书。请保存该值,以便在后续步骤中使用。
如果命令返回空输出,请尝试使用以下命令,或联系管理员获取 ACP CA 证书。
从业务集群获取平台配置:
在 istio-system namespace 中创建名为 kiali 的 Secret,用于 OpenID 认证:
示例输出:
创建用于监控数据库凭据的 Secret:
示例输出:
使用 project label 为 istio-system namespace 添加标签:
创建名为 kiali.yaml 的文件,内容如下。根据需要替换占位符值:
web_port(string)是访问 Kiali dashboard 的端口。web_root是用于访问 Kiali dashboard 的 platform url 下的路径。api_proxy指向 erebus,用于将 ACP 用户 token 映射为 Kubernetes token。api_proxy_ca_data是 erebus 使用的 base64 编码 CA 证书。issuer_uri是 dex 的 OIDC issuer URL。client_id是 dex 的 OIDC client ID。replicas指定 Kiali deployment 的副本数,在生产环境中至少应为2。class_name是 Kiali ingress 的 ingress class 名称。- 多集群 mesh 中必需。
<mesh_id>应与Istioresource 中的.spec.values.global.meshId保持一致。 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 渲染 manifest 并应用配置:
- 将
<platform-ca>替换为之前保存的实际 base64 编码 CA 证书。
访问 Kiali 控制台:
当 Kiali resource 就绪后,访问 <platform-url>/clusters/<cluster>/kiali 以打开 Kiali dashboard。
将分布式 tracing 平台与 Alauda Build of Kiali 集成
完成与分布式 tracing 平台的集成后,Alauda Build of Kiali 可直接在 Kiali 控制台中可视化请求 trace。这些 trace 可帮助了解 service mesh 内部的服务间通信,并有助于识别请求路径中的延迟、故障或瓶颈。
该能力支持对请求流行为的分析,有助于在 mesh 中跨服务进行根因定位和性能优化。
前提条件
- 已安装 Alauda Service Mesh。
- 已安装并成功配置分布式 tracing 平台,例如 Alauda Build of Jaeger。
操作步骤
-
更新用于 tracing 的
Kialiresource spec 配置:用于 tracing 的
Kialiresourcespec配置示例- 多集群 mesh 中必需。
<mesh_id>应与Istioresource 中的.spec.values.global.meshId保持一致。 - 指定是否启用 tracing。
- 指定 tracing provider(
jaeger或tempo)。 - 指定 Jaeger 或 Tempo API 的内部 URL。
external_url是 Kiali UI 在向用户显示 Tracing UI 链接时使用的 URL。为了生成有效链接,该 URL 必须可被集群外部客户端(例如浏览器)访问。
- 多集群 mesh 中必需。
-
将更新后的 spec 保存到
kiali_cr.yaml中。 -
运行以下命令应用配置:
示例输出:
验证
- 导航到 Kiali UI。
- 导航到 Workload Traces 选项卡,在 Kiali UI 中查看 trace。