在 istio 中更改 kiali 的秘密不起作用

Changing secrets of kiali in istio is not working

我已经在我的 eks 集群中部署了 istio,配置文件为 demodemokiali 部署。 kiali dashboard 的访问密码是(username:admin,password:admin)。我能够使用此凭据访问我的仪表板。然后我创造了我自己的秘密。

$ echo shajaltest | base64
$ c2hhamFsdGVzdAo=

删除了 kiali 的秘密。

$ kubectl delete secrets kiali -n istio-system

使用此 yaml

再次部署机密
apiVersion: v1
kind: Secret
metadata:
  name: kiali
  namespace: istio-system
  labels:
    app: kiali
type: Opaque
data:
  username: c2hhamFsdGVzdAo=
  passphrase: c2hhamFsdGVzdAo=

之后,我删除了 kiali 的 pod。 之后我无法使用此用户名和密码访问我的仪表板。 我该怎么办?

我也查了一下kiali的秘密。它已更新为最近的秘密值。

这是kiali pod的日志。

I0408 18:30:30.194890       1 kiali.go:66] Kiali: Version: v1.15.1, Commit: 
3263b7692bcc06ad40292bedea5a9213e04aa9db
I0408 18:30:30.195179       1 kiali.go:205] Using authentication strategy [login]
I0408 18:30:30.195205       1 kiali.go:87] Kiali: Console version: 1.15.0
I0408 18:30:30.195212       1 kiali.go:286] Updating base URL in index.html with [/kiali]
I0408 18:30:30.195376       1 kiali.go:267] Generating env.js from config
I0408 18:30:30.197274       1 server.go:57] Server endpoint will start at [:20001/kiali]
I0408 18:30:30.197285       1 server.go:58] Server endpoint will serve static content from [/opt/kiali/console]
I0408 18:30:30.197297       1 metrics_server.go:18] Starting Metrics Server on [:9090]
I0408 18:30:30.197367       1 kiali.go:137] Secret is now available.

您是否尝试遵循 istio documentation 关于在 kiali 中更改凭据的说明?


我通过以下步骤重现了您的问题,一切正常。

Enter a Kiali username when prompted:

KIALI_USERNAME=$(read -p 'Kiali Username: ' uval && echo -n $uval | base64)

Enter a Kiali passphrase when prompted:

KIALI_PASSPHRASE=$(read -sp 'Kiali Passphrase: ' pval && echo -n $pval | base64)

To create a secret, run the following commands:

NAMESPACE=istio-system

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Secret
metadata:
  name: kiali
  namespace: $NAMESPACE
  labels:
    app: kiali
type: Opaque
data:
  username: $KIALI_USERNAME
  passphrase: $KIALI_PASSPHRASE
EOF

只需重新创建 kiali pod

kubectl delete pod <name_of_the_kiali_pod> -n istio-system

编辑

正如@Shajal Ahamed 在评论中提到的那样,问题是缺少 -n,如果您只想使用 echo,则使用。

echo -n username | base64
echo -n passphrase | base64