From 1e2a8c16993ca5187c91bcd2fec1b1ecfbae1356 Mon Sep 17 00:00:00 2001 From: smartcat999 <49057502+smartcat999@users.noreply.github.com> Date: Mon, 26 Dec 2022 10:08:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20ks-apiserver=20panic=20error:=20ServiceA?= =?UTF-8?q?ccount's=20Secret=20index=20out=20of=20r=E2=80=A6=20(#5428)?= 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 --- .../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 936d52a71..09008c7ba 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)