kubernetes / dashboard

General-purpose web UI for Kubernetes clusters
Apache License 2.0
14.07k stars 4.11k forks source link

The token for verification of login is unavailable. #5438

Closed Frodez closed 3 years ago

Frodez commented 3 years ago

I need to compile and build the dashboard project with the master branch, and then I build it successfully.

However, when I generate the token and use it according to https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md, the login page shows me nothing, and I can't log in.

I catch some responses, one of them shows me that the server could not find the requested resource (get plugins.dashboard.k8s.io. Is there anything I'm wrong?

The status of pods:

NAMESPACE              NAME                                             READY   STATUS    RESTARTS   AGE
kube-system            coredns-6955765f44-dnwhw                         1/1     Running   17         14h
kube-system            coredns-6955765f44-ndjcp                         1/1     Running   17         14h
kube-system            etcd-frodez-virtual-machine                      1/1     Running   2          14h
kube-system            kube-apiserver-frodez-virtual-machine            1/1     Running   2          14h
kube-system            kube-controller-manager-frodez-virtual-machine   1/1     Running   2          14h
kube-system            kube-flannel-ds-amd64-jstgt                      1/1     Running   2          14h
kube-system            kube-proxy-nzzc7                                 1/1     Running   2          14h
kube-system            kube-scheduler-frodez-virtual-machine            1/1     Running   2          14h
kubernetes-dashboard   dashboard-metrics-scraper-c79c65bb7-mjxd9        1/1     Running   0          36m
kubernetes-dashboard   kubernetes-dashboard-79ddc795f9-fh4q7            1/1     Running   0          36m

My apply.yaml:

# Copyright 2017 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

apiVersion: v1
kind: Namespace
metadata:
  name: kubernetes-dashboard

---

apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard

---

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  ports:
    - port: 443
      targetPort: 8443
  selector:
    k8s-app: kubernetes-dashboard

---

apiVersion: v1
kind: Secret
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard-certs
  namespace: kubernetes-dashboard
type: Opaque

---

apiVersion: v1
kind: Secret
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard-csrf
  namespace: kubernetes-dashboard
type: Opaque
data:
  csrf: ""

---

apiVersion: v1
kind: Secret
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard-key-holder
  namespace: kubernetes-dashboard
type: Opaque

---

kind: ConfigMap
apiVersion: v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard-settings
  namespace: kubernetes-dashboard

---

kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
rules:
  # Allow Dashboard to get, update and delete Dashboard exclusive secrets.
  - apiGroups: [""]
    resources: ["secrets"]
    resourceNames: ["kubernetes-dashboard-key-holder", "kubernetes-dashboard-certs", "kubernetes-dashboard-csrf"]
    verbs: ["get", "update", "delete"]
    # Allow Dashboard to get and update 'kubernetes-dashboard-settings' config map.
  - apiGroups: [""]
    resources: ["configmaps"]
    resourceNames: ["kubernetes-dashboard-settings"]
    verbs: ["get", "update"]
    # Allow Dashboard to get metrics.
  - apiGroups: [""]
    resources: ["services"]
    resourceNames: ["heapster", "dashboard-metrics-scraper"]
    verbs: ["proxy"]
  - apiGroups: [""]
    resources: ["services/proxy"]
    resourceNames: ["heapster", "http:heapster:", "https:heapster:", "dashboard-metrics-scraper", "http:dashboard-metrics-scraper"]
    verbs: ["get"]

---

kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
rules:
  # Allow Metrics Scraper to get metrics from the Metrics server
  - apiGroups: ["metrics.k8s.io"]
    resources: ["pods", "nodes"]
    verbs: ["get", "list", "watch"]

---

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: kubernetes-dashboard
subjects:
  - kind: ServiceAccount
    name: kubernetes-dashboard
    namespace: kubernetes-dashboard

---

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: kubernetes-dashboard
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: kubernetes-dashboard
subjects:
  - kind: ServiceAccount
    name: kubernetes-dashboard
    namespace: kubernetes-dashboard

---

kind: Deployment
apiVersion: apps/v1
metadata:
  labels:
    k8s-app: kubernetes-dashboard
  name: kubernetes-dashboard
  namespace: kubernetes-dashboard
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s-app: kubernetes-dashboard
  template:
    metadata:
      labels:
        k8s-app: kubernetes-dashboard
    spec:
      containers:
        - name: kubernetes-dashboard-amd64
          image: kubernetesui/dashboard-amd64:v2.0.3
          imagePullPolicy: Never
          ports:
            - containerPort: 8443
              protocol: TCP
          args:
            - --auto-generate-certificates
            - --namespace=kubernetes-dashboard
            # Uncomment the following line to manually specify Kubernetes API server Host
            # If not specified, Dashboard will attempt to auto discover the API server and connect
            # to it. Uncomment only if the default does not work.
            # - --apiserver-host=http://my-address:port
          volumeMounts:
            - name: kubernetes-dashboard-certs
              mountPath: /certs
              # Create on-disk volume to store exec logs
            - mountPath: /tmp
              name: tmp-volume
          livenessProbe:
            httpGet:
              scheme: HTTPS
              path: /
              port: 8443
            initialDelaySeconds: 30
            timeoutSeconds: 30
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
            runAsUser: 1001
            runAsGroup: 2001
      volumes:
        - name: kubernetes-dashboard-certs
          secret:
            secretName: kubernetes-dashboard-certs
        - name: tmp-volume
          emptyDir: {}
      serviceAccountName: kubernetes-dashboard
      nodeSelector:
        "kubernetes.io/os": linux
      # Comment the following tolerations if Dashboard must not be deployed on master
      tolerations:
        - key: node-role.kubernetes.io/master
          effect: NoSchedule

---

kind: Service
apiVersion: v1
metadata:
  labels:
    k8s-app: dashboard-metrics-scraper
  name: dashboard-metrics-scraper
  namespace: kubernetes-dashboard
spec:
  ports:
    - port: 8000
      targetPort: 8000
  selector:
    k8s-app: dashboard-metrics-scraper

---

kind: Deployment
apiVersion: apps/v1
metadata:
  labels:
    k8s-app: dashboard-metrics-scraper
  name: dashboard-metrics-scraper
  namespace: kubernetes-dashboard
spec:
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      k8s-app: dashboard-metrics-scraper
  template:
    metadata:
      labels:
        k8s-app: dashboard-metrics-scraper
      annotations:
        seccomp.security.alpha.kubernetes.io/pod: 'runtime/default'
    spec:
      containers:
        - name: dashboard-metrics-scraper
          image: kubernetesui/metrics-scraper:v1.0.4
          ports:
            - containerPort: 8000
              protocol: TCP
          livenessProbe:
            httpGet:
              scheme: HTTP
              path: /
              port: 8000
            initialDelaySeconds: 30
            timeoutSeconds: 30
          volumeMounts:
          - mountPath: /tmp
            name: tmp-volume
          securityContext:
            allowPrivilegeEscalation: false
            readOnlyRootFilesystem: true
            runAsUser: 1001
            runAsGroup: 2001
      serviceAccountName: kubernetes-dashboard
      nodeSelector:
        "kubernetes.io/os": linux
      # Comment the following tolerations if Dashboard must not be deployed on master
      tolerations:
        - key: node-role.kubernetes.io/master
          effect: NoSchedule
      volumes:
        - name: tmp-volume
          emptyDir: {}

My auth.yaml:

apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user
  namespace: kubernetes-dashboard

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user
  namespace: kubernetes-dashboard

The request:

GET /api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/api/v1/plugin/config HTTP/1.1
Host: localhost:8001
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:79.0) Gecko/20100101 Firefox/79.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
jweToken: {"protected":"eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0","aad":"eyJleHAiOiIyMDIwLTA4LTE1VDAwOjQ5OjA1WiIsImlhdCI6IjIwMjAtMDgtMTVUMDA6MzQ6MDVaIn0","encrypted_key":"E9qGn3gsew95-sWBKMUkBbttw7EJOEG0Iujq3S2mzmgUUpqDlSDIoUuVN0gACNYQMWpKnraHAJ06JwCUUIf8_zJc1eOE5-sDk2b4xZQ_2c-m1vBfQOluA0IWt4giFOHzmuFZ7oeIku8AWH81f1IpDFZq7rD9bHFoymfeXfImIHuOZBbACOf3DKrGdJlAj5s9x3hHL4QKozc397uR5_ESDQXAAm2rCrk3_BDRTaHlEeNyX45Hk8FHzaL9GqELbyfL6WEvH-H0kF-hEVkUVEohd9lFPjIcDvYfyHgun7ENQVY6PaPeONKwgDiHLWCrKIvVhXYmYabyyBg4sEfCFvKmqA","iv":"64owtaN__Xvr5cus","ciphertext":"7sYd1TUwg-uBqzocqkb8S96AlXM7zkfVfM6asnMl_kLZSHTKct9j83RlAVcggXp1eep2qJ_hAbecQBZq72e0VAuArDovDoBWa5gFTdU-hGqL7Uy-sL4r24M2Ka3nc-Jt4VYOw2tGdcjn3_C0UFvRWgMgAIFeoFCkV-d62Q6OgXcjSMdSijishyE61TWopvXMAEekW-v8OoOLYSkWN3bYFuOXqH2U5xryLnYrKGkvLfl6pwbfhfFTIHYGrq_BqUeav79OQ_ql0u_WySOTvFI0MltlS4xKu_OU_ECcEdn5d5QkFZxUO6hr52LABN1bDH5by55PvoDj0R6eXstAlBDoEqv3raeNHUPFy2SNXQvl7qdzcB7kaMzKvdTQF_13lwy3thFg1o2X97yStKHQLxcLrgJS4kwFLXA_54I3FVoz7VSJbxpvEZ7DKaVppHLfrKSmzqzXAFaKXdbXFmPPHUBIsByAIC7KYX8WG1RoXSPcc5G8f9uvB0XINu4iVE0ik0giPK3ViWQIcbzLb1HPa0YMkvAB3GwzUulUs5g06IHw-FlOJGVHfdR-oPssQNac37GtfAIXmNwbeKFutnoJESkP0jE4cY3C7YtdAhOCuLe9TJxHb2Xw_ODIq_Pj_n4_78EMVQazdvDf5H6o8aAT-yxFU-4BmrjQhZFNKJP4ViLesYFwr8uUPybK56z568m4WIHBiWwM-pfynXT1_vvOuA-DA2p1hKVQjvKazzAVMsrC2yTID40JGaXbM2NpIFOjlpJsV0OJhHI2JZnr8aDNZj9iUZcj5t-yaM2pwGXRDFK8UX_sNsLEFfpkMzKxD9Bk-6uOkf7FI4akitjLtreiLzbmxEAHnvwIuiGkRLM7eD2Eep3R91hpE38wz7XOKm7QBLuf4FFGX6qUhJ11xc_QIqDYnf9yHtYqAsG8fMspZVCVaf1olWax45DnMANsqQ_88CyWFTMeKnXe-3EJGV2YQhqGv0GfqP9gWUw6ADXuAyrs_X9OH7KKIVkSJQNLFSSXbGm9YnPwagGU3XLEL2AtOF8iEmiLt0DEEv_o-3v-V3shnGfxfd4MP-S7Tp3yj-TwqawqS6Uqh7A9dSnH1P2QIIIbLaRp5VhgsB2MZXIz5rTx1AphpY7zfT_mW-L3bbT_cn2_jyHuP_FgEUchqFOk6TZnQduDQL0GwJZZyla0C95b7MivdSQpmZ89jgx0zfy_dbW3fpDf7WlY7791-YbV3hlP0-kUUsmbxv9tmNADREaFdIziMmXfNmRpEUx5frpEECwanc-yjpDRaqT62d-KeDYbBZdZvN4","tag":"_qnE2TjVjQsVMInvmKvBmw"}
Connection: keep-alive
Referer: http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
Cookie: authMode=token; jweToken=%7B%22protected%22%3A%22eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0%22%2C%22aad%22%3A%22eyJleHAiOiIyMDIwLTA4LTE1VDAwOjQ5OjA1WiIsImlhdCI6IjIwMjAtMDgtMTVUMDA6MzQ6MDVaIn0%22%2C%22encrypted_key%22%3A%22E9qGn3gsew95-sWBKMUkBbttw7EJOEG0Iujq3S2mzmgUUpqDlSDIoUuVN0gACNYQMWpKnraHAJ06JwCUUIf8_zJc1eOE5-sDk2b4xZQ_2c-m1vBfQOluA0IWt4giFOHzmuFZ7oeIku8AWH81f1IpDFZq7rD9bHFoymfeXfImIHuOZBbACOf3DKrGdJlAj5s9x3hHL4QKozc397uR5_ESDQXAAm2rCrk3_BDRTaHlEeNyX45Hk8FHzaL9GqELbyfL6WEvH-H0kF-hEVkUVEohd9lFPjIcDvYfyHgun7ENQVY6PaPeONKwgDiHLWCrKIvVhXYmYabyyBg4sEfCFvKmqA%22%2C%22iv%22%3A%2264owtaN__Xvr5cus%22%2C%22ciphertext%22%3A%227sYd1TUwg-uBqzocqkb8S96AlXM7zkfVfM6asnMl_kLZSHTKct9j83RlAVcggXp1eep2qJ_hAbecQBZq72e0VAuArDovDoBWa5gFTdU-hGqL7Uy-sL4r24M2Ka3nc-Jt4VYOw2tGdcjn3_C0UFvRWgMgAIFeoFCkV-d62Q6OgXcjSMdSijishyE61TWopvXMAEekW-v8OoOLYSkWN3bYFuOXqH2U5xryLnYrKGkvLfl6pwbfhfFTIHYGrq_BqUeav79OQ_ql0u_WySOTvFI0MltlS4xKu_OU_ECcEdn5d5QkFZxUO6hr52LABN1bDH5by55PvoDj0R6eXstAlBDoEqv3raeNHUPFy2SNXQvl7qdzcB7kaMzKvdTQF_13lwy3thFg1o2X97yStKHQLxcLrgJS4kwFLXA_54I3FVoz7VSJbxpvEZ7DKaVppHLfrKSmzqzXAFaKXdbXFmPPHUBIsByAIC7KYX8WG1RoXSPcc5G8f9uvB0XINu4iVE0ik0giPK3ViWQIcbzLb1HPa0YMkvAB3GwzUulUs5g06IHw-FlOJGVHfdR-oPssQNac37GtfAIXmNwbeKFutnoJESkP0jE4cY3C7YtdAhOCuLe9TJxHb2Xw_ODIq_Pj_n4_78EMVQazdvDf5H6o8aAT-yxFU-4BmrjQhZFNKJP4ViLesYFwr8uUPybK56z568m4WIHBiWwM-pfynXT1_vvOuA-DA2p1hKVQjvKazzAVMsrC2yTID40JGaXbM2NpIFOjlpJsV0OJhHI2JZnr8aDNZj9iUZcj5t-yaM2pwGXRDFK8UX_sNsLEFfpkMzKxD9Bk-6uOkf7FI4akitjLtreiLzbmxEAHnvwIuiGkRLM7eD2Eep3R91hpE38wz7XOKm7QBLuf4FFGX6qUhJ11xc_QIqDYnf9yHtYqAsG8fMspZVCVaf1olWax45DnMANsqQ_88CyWFTMeKnXe-3EJGV2YQhqGv0GfqP9gWUw6ADXuAyrs_X9OH7KKIVkSJQNLFSSXbGm9YnPwagGU3XLEL2AtOF8iEmiLt0DEEv_o-3v-V3shnGfxfd4MP-S7Tp3yj-TwqawqS6Uqh7A9dSnH1P2QIIIbLaRp5VhgsB2MZXIz5rTx1AphpY7zfT_mW-L3bbT_cn2_jyHuP_FgEUchqFOk6TZnQduDQL0GwJZZyla0C95b7MivdSQpmZ89jgx0zfy_dbW3fpDf7WlY7791-YbV3hlP0-kUUsmbxv9tmNADREaFdIziMmXfNmRpEUx5frpEECwanc-yjpDRaqT62d-KeDYbBZdZvN4%22%2C%22tag%22%3A%22_qnE2TjVjQsVMInvmKvBmw%22%7D

