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 为部署在 service mesh 内的应用提供可观测性和可视化能力。将应用添加到 mesh 后,可以使用 Alauda Build of Kiali 来检查流量流向并监控 mesh 行为。
关于 Kiali
Alauda Build of Kiali 源自开源 Kiali project,并作为 Alauda Service Mesh 的管理控制台。
它提供以下功能:
- mesh 拓扑和实时流量流向可视化
- 应用健康状态和性能指标洞察
- 集中访问配置和验证工具
- 与 Grafana 集成以提供指标监控面板
- 通过 Jaeger 或 OpenTelemetry 支持分布式追踪
这些功能可帮助用户通过统一界面诊断服务行为、识别潜在问题,并优化 mesh 配置。
安装 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 channel 名称
- NAME:CSV 资源名称
- 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,因为平台提供的所有 catalogSource 都位于该 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 与监控集成。
前提条件
- 已安装 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:
示例输出:
使用项目标签为 istio-system namespace 打标签:
创建名为 kiali.yaml 的文件,内容如下。按需替换占位值:
web_port(string)是访问 Kiali 监控面板的端口。web_root是访问 Kiali 监控面板时在 platform URL 下的路径。web_fqdn是访问 Kiali 监控面板的公有域名(platform URL 的域名部分)。Kiali 默认会从请求头中推导该值;仅当推导出的 OIDCredirect_uri不正确并导致登录失败时才设置它。web_schema是访问 Kiali 监控面板的公有 URL scheme,默认也会从请求头中推导;请与web_fqdn一起设置。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 部署的副本数,在生产环境中应至少为2。class_name是 Kiali ingress 的 ingress class 名称。- 多集群 mesh 中必需。
<mesh_id>应与Istio资源中的.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 资源就绪后,请通过 <platform-url>/clusters/<cluster>/kiali 访问 Kiali 监控面板。
将分布式追踪平台与 Alauda Build of Kiali 集成
完成与分布式追踪平台的集成后,Alauda Build of Kiali 可直接在 Kiali 控制台中可视化请求追踪信息。这些追踪可提供对 service mesh 内服务间通信的洞察,并有助于识别请求路径中的延迟、失败或瓶颈。
此功能支持对请求流行为进行分析,有助于在 mesh 中跨服务进行根因定位和性能优化。
前提条件
- 已安装 Alauda Service Mesh。
- 已安装并成功配置分布式追踪平台,例如 Alauda Build of Jaeger。
操作步骤
-
更新用于追踪的
Kiali资源 spec 配置:用于追踪的
Kiali资源spec配置示例- 多集群 mesh 中必需。
<mesh_id>应与Istio资源中的.spec.values.global.meshId保持一致。 - 指定是否启用追踪。
- 指定追踪提供程序(
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 中查看追踪信息。