रिलीज़ के अनुसार 1.7 डैशबोर्ड निम्न के आधार पर उपयोगकर्ता प्रमाणीकरण का समर्थन करता है:
- जीथब पर डैशबोर्ड
टोकन
यहाँ , कुबेरनेट्स प्रमाणीकरण से Token
हो सकता है Static Token
, लेकिन कुबेदम से नहीं ।Service Account Token
OpenID Connect Token
Bootstrap Token
Kubectl के साथ, हम डिफ़ॉल्ट रूप से kubernetes में बनाया गया एक सेवा खाता (जैसे। परिनियोजन नियंत्रक) प्राप्त कर सकते हैं।
$ kubectl -n kube-system get secret
# All secrets with type 'kubernetes.io/service-account-token' will allow to log in.
# Note that they have different privileges.
NAME TYPE DATA AGE
deployment-controller-token-frsqj kubernetes.io/service-account-token 3 22h
$ kubectl -n kube-system describe secret deployment-controller-token-frsqj
Name: deployment-controller-token-frsqj
Namespace: kube-system
Labels: <none>
Annotations: kubernetes.io/service-account.name=deployment-controller
kubernetes.io/service-account.uid=64735958-ae9f-11e7-90d5-02420ac00002
Type: kubernetes.io/service-account-token
Data
====
ca.crt: 1025 bytes
namespace: 11 bytes
token: eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkZXBsb3ltZW50LWNvbnRyb2xsZXItdG9rZW4tZnJzcWoiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC5uYW1lIjoiZGVwbG95bWVudC1jb250cm9sbGVyIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiNjQ3MzU5NTgtYWU5Zi0xMWU3LTkwZDUtMDI0MjBhYzAwMDAyIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRlcGxveW1lbnQtY29udHJvbGxlciJ9.OqFc4CE1Kh6T3BTCR4XxDZR8gaF1MvH4M3ZHZeCGfO-sw-D0gp826vGPHr_0M66SkGaOmlsVHmP7zmTi-SJ3NCdVO5viHaVUwPJ62hx88_JPmSfD0KJJh6G5QokKfiO0WlGN7L1GgiZj18zgXVYaJShlBSz5qGRuGf0s1jy9KOBt9slAN5xQ9_b88amym2GIXoFyBsqymt5H-iMQaGP35tbRpewKKtly9LzIdrO23bDiZ1voc5QZeAZIWrizzjPY5HPM1qOqacaY9DcGc7akh98eBJG_4vZqH2gKy76fMf0yInFTeNKr45_6fWt8gRM77DQmPwb3hbrjWXe1VvXX_g
Kubeconfig
डैशबोर्ड के लिए या तो kubeconfig फ़ाइल में उपयोगकर्ता की जरूरत है username & password
या token
है, लेकिन admin.conf
केवल client-certificate
। आप उस टोकन को जोड़ने के लिए कॉन्फ़िगर फ़ाइल को संपादित कर सकते हैं जो ऊपर दी गई विधि का उपयोग करके निकाला गया था।
$ kubectl config सेट-साख क्लस्टर-व्यवस्थापक --token = bearer_token
वैकल्पिक (उत्पादन के लिए अनुशंसित नहीं)
यहां प्रमाणीकरण को बायपास करने के दो तरीके हैं, लेकिन सावधानी के लिए उपयोग करें।
HTTP के साथ डैशबोर्ड तैनात करें
$ kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/alternative/kubernetes-dashboard.yaml
डैशबोर्ड को http: // localhost: 8001 / ui के साथ लोड किया जा सकता है kubectl proxy
।
डैशबोर्ड के सेवा खाते में व्यवस्थापक विशेषाधिकार प्रदान करना
$ cat <<EOF | kubectl create -f -
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: kubernetes-dashboard
labels:
k8s-app: kubernetes-dashboard
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: kubernetes-dashboard
namespace: kube-system
EOF
बाद में आप Skipडैशबोर्ड तक पहुंचने के लिए लॉगिन पेज पर विकल्प का उपयोग कर सकते हैं ।
यदि आप डैशबोर्ड संस्करण v1.10.1 या उसके बाद का उपयोग कर रहे हैं, तो आपको --enable-skip-login
परिनियोजन के कमांड लाइन तर्कों को भी जोड़ना होगा । आप में जोड़कर ऐसा कर सकते हैं args
में kubectl edit deployment/kubernetes-dashboard --namespace=kube-system
।
उदाहरण:
containers:
- args:
- --auto-generate-certificates
- --enable-skip-login # <-- add this line
image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1