×

当服务网格操作符创建ServiceMeshControlPlane时,它也会处理 Kiali 资源。然后,Kiali 操作符在创建 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的值。您必须在与服务网格控制平面相同的命名空间中创建 CR,例如istio-system。如果存在与name的值匹配的 Kiali 资源,则控制平面将配置该 Kiali 资源以与控制平面一起使用。这种方法允许您在 Kiali 资源中完全自定义您的 Kiali 配置。请注意,使用这种方法,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,则服务网格操作符将使用该 CR 进行安装。如果不存在 Kiali CR,则操作符将使用此name和 SMCP 中指定的配置选项创建一个 Kiali CR。

字符串

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 控制台更改服务网格。

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.<component>.service.nodePort.port

整数

N/A

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

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

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

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