在 istio 中更改 kiali 的秘密不起作用
Changing secrets of kiali in istio is not working
我已经在我的 eks 集群中部署了 istio,配置文件为 demo。 demo 有 kiali 部署。 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
我已经在我的 eks 集群中部署了 istio,配置文件为 demo。 demo 有 kiali 部署。 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