Github 地址
https://github.com/kubernetes/dashboard
wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.4/aio/deploy/recommended.yamlkubectl apply ‐f recommended.yaml
部署完成后,查看:
[root@los‐node‐1 k8s]# kubectl get pods ‐A ‐‐all‐namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
default nginx‐6799fc88d8‐zlxdz 1/1 Running 0 5d18h
default xxl‐job‐admin‐6c4974c559‐vxzkx 1/1 Running 0 3d20h
kube‐system coredns‐6d56c8448f‐4f22r 1/1 Running 0 6d21h
kube‐system coredns‐6d56c8448f‐clsnq 1/1 Running 0 6d21h
kube‐system etcd‐los‐node‐1 1/1 Running 0 6d21h
kube‐system kube‐apiserver‐los‐node‐1 1/1 Running 0 6d21h
kube‐system kube‐controller‐manager‐los‐node‐1 1/1 Running 0 6d21h
kube‐system kube‐flannel‐ds‐hwj2b 1/1 Running 0 6d19h
kube‐system kube‐flannel‐ds‐lpzj6 1/1 Running 0 6d19h
kube‐system kube‐proxy‐f7vpj 1/1 Running 0 6d19h
kube‐system kube‐proxy‐x2wtc 1/1 Running 0 6d21h
kube‐system kube‐scheduler‐los‐node‐1 1/1 Running 0 6d21h
kubernetes‐dashboard dashboard‐metrics‐scraper‐7b59f7d4df‐4zhxn 1/1 Running 0 13m
kubernetes‐dashboard kubernetes‐dashboard‐665f4c5ff‐8jj5w 1/1 Running 0 13m
此时服务还未对外暴漏,修改 recommended.yaml 文件,重新部署
查看service:
[root@los‐node‐1 k8s]# kubectl get svc ‐A ‐‐all‐namespaces
NAMESPACE NAME TYPE CLUSTER‐IP EXTERNAL‐IP PORT(S) AGE
default kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 6d21h
default nginx NodePort 10.106.156.193 <none> 80:32051/TCP 4d3h
default xxl‐job‐admin NodePort 10.106.141.107 <none> 20000:31682/TCP 3d21h 6
kube‐system kube‐dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 6d21h
kubernetes‐dashboard dashboard‐metrics‐scraper ClusterIP 10.104.68.255 <none> 8000/TCP 20m
kubernetes‐dashboard kubernetes‐dashboard NodePort 10.96.36.204 <none> 443:30001/TCP 20m
此时访问: https://192.168.77.13:30001/

需要使用token进行登录,创建账号,赋予权限,获取token:
#创建账号
kubectl create serviceaccount dashboard-admin -n kube-system
#赋予权限
kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
#打印token
kubectl describe secrets -n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
具体信息如下:
[root@los‐node‐1 k8s]# kubectl create serviceaccount dashboard‐admin ‐n kube‐system serviceaccount/dashboard‐admin created
root@los‐node‐1 k8s]# kubectl create clusterrolebinding dashboard‐admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin clusterrolebinding.rbac.authorization.k8s.io/dashboard-admin created
5 [root@los‐node‐1 k8s]# kubectl describe secrets ‐n kube-system $(kubectl -n kube-system get secret | awk '/dashboard-admin/{print $1}')
Name: dashboard‐admin‐token‐2mcwv
Namespace: kube‐system
Labels: <none>
Annotations: kubernetes.io/service‐account.name: dashboard‐admin
kubernetes.io/service‐account.uid: 75f06737‐3bd8‐41d1‐b770‐b9f1f2aaf4d7
Type: kubernetes.io/service‐account‐token
Data
====
ca.crt: 1066 bytes
namespace: 11 bytes
token: eyJhbGciOiJSUzI1NiIsImtpZCI6IjNybmUzZUxQek1QdmQ1eFFzcTNGSlI5MFg0V
nQ2YUhjaUhUcEFJa2N3RVUifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia
3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJrdWJlLXN5c3RlbSIsImt1
YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VjcmV0Lm5hbWUiOiJkYXNoYm9hcmQtYWRtaW4
tdG9rZW4tMm1jd3YiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3
VudC5uYW1lIjoiZGFzaGJvYXJkLWFkbWluIiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3Vud
C9zZXJ2aWNlLWFjY291bnQudWlkIjoiNzVmMDY3MzctM2JkOC00MWQxLWI3NzAtYjlmMWYyYWFm
NGQ3Iiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50Omt1YmUtc3lzdGVtOmRhc2hib2FyZC1
hZG1pbiJ9.IdYWuCI5VbEcGZ8OoAc2UhhDxdvKLPiMDtXkAx6PuSVqiJ‐8cvCaMrBGtJvwMPKP0
bqsg9b71FTdGrkTaRqixTyd0ARpIlEcCembQ9przE‐Tr81SuGRoKqaRgKdLlfCmC1GK6kNzOzFm
aZKgwTg6DGkJecXUVC3pW7Dmo2oEiBn6mCLA4UhX2GqxVwf‐CF51sOHaUZUM31SuB9B‐gab‐Nk2
C8sEMJ_Jg2CdQrd66hAPsc_QJmZXsAEGVK4LjzWPv6Al16aswAoQP1yqX_MGNXUdrt2JaBR01lw
CBfaX_M3zkhJ8XihXr5b8lU9xoacg0o19cwTpexFQPoyjOo_LhVw
使用token进行登录: 


