问题描述
参考问题:https://github.com/kubernetes/dashboard/issues/5438
我正在尝试编译并构建kubernetes仪表板,然后构建kubernetes-dashboard的docker映像并成功应用(通过将imagePullPolicy从Always更改为Never)。
但是,当我使用https://github.com/kubernetes/dashboard/blob/master/docs/user/access-control/creating-sample-user.md生成的令牌登录仪表板时,登录页面没有响应。我尝试在Chrome中进行调试,但发现登录请求没有问题,Angular执行了router.navigate('overview')。我现在很困惑。
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",BuildDate:"2020-04-16T11:35:47Z",Platform:"linux/amd64"}
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
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
豆荚的状态:
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
我的apply.yaml:
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: {}
我的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
图像:
[登录视图] https://user-images.githubusercontent.com/25218860/90399950-53152180-e0ce-11ea-909c-e23e3439deb2.png
[登录获取回复] https://user-images.githubusercontent.com/25218860/90400045-7213b380-e0ce-11ea-9188-ef6ad05aea18.png
[登录获取回复_2] https://user-images.githubusercontent.com/25218860/90400062-793ac180-e0ce-11ea-8737-3cce43832624.png
[登录后回复] https://user-images.githubusercontent.com/25218860/90400086-8061cf80-e0ce-11ea-88d2-50b19aedeac9.png
[登录后回复_2] https://user-images.githubusercontent.com/25218860/90400098-86f04700-e0ce-11ea-8893-5aa77802e0e0.png
[登录调试] https://user-images.githubusercontent.com/25218860/90576134-dbd7ae80-e1ef-11ea-87e8-b355b2c5f829.png
登录获取请求:
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
登录获取响应标头:
HTTP/1.1 200 OK
Content-Encoding: gzip
Content-Length: 85
Content-Type: application/json
Date: Mon,17 Aug 2020 13:02:56 GMT
登录获取响应正文:
{
"token": "ccmfmF6407IQgOfbi01wv2bH1Ck:1597669376417"
}
登录请求:
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,deflate
X-CSRF-TOKEN: ccmfmF6407IQgOfbi01wv2bH1Ck:1597669376417
jweToken: {"protected":"eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMjU2R0NNIn0","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
登录帖子响应标题:
HTTP/1.1 200 OK
Content-Encoding: gzip
Content-Length: 1546
Content-Type: application/json
Date: Mon,17 Aug 2020 13:02:56 GMT
登录后回复正文:
{
"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": []
}
配置请求:
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,"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
配置响应:
{
"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
}
}
]
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)