The response:

{
 "status": 404,
 "plugins": [],
 "errors": [
  {
   "ErrStatus": {
    "metadata": {},
    "status": "Failure",
    "message": "the server could not find the requested resource (get plugins.dashboard.k8s.io)",
    "reason": "NotFound",
    "details": {
     "group": "dashboard.k8s.io",
     "kind": "plugins",
     "causes": [
      {
       "reason": "UnexpectedServerResponse",
       "message": "404 page not found"
      }
     ]
    },
    "code": 404
   }
  }
 ]
}

My steps are:

  1. git clone
  2. npm install
  3. npm run build:docker
  4. modify the apply.yaml(change the imagePullPolicy of kubernetesui/dashboard-amd64:v2.0.3 to Never)
  5. kubectl apply -f apply.yaml
  6. kubectl apply -f auth.yaml
  7. kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}') (get the token)
  8. access http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login and input the token.
  9. error happens.

Thank you!

floreks commented 3 years ago

Why do you build it if you are still using our images?

Frodez commented 3 years ago

Why do you build it if you are still using our images?

I want to do some customization. If there are any problems about the license or else, please tell me about them.

After I build the project, I modify the apply.yaml by changing the imagePullPolicy of kubernetesui/dashboard-amd64:v2.0.3, from Always to Never. So I use the local image which is build by me, rather than use the image on the internet.

