×

当服务网格Operator创建ServiceMeshControlPlane时,它也会处理Kiali资源。然后,Kiali Operator在创建Kiali实例时使用此对象。

在SMCP中指定Kiali配置

您可以在 `ServiceMeshControlPlane` 资源的 `addons` 部分配置 Kiali。Kiali 默认启用。要禁用 Kiali,请将 `spec.addons.kiali.enabled` 设置为 `false`。

您可以通过以下两种方式之一指定您的 Kiali 配置

  • 在 `ServiceMeshControlPlane` 资源的 `spec.addons.kiali.install` 下指定 Kiali 配置。这种方法有一些限制,因为 SMCP 中不提供完整的 Kiali 配置列表。

  • 配置和部署 Kiali 实例,并将 Kiali 资源的名称指定为 `ServiceMeshControlPlane` 资源中 `spec.addons.kiali.name` 的值。您必须在与 Service Mesh 控制平面相同的命名空间中创建 CR,例如 `istio-system`。如果存在与 `name` 值匹配的 Kiali 资源,则控制平面将配置该 Kiali 资源以与控制平面一起使用。这种方法允许您在 Kiali 资源中完全自定义您的 Kiali 配置。请注意,使用这种方法时,Service Mesh Operator 会覆盖 Kiali 资源中的各个字段,特别是 `accessible_namespaces` 列表以及 Grafana、Prometheus 和追踪的端点。

Kiali 的 SMCP 参数示例
apiVersion: maistra.io/v2
kind: ServiceMeshControlPlane
metadata:
  name: basic
spec:
  addons:
    kiali:
      name: kiali
      enabled: true
      install:
        dashboard:
          viewOnly: false
          enableGrafana: true
          enableTracing: true
          enablePrometheus: true
        service:
          ingress:
            contextPath: /kiali
表 1. `ServiceMeshControlPlane` Kiali 参数
参数 描述 默认值
spec:
  addons:
    kiali:
      name:

Kiali 自定义资源的名称。如果存在与 `name` 值匹配的 Kiali CR,Service Mesh Operator 将使用该 CR 进行安装。如果不存在 Kiali CR,则 Operator 将使用此 `name` 和 SMCP 中指定的配置选项创建一个。

字符串

kiali

kiali:
  enabled:

此参数启用或禁用 Kiali。Kiali 默认启用。

true/false

true

kiali:
  install:

如果未找到指定的 Kiali 资源,则安装 Kiali 资源。如果将 `addons.kiali.enabled` 设置为 `false`,则忽略 `install` 部分。

kiali:
  install:
    dashboard:

Kiali 附带的仪表板的配置参数。

kiali:
  install:
    dashboard:
      viewOnly:

此参数启用或禁用 Kiali 控制台的只读模式。启用只读模式后,用户无法使用 Kiali 控制台更改 Service Mesh。

true/false

false

kiali:
  install:
    dashboard:
      enableGrafana:

根据 `spec.addons.grafana` 配置配置的 Grafana 端点。

true/false

true

kiali:
  install:
    dashboard:
      enablePrometheus:

根据 `spec.addons.prometheus` 配置配置的 Prometheus 端点。

true/false

true

kiali:
  install:
    dashboard:
      enableTracing:

基于 Jaeger 自定义资源配置的追踪端点。

true/false

true

kiali:
  install:
    service:

与 Kiali 安装关联的 Kubernetes 服务的配置参数。

kiali:
  install:
    service:
      metadata:

用于指定要应用于资源的其他元数据。

N/A

N/A

kiali:
  install:
    service:
      metadata:
        annotations:

用于指定要应用于组件服务的其他注释。

字符串

N/A

kiali:
  install:
    service:
      metadata:
        labels:

用于指定要应用于组件服务的其他标签。

字符串

N/A

kiali:
  install:
    service:
      ingress:

用于指定通过 OpenShift Route 访问组件服务的详细信息。

N/A

N/A

kiali:
  install:
    service:
      ingress:
        metadata:
          annotations:

用于指定要应用于组件服务入口的额外注释。

字符串

N/A

kiali:
  install:
    service:
      ingress:
        metadata:
          labels:

用于指定要应用于组件服务入口的额外标签。

字符串

N/A

kiali:
  install:
    service:
      ingress:
        enabled:

用于自定义与组件关联的服务的 OpenShift Route。

true/false

true

kiali:
  install:
    service:
      ingress:
        contextPath:

用于指定服务的上下文路径。

字符串

N/A

install:
  service:
    ingress:
      hosts:

用于为每个 OpenShift 路由指定单个主机名。空主机名表示路由的默认主机名。

字符串

N/A

install:
  service:
    ingress:
      tls:

用于配置 OpenShift 路由的 TLS。

N/A

kiali:
  install:
    service:
      nodePort:

用于指定组件服务的 `nodePort` `Values..service.nodePort.port`

整数

N/A

在 Kiali 自定义资源中指定 Kiali 配置

您可以通过在 Kiali 自定义资源 (CR) 中配置 Kiali 而不是在 `ServiceMeshControlPlane` (SMCP) 资源中配置 Kiali 来完全自定义您的 Kiali 部署。此配置有时称为“外部 Kiali”,因为配置是在 SMCP 之外指定的。

您必须在相同的命名空间中部署 `ServiceMeshControlPlane` 和 Kiali 自定义资源。例如,`istio-system`。

您可以配置和部署 Kiali 实例,然后将 Kiali 资源的 `name` 指定为 SMCP 资源中 `spec.addons.kiali.name` 的值。如果存在与 `name` 值匹配的 Kiali CR,则 Service Mesh 控制平面将使用现有安装。此方法允许您完全自定义 Kiali 配置。