From 658497aa0a9c7b75dcc0f9949e546946c49d418e Mon Sep 17 00:00:00 2001 From: KubeSphere CI Bot <47586280+ks-ci-bot@users.noreply.github.com> Date: Fri, 13 Jan 2023 11:14:17 +0800 Subject: [PATCH] =?UTF-8?q?[release-3.3]=20fix:=20ks-apiserver=20panic=20e?= =?UTF-8?q?rror:=20ServiceAccount's=20Secret=20index=20out=20of=20r?= =?UTF-8?q?=E2=80=A6=20(#5472)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit fix: ks-apiserver panic error: ServiceAccount's Secret index out of range Co-authored-by: peng wu <2030047311@qq.com> --- .../servicemesh/metrics/v1alpha2/handler.go | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/pkg/kapis/servicemesh/metrics/v1alpha2/handler.go b/pkg/kapis/servicemesh/metrics/v1alpha2/handler.go index ea27e23f9..ee95536e4 100644 --- a/pkg/kapis/servicemesh/metrics/v1alpha2/handler.go +++ b/pkg/kapis/servicemesh/metrics/v1alpha2/handler.go @@ -48,15 +48,17 @@ func NewHandler(o *servicemesh.Options, client kubernetes.Interface, cache cache if o != nil && o.KialiQueryHost != "" { sa, err := client.CoreV1().ServiceAccounts(KubesphereNamespace).Get(context.TODO(), KubeSphereServiceAccount, metav1.GetOptions{}) if err == nil { - secret, err := client.CoreV1().Secrets(KubesphereNamespace).Get(context.TODO(), sa.Secrets[0].Name, metav1.GetOptions{}) - if err == nil { - return &Handler{ - opt: o, - client: kiali.NewDefaultClient( - cache, - string(secret.Data["token"]), - o.KialiQueryHost, - ), + if len(sa.Secrets) > 0 { + secret, err := client.CoreV1().Secrets(KubesphereNamespace).Get(context.TODO(), sa.Secrets[0].Name, metav1.GetOptions{}) + if err == nil { + return &Handler{ + opt: o, + client: kiali.NewDefaultClient( + cache, + string(secret.Data["token"]), + o.KialiQueryHost, + ), + } } } klog.Warningf("get ServiceAccount's Secret failed %v", err)