floreks commented 3 years ago

You can fork and do whatever you want with it as it is fully open source.

Plugin error seems unrelated. Is there any error message on the login view?

What version of K8S are you using? How did you install it?

Also, since you are modifying the source code I can't really tell if changes do not affect the application.

Frodez commented 3 years ago

You can fork and do whatever you want with it as it is fully open source.

Plugin error seems unrelated. Is there any error message on the login view?

What version of K8S are you using? How did you install it?

Also, since you are modifying the source code I can't really tell if changes do not affect the application.

Thank you very much for your reply.

There is nothing on the login view. No error, No information.

When it comes to the time I used the Devtools of Firefox, I noticed that all ajax requests had a 200 status. Then I checked all requests, and I found a response whose body with a json-like form contained a error status and message, and it is just the response in my issue's first comment.

Unfortunately, My network is not very well on the github, so I can't upload any pictures about the error. When the network becomes well, I will try it.

I modify nothing except the apply.yaml(only changed the imagePullPolicy of kubernetesui/dashboard-amd64:v2.0.3, from Always to Never, so the k8s will use the local image rather than the image online) up to now. Maybe this modification is wrong?

floreks commented 3 years ago

You haven't said anything about your K8S version and how did you install it.

Frodez commented 3 years ago

You haven't said anything about your K8S version and how did you install it.

Sorry I forgot it.

The result of kubectl version:

Client Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.5", GitCommit:"e0fccafd69541e3750d460ba0f9743b90336f24f", GitTreeState:"clean", BuildDate:"2020-04-16T11:44:03Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"17", GitVersion:"v1.17.5", GitCommit:"e0fccafd69541e3750d460ba0f9743b90336f24f", GitTreeState:"clean", BuildDate:"2020-04-16T11:35:47Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}

The result of docker images:

REPOSITORY                                                                    TAG                 IMAGE ID            CREATED             SIZE
k8s.gcr.io/kube-proxy                                                         v1.17.5             e13db435247d        4 months ago        116MB
k8s.gcr.io/kube-apiserver                                                     v1.17.5             f640481f6db3        4 months ago        171MB
k8s.gcr.io/kube-controller-manager                                            v1.17.5             fe3d691efbf3        4 months ago        161MB
k8s.gcr.io/kube-scheduler                                                     v1.17.5             f648efaff966        4 months ago        94.4MB
quay.io/coreos/flannel                                                        v0.12.0-amd64       4e9f801d2217        5 months ago        52.8MB
k8s.gcr.io/coredns                                                            1.6.5               70f311871ae1        9 months ago        41.6MB.
k8s.gcr.io/etcd                                                               3.4.3-0             303ce5db0e90        9 months ago        288MB
k8s.gcr.io/pause                                                              3.1                 da86e6ba6ca1        2 years ago         742kB
kubernetesui/dashboard-amd64                                                  v2.0.3              fde8867f5081        2 days ago          229MB
kubernetesui/metrics-scraper                                                  v1.0.4              86262685d9ab        4 months ago        36.9MB

The result of docker version:

Client: Docker Engine - Community
 Version:           19.03.12
 API version:       1.40
 Go version:        go1.13.10
 Git commit:        48a66213fe
 Built:             Mon Jun 22 15:45:44 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.12
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.13.10
  Git commit:       48a66213fe
  Built:            Mon Jun 22 15:44:15 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

My scripts on the installation(I used the CDN in China):

1.

#! /bin/sh
# install kubenetes on debian
# https://developer.aliyun.com/mirror/kubernetes
#
apt update
apt install -y apt-transport-https curl
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF

apt update
#apt install -y kubelet kubeadm kubectl
apt-get install -y kubelet=1.17.5-00 kubeadm=1.17.5-00 kubectl=1.17.5-00
# show the version of kubenetes
kubeadm version

2.

