注册远程集群 secret

远程集群 secret 包含 Kiali server 用于读取远程集群的 kubeconfig。Kiali Operator 可以通过三种方式获知此类 secret。请选择其中一种。

在多集群网格中安装 Kiali依赖默认的基于标签的自动检测。

基于标签的自动检测

Operator 会挂载 Kiali 部署命名空间中带有 kiali.io/multiCluster=true 标签的每个 secret。相关默认值如下:

spec:
  clustering:
    autodetect_secrets:
      enabled: true
      label: kiali.io/multiCluster=true

显式声明

autodetect_secrets.enabled 设置为 false,并在 Kiali 资源中指定每个 secret:

spec:
  clustering:
    autodetect_secrets:
      enabled: false
    clusters:
    - name: cluster2
      secret_name: kiali-remote-cluster-secret-cluster2

一个组合 secret

将每个远程集群的 kubeconfig 放入一个名为 kiali-multi-cluster-secret 的单一 secret 中,并将每个对象置于 stringData 中各自的键下,其中键为集群名称。添加 kiali.io/kiali-multi-cluster-secret: "true" 标签,以便每当 secret 发生变化时,Operator 自动重启 Kiali server:

apiVersion: v1
kind: Secret
metadata:
  name: kiali-multi-cluster-secret
  namespace: istio-system
  labels:
    kiali.io/kiali-multi-cluster-secret: "true"
stringData:
  cluster2: |
    # kubeconfig for cluster2
  cluster3: |
    # kubeconfig for cluster3
WARNING

切勿将 kiali.io/kiali-multi-cluster-secret: "true" 标签应用于名称不同的 secret。Operator 无权读取此类 secret,并且会发生错误。

如果多个 Kiali server 共享一个命名空间,则它们都必须使用组合 secret。若要让每个 server 访问不同的集群集合,请勿使用组合 secret。