#! /bin/sh
# download the k8s images
#
# list all images
OUTPUT=$(kubeadm config images list 2> /dev/null | grep "^k8s")
# substituted path to aliyuns.com
IMAGES=$(echo $OUTPUT | sed "s|k8s.gcr.io|registry.cn-hangzhou.aliyuncs.com/google_containers|g")

# output downloading information
echo "the original images source are: "
for image in $OUTPUT; do
    echo $image
done
echo "\nwill be downloaded from aliyuncs: "
for image in $IMAGES; do
    echo $image
done

# downloading
#echo "\ndownloading...\n"
#for image in $IMAGES; do
#    docker pull $image
#    docker tag $image $(echo $image | sed 's|registry.cn-hangzhou.aliyuncs.com/google_containers|k8s.gcr.io|g')
#    docker rmi $image
#done

images=(kube-apiserver:v1.17.5 kube-controller-manager:v1.17.5 kube-scheduler:v1.17.5 kube-proxy:v1.17.5 pause:3.1 etcd:3.4.3-0 coredns:1.6.5)
echo $images
for imageName in ${images[@]};do echo $imageName; done
for imageName in ${images[@]};do docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName; docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName; done
for imageName in ${images[@]};do docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName; docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName; done

# show the docker images 
docker images

# 阿里云可能没有更新镜像,用1.17.5
#IMAGES=(kube-apiserver:v1.17.5 kube-controller-manager:v1.17.5 kubescheduler:v1.17.5 kube-proxy:v1.17.5 pause:3.1 etcd:3.4.3-0 coredns:1.6.5)
#IMAGES=(kube-apiserver:v1.17.6 kube-controller-manager:v1.17.6 kubescheduler:v1.17.6 kube-proxy:v1.17.6 pause:3.1 etcd:3.4.3-0 coredns:1.6.5)

3.

#!/bin/sh
# create a kubenetes cluster
#
# shutdown firewall on centos
#setenforce 0
#systemctl stop firewalld
# close swap
swapoff -a
# clear iptables
iptables -L
iptables --flush

# pull flannel
docker pull quay.io/coreos/flannel:v0.11.0-amd64

# create a k8s cluster on a network "10.244.0.0/16"
kubeadm init --kubernetes-version=$(kubeadm version -o short) --pod-network-cidr="10.244.0.0/16"

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes

kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
floreks commented 3 years ago

Take a screenshot of the login view with dev tools network tab open. See if login endpoint is called and what it returns.

Frodez commented 3 years ago

Take a screenshot of the login view with dev tools network tab open. See if login endpoint is called and what it returns.

login view

login get response

login get response_2

login post response

login post response_2

the login get request:

GET /api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/api/v1/csrftoken/login HTTP/1.1
Host: localhost:8001
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:79.0) Gecko/20100101 Firefox/79.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
jweToken: {"protected":"eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0","aad":"eyJleHAiOiIyMDIwLTA4LTE2VDA1OjM3OjMwWiIsImlhdCI6IjIwMjAtMDgtMTZUMDU6MjI6MzBaIn0","encrypted_key":"HeVFKsFQmulc6fRx4V7-ae-3V77TYsMyQSgU1_xzuaBdf8WgCzRhoCttQJqQ-p9T-pIuEf_COXsswq1MA7zaF0M0w09l8gBWhRnPVQVvI4HWt8yq6dmjKw5tZ7CWWi1gK9TQJsVomctUd1kokv3b7fDtMJCSdTJMc5GPvBCrqPisRaXXATtx9ov6STHkBsNvJRMbXDtBZc1dLjmuDp9CI8K2-wZ7TnuxKi8CCn-966qZ5m42qAiq98KFnFgDtpNgp-5lDiwfLmm_JE6s0e-wTUyPExoXWdsI5ov_SbM5xB-LAvJNUu_bbklTdhGOzBfXD1fX98k7MuFFUfWAhS9TmQ","iv":"uHD4yTc0hcnzFMY7","ciphertext":"J0t6gjo4jYEYJyQefytKliUOramiC_07ka-JtSrxsCBEt_WNZfs_G8T9QgqHtzAFmRCOEfo9w8EbGpeNGMIeIsnh-ynh2GF-03spy4vGs467f0bSRi8a0VNqtZTxdg80tS5SHWV8YefAqJ7GxuqCoyfehZVfHlycPIOIl2pV3XeiIUvysx0J8WScRdxk3ocJMfZjHlglim6QwzRROwagMQpykz7TVdpvZK_GQIKqQFzV_RmJvacPExoyw0pH0W3a8X9eQwFkXxibig2M1p14fTDVPCl3tZzZw0FdBa-ERZjYeGl7xxizVTIKyp-4-M8j99JDNoyNUkcLgWAXozPX9H38LVmJ09imYInpt1ubyIeneNzV59GHuVHuPrdKXmWRMAH6PzsuQNFtPo0IZQgkntFNYSEjCgRVhJmKPcS4j1641lNkS-Q_6KSfgFiTjTZx56hYpFiKvQFViU0Sw7dxg7lcklHecbAniTLKTozedQxi8HlYCj78dxLwmUxPEBYTy93adekQl3nAq3TDiwt_9ADZzyRGdFr1jF04EXnrZ3YcutYh2kPgI9vGf_ZxU_hdjQZWbCmYRuNL7FXguAHe9sdjTbQo8x8O1Z_3SbtSe0oKIwXqW0eEC0tjYRAJb8xs2nfyZebrxyWdj1rdCobBwu7P9YwTXcFVwE7yVHr70e1e7hm4tnSErdDwkvai-ruUXblkSBas4hPtchOIs9SWRG5UsgFBWE1vbHgU87oQ4ZWKZ1Fv1wfPfxBtik_IIW_roagchYoFT_trjtEKJMj3JXPhMODY_QjQctcEeEKoGZ1h0nqhHjaFrojU8MssL2jXklhYujeR4p0YBPo_pojb8GXp2SXS-UA3GHPjcQOi-fZMmcxT07DeftYBucDRLTN6yS_hBajKyj1-KblJNaFIizj_XLI2UqyHJNeavXZaT2kNvhNqCkqb-nvuwo6okjTqoHjgt9uTDIAdgfacV9T5YBGMkFpn4maty_Ai-VF_Lh8zDxSYSmlSjpm_qk5CtqMrCMvMgXjpnPMUh5HTI-nkrZ91Ep_jd5Uuh1f5pQuo54B1TcIqd3P7kpgem9LkIWLu62FIj1UKvwm-sSKoKgpXwW3MGi-rFUyRoW_GgoeCoig4afrYmpyeKN-caxhfkUAHcQmd9QUm7XNDR3mii_suJ8u3JWaytY8N2OQCbhfD4FQOk93SaIVS5c9rYDY1l-1gkdRaz-KS4_0ciYS88ioF5N84OOHrUnb4axOG6BlcqQy9PRZQSc2u0KKY66qQd_WdnbsOiueW-IDIW5LwapWHOg8i7WI","tag":"1_S-uslvUX9bXnu3uaWpog"}
Connection: keep-alive
Referer: http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
Cookie: authMode=token; jweToken=%7B%22protected%22%3A%22eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0%22%2C%22aad%22%3A%22eyJleHAiOiIyMDIwLTA4LTE2VDA1OjM3OjMwWiIsImlhdCI6IjIwMjAtMDgtMTZUMDU6MjI6MzBaIn0%22%2C%22encrypted_key%22%3A%22HeVFKsFQmulc6fRx4V7-ae-3V77TYsMyQSgU1_xzuaBdf8WgCzRhoCttQJqQ-p9T-pIuEf_COXsswq1MA7zaF0M0w09l8gBWhRnPVQVvI4HWt8yq6dmjKw5tZ7CWWi1gK9TQJsVomctUd1kokv3b7fDtMJCSdTJMc5GPvBCrqPisRaXXATtx9ov6STHkBsNvJRMbXDtBZc1dLjmuDp9CI8K2-wZ7TnuxKi8CCn-966qZ5m42qAiq98KFnFgDtpNgp-5lDiwfLmm_JE6s0e-wTUyPExoXWdsI5ov_SbM5xB-LAvJNUu_bbklTdhGOzBfXD1fX98k7MuFFUfWAhS9TmQ%22%2C%22iv%22%3A%22uHD4yTc0hcnzFMY7%22%2C%22ciphertext%22%3A%22J0t6gjo4jYEYJyQefytKliUOramiC_07ka-JtSrxsCBEt_WNZfs_G8T9QgqHtzAFmRCOEfo9w8EbGpeNGMIeIsnh-ynh2GF-03spy4vGs467f0bSRi8a0VNqtZTxdg80tS5SHWV8YefAqJ7GxuqCoyfehZVfHlycPIOIl2pV3XeiIUvysx0J8WScRdxk3ocJMfZjHlglim6QwzRROwagMQpykz7TVdpvZK_GQIKqQFzV_RmJvacPExoyw0pH0W3a8X9eQwFkXxibig2M1p14fTDVPCl3tZzZw0FdBa-ERZjYeGl7xxizVTIKyp-4-M8j99JDNoyNUkcLgWAXozPX9H38LVmJ09imYInpt1ubyIeneNzV59GHuVHuPrdKXmWRMAH6PzsuQNFtPo0IZQgkntFNYSEjCgRVhJmKPcS4j1641lNkS-Q_6KSfgFiTjTZx56hYpFiKvQFViU0Sw7dxg7lcklHecbAniTLKTozedQxi8HlYCj78dxLwmUxPEBYTy93adekQl3nAq3TDiwt_9ADZzyRGdFr1jF04EXnrZ3YcutYh2kPgI9vGf_ZxU_hdjQZWbCmYRuNL7FXguAHe9sdjTbQo8x8O1Z_3SbtSe0oKIwXqW0eEC0tjYRAJb8xs2nfyZebrxyWdj1rdCobBwu7P9YwTXcFVwE7yVHr70e1e7hm4tnSErdDwkvai-ruUXblkSBas4hPtchOIs9SWRG5UsgFBWE1vbHgU87oQ4ZWKZ1Fv1wfPfxBtik_IIW_roagchYoFT_trjtEKJMj3JXPhMODY_QjQctcEeEKoGZ1h0nqhHjaFrojU8MssL2jXklhYujeR4p0YBPo_pojb8GXp2SXS-UA3GHPjcQOi-fZMmcxT07DeftYBucDRLTN6yS_hBajKyj1-KblJNaFIizj_XLI2UqyHJNeavXZaT2kNvhNqCkqb-nvuwo6okjTqoHjgt9uTDIAdgfacV9T5YBGMkFpn4maty_Ai-VF_Lh8zDxSYSmlSjpm_qk5CtqMrCMvMgXjpnPMUh5HTI-nkrZ91Ep_jd5Uuh1f5pQuo54B1TcIqd3P7kpgem9LkIWLu62FIj1UKvwm-sSKoKgpXwW3MGi-rFUyRoW_GgoeCoig4afrYmpyeKN-caxhfkUAHcQmd9QUm7XNDR3mii_suJ8u3JWaytY8N2OQCbhfD4FQOk93SaIVS5c9rYDY1l-1gkdRaz-KS4_0ciYS88ioF5N84OOHrUnb4axOG6BlcqQy9PRZQSc2u0KKY66qQd_WdnbsOiueW-IDIW5LwapWHOg8i7WI%22%2C%22tag%22%3A%221_S-uslvUX9bXnu3uaWpog%22%7D

the login get response header:

HTTP/1.1 200 OK
Content-Encoding: gzip
Content-Length: 85
Content-Type: application/json
Date: Mon, 17 Aug 2020 13:02:56 GMT

the login get response body:

{
 "token": "ccmfmF6407IQgOfbi01wv2bH1Ck:1597669376417"
}

the login post request:

POST /api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/api/v1/login HTTP/1.1
Host: localhost:8001
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:79.0) Gecko/20100101 Firefox/79.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
X-CSRF-TOKEN: ccmfmF6407IQgOfbi01wv2bH1Ck:1597669376417
jweToken: {"protected":"eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0","aad":"eyJleHAiOiIyMDIwLTA4LTE2VDA1OjM3OjMwWiIsImlhdCI6IjIwMjAtMDgtMTZUMDU6MjI6MzBaIn0","encrypted_key":"HeVFKsFQmulc6fRx4V7-ae-3V77TYsMyQSgU1_xzuaBdf8WgCzRhoCttQJqQ-p9T-pIuEf_COXsswq1MA7zaF0M0w09l8gBWhRnPVQVvI4HWt8yq6dmjKw5tZ7CWWi1gK9TQJsVomctUd1kokv3b7fDtMJCSdTJMc5GPvBCrqPisRaXXATtx9ov6STHkBsNvJRMbXDtBZc1dLjmuDp9CI8K2-wZ7TnuxKi8CCn-966qZ5m42qAiq98KFnFgDtpNgp-5lDiwfLmm_JE6s0e-wTUyPExoXWdsI5ov_SbM5xB-LAvJNUu_bbklTdhGOzBfXD1fX98k7MuFFUfWAhS9TmQ","iv":"uHD4yTc0hcnzFMY7","ciphertext":"J0t6gjo4jYEYJyQefytKliUOramiC_07ka-JtSrxsCBEt_WNZfs_G8T9QgqHtzAFmRCOEfo9w8EbGpeNGMIeIsnh-ynh2GF-03spy4vGs467f0bSRi8a0VNqtZTxdg80tS5SHWV8YefAqJ7GxuqCoyfehZVfHlycPIOIl2pV3XeiIUvysx0J8WScRdxk3ocJMfZjHlglim6QwzRROwagMQpykz7TVdpvZK_GQIKqQFzV_RmJvacPExoyw0pH0W3a8X9eQwFkXxibig2M1p14fTDVPCl3tZzZw0FdBa-ERZjYeGl7xxizVTIKyp-4-M8j99JDNoyNUkcLgWAXozPX9H38LVmJ09imYInpt1ubyIeneNzV59GHuVHuPrdKXmWRMAH6PzsuQNFtPo0IZQgkntFNYSEjCgRVhJmKPcS4j1641lNkS-Q_6KSfgFiTjTZx56hYpFiKvQFViU0Sw7dxg7lcklHecbAniTLKTozedQxi8HlYCj78dxLwmUxPEBYTy93adekQl3nAq3TDiwt_9ADZzyRGdFr1jF04EXnrZ3YcutYh2kPgI9vGf_ZxU_hdjQZWbCmYRuNL7FXguAHe9sdjTbQo8x8O1Z_3SbtSe0oKIwXqW0eEC0tjYRAJb8xs2nfyZebrxyWdj1rdCobBwu7P9YwTXcFVwE7yVHr70e1e7hm4tnSErdDwkvai-ruUXblkSBas4hPtchOIs9SWRG5UsgFBWE1vbHgU87oQ4ZWKZ1Fv1wfPfxBtik_IIW_roagchYoFT_trjtEKJMj3JXPhMODY_QjQctcEeEKoGZ1h0nqhHjaFrojU8MssL2jXklhYujeR4p0YBPo_pojb8GXp2SXS-UA3GHPjcQOi-fZMmcxT07DeftYBucDRLTN6yS_hBajKyj1-KblJNaFIizj_XLI2UqyHJNeavXZaT2kNvhNqCkqb-nvuwo6okjTqoHjgt9uTDIAdgfacV9T5YBGMkFpn4maty_Ai-VF_Lh8zDxSYSmlSjpm_qk5CtqMrCMvMgXjpnPMUh5HTI-nkrZ91Ep_jd5Uuh1f5pQuo54B1TcIqd3P7kpgem9LkIWLu62FIj1UKvwm-sSKoKgpXwW3MGi-rFUyRoW_GgoeCoig4afrYmpyeKN-caxhfkUAHcQmd9QUm7XNDR3mii_suJ8u3JWaytY8N2OQCbhfD4FQOk93SaIVS5c9rYDY1l-1gkdRaz-KS4_0ciYS88ioF5N84OOHrUnb4axOG6BlcqQy9PRZQSc2u0KKY66qQd_WdnbsOiueW-IDIW5LwapWHOg8i7WI","tag":"1_S-uslvUX9bXnu3uaWpog"}
Content-Type: application/json
Content-Length: 958
Origin: http://localhost:8001
Connection: keep-alive
Referer: http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
Cookie: authMode=token; jweToken=%7B%22protected%22%3A%22eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0%22%2C%22aad%22%3A%22eyJleHAiOiIyMDIwLTA4LTE2VDA1OjM3OjMwWiIsImlhdCI6IjIwMjAtMDgtMTZUMDU6MjI6MzBaIn0%22%2C%22encrypted_key%22%3A%22HeVFKsFQmulc6fRx4V7-ae-3V77TYsMyQSgU1_xzuaBdf8WgCzRhoCttQJqQ-p9T-pIuEf_COXsswq1MA7zaF0M0w09l8gBWhRnPVQVvI4HWt8yq6dmjKw5tZ7CWWi1gK9TQJsVomctUd1kokv3b7fDtMJCSdTJMc5GPvBCrqPisRaXXATtx9ov6STHkBsNvJRMbXDtBZc1dLjmuDp9CI8K2-wZ7TnuxKi8CCn-966qZ5m42qAiq98KFnFgDtpNgp-5lDiwfLmm_JE6s0e-wTUyPExoXWdsI5ov_SbM5xB-LAvJNUu_bbklTdhGOzBfXD1fX98k7MuFFUfWAhS9TmQ%22%2C%22iv%22%3A%22uHD4yTc0hcnzFMY7%22%2C%22ciphertext%22%3A%22J0t6gjo4jYEYJyQefytKliUOramiC_07ka-JtSrxsCBEt_WNZfs_G8T9QgqHtzAFmRCOEfo9w8EbGpeNGMIeIsnh-ynh2GF-03spy4vGs467f0bSRi8a0VNqtZTxdg80tS5SHWV8YefAqJ7GxuqCoyfehZVfHlycPIOIl2pV3XeiIUvysx0J8WScRdxk3ocJMfZjHlglim6QwzRROwagMQpykz7TVdpvZK_GQIKqQFzV_RmJvacPExoyw0pH0W3a8X9eQwFkXxibig2M1p14fTDVPCl3tZzZw0FdBa-ERZjYeGl7xxizVTIKyp-4-M8j99JDNoyNUkcLgWAXozPX9H38LVmJ09imYInpt1ubyIeneNzV59GHuVHuPrdKXmWRMAH6PzsuQNFtPo0IZQgkntFNYSEjCgRVhJmKPcS4j1641lNkS-Q_6KSfgFiTjTZx56hYpFiKvQFViU0Sw7dxg7lcklHecbAniTLKTozedQxi8HlYCj78dxLwmUxPEBYTy93adekQl3nAq3TDiwt_9ADZzyRGdFr1jF04EXnrZ3YcutYh2kPgI9vGf_ZxU_hdjQZWbCmYRuNL7FXguAHe9sdjTbQo8x8O1Z_3SbtSe0oKIwXqW0eEC0tjYRAJb8xs2nfyZebrxyWdj1rdCobBwu7P9YwTXcFVwE7yVHr70e1e7hm4tnSErdDwkvai-ruUXblkSBas4hPtchOIs9SWRG5UsgFBWE1vbHgU87oQ4ZWKZ1Fv1wfPfxBtik_IIW_roagchYoFT_trjtEKJMj3JXPhMODY_QjQctcEeEKoGZ1h0nqhHjaFrojU8MssL2jXklhYujeR4p0YBPo_pojb8GXp2SXS-UA3GHPjcQOi-fZMmcxT07DeftYBucDRLTN6yS_hBajKyj1-KblJNaFIizj_XLI2UqyHJNeavXZaT2kNvhNqCkqb-nvuwo6okjTqoHjgt9uTDIAdgfacV9T5YBGMkFpn4maty_Ai-VF_Lh8zDxSYSmlSjpm_qk5CtqMrCMvMgXjpnPMUh5HTI-nkrZ91Ep_jd5Uuh1f5pQuo54B1TcIqd3P7kpgem9LkIWLu62FIj1UKvwm-sSKoKgpXwW3MGi-rFUyRoW_GgoeCoig4afrYmpyeKN-caxhfkUAHcQmd9QUm7XNDR3mii_suJ8u3JWaytY8N2OQCbhfD4FQOk93SaIVS5c9rYDY1l-1gkdRaz-KS4_0ciYS88ioF5N84OOHrUnb4axOG6BlcqQy9PRZQSc2u0KKY66qQd_WdnbsOiueW-IDIW5LwapWHOg8i7WI%22%2C%22tag%22%3A%221_S-uslvUX9bXnu3uaWpog%22%7D

the login post response header:

HTTP/1.1 200 OK
Content-Encoding: gzip
Content-Length: 1546
Content-Type: application/json
Date: Mon, 17 Aug 2020 13:02:56 GMT

the login post response body:

{
 "jweToken": "{\"protected\":\"eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0\",\"aad\":\"eyJleHAiOiIyMDIwLTA4LTE3VDEzOjE3OjU2WiIsImlhdCI6IjIwMjAtMDgtMTdUMTM6MDI6NTZaIn0\",\"encrypted_key\":\"kzHEwi7ZlF0nen_7Q9iLaQ7TXe6STw2zn29cuOgnAo3HJmSPpzEi_zLaO2jXnerc4oTzzXw2hKu_5EPJyB-S_3td4Zh7cfnRGBsdDYTJr8pf1Prf4QQDe6tC9vopqdymjrx4K24YMeexzWvW3tpvjejJnDbNcX-l5zB1G9JLMqIYPcemp3tB4gBeToWcWnxj3WHkIFQAsuKdqVxHLFHJ77kPRPKG8_Rb2zqCkB0sZR7OONHxlLGBnuoGAW4I2krtNmTlnHn7Sr_1R7GCghixnN663GT5cAwAeGoB9bENi2qtlV9aCAGI3srWsF0mJuZhy_ZOHNDCK3Sv5E58sXQDeQ\",\"iv\":\"ZnbhZ27MvE1DO4eK\",\"ciphertext\":\"Q1S8fdTYosL71oTBtdxjZy34Kr0FLYoWM0XsAPUQNQGkU6bmAN9kqJwLLm5KvmFIQ9zQj35RrpcAtNs_vPk27xCueXJ2NSVhEo6edy7vXKqTjoLPwGVN8wkxI5lDjFv6DNsWqbok_OAQsxNAeNbk_PDCTbXS1OD24Ht6X0YBM3KZOwwSMujw_IPndNZto4SLd0_BIKSY31u3iU8bd8dVz9YG9ltLtBgYh_sN2pjnjp7gEFGIEFFt5PHSZJLFB3SMbYtFmyR1a9jusJGo0cht2tECRqQeJ3adii6sQXUuE9x1vlfUkLgveAEjIqoK-lvbpIh3TF6eX7pV4kwVdRxyECAxaOceOQ11d-fzJOUZaF4_YBcc3kUCVjk2SPE3H3Y938LrsbPpvzJ2M8cENJTbn0zgaDgEWu10AXc3JbCM2OhP7n3zmC8llQFVTL0-w5EUgtn3LbM-b5jHOa7VOQqLX-uhvxLk_0v_R_JHitw5kzD5RcxNGx2wjr0JK5nPntqI7ovXtr1W8yywiMif_sePCUQCCrvKS13kjjKnogiuxhO33arMWYw9ImhG-Nh8EckuZjwG8PukrVknJ719xFWxKo8d5CGQ0ii_a0dy0Y1VOUM5Tut4hNNZ8ZPoO4V5ARTX0D1SDGiekE8ugt4LdSy4LbSG85A763GYBA_HVVuIH3w3R6yMftQVWg_4oKuyMnz09GBU_ZnHkCp4rSUecsMJnlRjrRmOAzSG9sJv4g8Em7PX4lA8xM1GzDQjJ70E4mKNaQQkebi73mw3iCJW35kq3vH4G3iGOk-BhaR6eE22oG8NU_1ULBgJBS6UtaU8qgTwUVWi-54MVYbHIisT-EC8aZQ_uNBpbajOsFqdt0sovTBV627U757Kei8bnN4ZMCEVFzo8pt9q2xFJqwjGkvgo_MgqXJXvS6WngoH_BgTh3rmfv0GoR_bO_Zcfdx0iLCTu1k4k2V1KI6wh9ioc7rzASYKto3HjQNIe5kpAtSxza6ZBN6HIHrVUHGhAwaI8uDFOuwoaU_U11Z54Vbx7ywNdZgMu3ntJivA5DzrV8IQgxdwfvSL7P2glAk5FZE3c2BgEchSeQwmLkweFpRJuGrdsOcceQQfUyNkQUqd1KCLNuAWn_fMOF24rpH1TeOl3wE0MCvPf9iGDWeCuB7W8qYm7fIRTV5y8IoGZ0IUvjFtcKxGfGJQj2vhxA6lpsfeKX8F55D_FoxUK_R2S1ztmaaAWPowu9XVvlt6deZJ0ZStnVVOAFV2ECNlKAzPhgSBSD51Sgku7ObRaooqSKeTZpE1-L55Rr0g\",\"tag\":\"VtlyKVYDHhLYTdoKji7JLA\"}",
 "errors": []
}
floreks commented 3 years ago

Everything looks good. Did you try a different browser?

Frodez commented 3 years ago

Everything looks good. Did you try a different browser?

No, I haven't tried yet. I see that the config request have a abnormal response, which has shown in the first comment.

the config request header:

GET /api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/api/v1/plugin/config HTTP/1.1
Host: localhost:8001
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:79.0) Gecko/20100101 Firefox/79.0
Accept: application/json, text/plain, */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
jweToken: {"protected":"eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0","aad":"eyJleHAiOiIyMDIwLTA4LTE1VDAwOjQ5OjA1WiIsImlhdCI6IjIwMjAtMDgtMTVUMDA6MzQ6MDVaIn0","encrypted_key":"E9qGn3gsew95-sWBKMUkBbttw7EJOEG0Iujq3S2mzmgUUpqDlSDIoUuVN0gACNYQMWpKnraHAJ06JwCUUIf8_zJc1eOE5-sDk2b4xZQ_2c-m1vBfQOluA0IWt4giFOHzmuFZ7oeIku8AWH81f1IpDFZq7rD9bHFoymfeXfImIHuOZBbACOf3DKrGdJlAj5s9x3hHL4QKozc397uR5_ESDQXAAm2rCrk3_BDRTaHlEeNyX45Hk8FHzaL9GqELbyfL6WEvH-H0kF-hEVkUVEohd9lFPjIcDvYfyHgun7ENQVY6PaPeONKwgDiHLWCrKIvVhXYmYabyyBg4sEfCFvKmqA","iv":"64owtaN__Xvr5cus","ciphertext":"7sYd1TUwg-uBqzocqkb8S96AlXM7zkfVfM6asnMl_kLZSHTKct9j83RlAVcggXp1eep2qJ_hAbecQBZq72e0VAuArDovDoBWa5gFTdU-hGqL7Uy-sL4r24M2Ka3nc-Jt4VYOw2tGdcjn3_C0UFvRWgMgAIFeoFCkV-d62Q6OgXcjSMdSijishyE61TWopvXMAEekW-v8OoOLYSkWN3bYFuOXqH2U5xryLnYrKGkvLfl6pwbfhfFTIHYGrq_BqUeav79OQ_ql0u_WySOTvFI0MltlS4xKu_OU_ECcEdn5d5QkFZxUO6hr52LABN1bDH5by55PvoDj0R6eXstAlBDoEqv3raeNHUPFy2SNXQvl7qdzcB7kaMzKvdTQF_13lwy3thFg1o2X97yStKHQLxcLrgJS4kwFLXA_54I3FVoz7VSJbxpvEZ7DKaVppHLfrKSmzqzXAFaKXdbXFmPPHUBIsByAIC7KYX8WG1RoXSPcc5G8f9uvB0XINu4iVE0ik0giPK3ViWQIcbzLb1HPa0YMkvAB3GwzUulUs5g06IHw-FlOJGVHfdR-oPssQNac37GtfAIXmNwbeKFutnoJESkP0jE4cY3C7YtdAhOCuLe9TJxHb2Xw_ODIq_Pj_n4_78EMVQazdvDf5H6o8aAT-yxFU-4BmrjQhZFNKJP4ViLesYFwr8uUPybK56z568m4WIHBiWwM-pfynXT1_vvOuA-DA2p1hKVQjvKazzAVMsrC2yTID40JGaXbM2NpIFOjlpJsV0OJhHI2JZnr8aDNZj9iUZcj5t-yaM2pwGXRDFK8UX_sNsLEFfpkMzKxD9Bk-6uOkf7FI4akitjLtreiLzbmxEAHnvwIuiGkRLM7eD2Eep3R91hpE38wz7XOKm7QBLuf4FFGX6qUhJ11xc_QIqDYnf9yHtYqAsG8fMspZVCVaf1olWax45DnMANsqQ_88CyWFTMeKnXe-3EJGV2YQhqGv0GfqP9gWUw6ADXuAyrs_X9OH7KKIVkSJQNLFSSXbGm9YnPwagGU3XLEL2AtOF8iEmiLt0DEEv_o-3v-V3shnGfxfd4MP-S7Tp3yj-TwqawqS6Uqh7A9dSnH1P2QIIIbLaRp5VhgsB2MZXIz5rTx1AphpY7zfT_mW-L3bbT_cn2_jyHuP_FgEUchqFOk6TZnQduDQL0GwJZZyla0C95b7MivdSQpmZ89jgx0zfy_dbW3fpDf7WlY7791-YbV3hlP0-kUUsmbxv9tmNADREaFdIziMmXfNmRpEUx5frpEECwanc-yjpDRaqT62d-KeDYbBZdZvN4","tag":"_qnE2TjVjQsVMInvmKvBmw"}
Connection: keep-alive
Referer: http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/
Cookie: authMode=token; jweToken=%7B%22protected%22%3A%22eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0%22%2C%22aad%22%3A%22eyJleHAiOiIyMDIwLTA4LTE1VDAwOjQ5OjA1WiIsImlhdCI6IjIwMjAtMDgtMTVUMDA6MzQ6MDVaIn0%22%2C%22encrypted_key%22%3A%22E9qGn3gsew95-sWBKMUkBbttw7EJOEG0Iujq3S2mzmgUUpqDlSDIoUuVN0gACNYQMWpKnraHAJ06JwCUUIf8_zJc1eOE5-sDk2b4xZQ_2c-m1vBfQOluA0IWt4giFOHzmuFZ7oeIku8AWH81f1IpDFZq7rD9bHFoymfeXfImIHuOZBbACOf3DKrGdJlAj5s9x3hHL4QKozc397uR5_ESDQXAAm2rCrk3_BDRTaHlEeNyX45Hk8FHzaL9GqELbyfL6WEvH-H0kF-hEVkUVEohd9lFPjIcDvYfyHgun7ENQVY6PaPeONKwgDiHLWCrKIvVhXYmYabyyBg4sEfCFvKmqA%22%2C%22iv%22%3A%2264owtaN__Xvr5cus%22%2C%22ciphertext%22%3A%227sYd1TUwg-uBqzocqkb8S96AlXM7zkfVfM6asnMl_kLZSHTKct9j83RlAVcggXp1eep2qJ_hAbecQBZq72e0VAuArDovDoBWa5gFTdU-hGqL7Uy-sL4r24M2Ka3nc-Jt4VYOw2tGdcjn3_C0UFvRWgMgAIFeoFCkV-d62Q6OgXcjSMdSijishyE61TWopvXMAEekW-v8OoOLYSkWN3bYFuOXqH2U5xryLnYrKGkvLfl6pwbfhfFTIHYGrq_BqUeav79OQ_ql0u_WySOTvFI0MltlS4xKu_OU_ECcEdn5d5QkFZxUO6hr52LABN1bDH5by55PvoDj0R6eXstAlBDoEqv3raeNHUPFy2SNXQvl7qdzcB7kaMzKvdTQF_13lwy3thFg1o2X97yStKHQLxcLrgJS4kwFLXA_54I3FVoz7VSJbxpvEZ7DKaVppHLfrKSmzqzXAFaKXdbXFmPPHUBIsByAIC7KYX8WG1RoXSPcc5G8f9uvB0XINu4iVE0ik0giPK3ViWQIcbzLb1HPa0YMkvAB3GwzUulUs5g06IHw-FlOJGVHfdR-oPssQNac37GtfAIXmNwbeKFutnoJESkP0jE4cY3C7YtdAhOCuLe9TJxHb2Xw_ODIq_Pj_n4_78EMVQazdvDf5H6o8aAT-yxFU-4BmrjQhZFNKJP4ViLesYFwr8uUPybK56z568m4WIHBiWwM-pfynXT1_vvOuA-DA2p1hKVQjvKazzAVMsrC2yTID40JGaXbM2NpIFOjlpJsV0OJhHI2JZnr8aDNZj9iUZcj5t-yaM2pwGXRDFK8UX_sNsLEFfpkMzKxD9Bk-6uOkf7FI4akitjLtreiLzbmxEAHnvwIuiGkRLM7eD2Eep3R91hpE38wz7XOKm7QBLuf4FFGX6qUhJ11xc_QIqDYnf9yHtYqAsG8fMspZVCVaf1olWax45DnMANsqQ_88CyWFTMeKnXe-3EJGV2YQhqGv0GfqP9gWUw6ADXuAyrs_X9OH7KKIVkSJQNLFSSXbGm9YnPwagGU3XLEL2AtOF8iEmiLt0DEEv_o-3v-V3shnGfxfd4MP-S7Tp3yj-TwqawqS6Uqh7A9dSnH1P2QIIIbLaRp5VhgsB2MZXIz5rTx1AphpY7zfT_mW-L3bbT_cn2_jyHuP_FgEUchqFOk6TZnQduDQL0GwJZZyla0C95b7MivdSQpmZ89jgx0zfy_dbW3fpDf7WlY7791-YbV3hlP0-kUUsmbxv9tmNADREaFdIziMmXfNmRpEUx5frpEECwanc-yjpDRaqT62d-KeDYbBZdZvN4%22%2C%22tag%22%3A%22_qnE2TjVjQsVMInvmKvBmw%22%7D

the config response body:

{
 "status": 404,
 "plugins": [],
 "errors": [
  {
   "ErrStatus": {
    "metadata": {},
    "status": "Failure",
    "message": "the server could not find the requested resource (get plugins.dashboard.k8s.io)",
    "reason": "NotFound",
    "details": {
     "group": "dashboard.k8s.io",
     "kind": "plugins",
     "causes": [
      {
       "reason": "UnexpectedServerResponse",
       "message": "404 page not found"
      }
     ]
    },
    "code": 404
   }
  }
 ]
}
floreks commented 3 years ago

This is completely unrelated to the login part and does not have any impact on it.

Frodez commented 3 years ago

This is completely unrelated to the login part and does not have any impact on it.

@floreks

Sorrry I misunderstood your view before. Now I get that the abnormal response has no affect on the login part.

And I debug in the Chrome, then I find a strange scene, that when ng steps into the router.navigate('overview'), nothing happens. The response is successful, and the debugger steps into the second breakpoint in the picture, however, the url haven't been changed and the login page stays as before.

I can't understand why this happens.

Sorry for bother you so many times.

login debug