1、下载部署文件
wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.0/src/deploy/recommended/kubernetes-dashboard.yaml
2、修改ubernetes-dashboard.yaml文件
(1)将镜像更换为国内镜像地址
registry.cn-hangzhou.aliyuncs.com/wzz/kubernetes-dashboard-amd64:v1.10.0
(2)在service资源添加NodePort
kind: Service
apiVersion: v1
metadata:
labels:
k8s-app: kubernetes-dashboard
name: kubernetes-dashboard
namespace: kube-system
spec:
type: NodePort
ports:
- port: 443
targetPort: 8443
selector:
k8s-app: kubernetes-dashboard
3、创建dashboard服务
kubectl create -f kubernetes-dashboard.yaml --record --save-config
4、检查pod及svc是否正常
[root@k8s_master ~]# kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
kubernetes-dashboard-574d4555f6-vfwxq 1/1 Running 0 45m
[root@k8s_master ~]# kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes-dashboard NodePort 10.254.56.244 <none> 443:37897/TCP 46m
5、配置使用token登录dashboard
[root@k8s_master ~]# kubectl create sa dashboard-admin -n kube-system
[root@k8s_master ~]# kubectl create clusterrolebinding dashboard-admin --clusterrole=cluster-admin --serviceaccount=kube-system:dashboard-admin
[root@k8s_master ~]# ADMIN_SECRET=$(kubectl get secrets -n kube-system|grep dashboard-admin|awk '{print $1}')
[root@k8s_master ~]# DASHBOARD_LOGIN_TOKEN=$(kubectl describe secret -n kube-system ${ADMIN_SECRET} |grep -E '^token'|awk '{print $2}')
[root@k8s_master ~]# echo $DASHBOARD_LOGIN_TOKEN #验证是否生成token
6、配置使用文件登录dashboard
KUBE_APISERVER=https://192.168.1.203:6443
kubectl config set-cluster kubernetes \
--certificate-authority=/etc/kubernetes/ssl/ca.pem \
--embed-certs=true \
--server=${KUBE_APISERVER} \
--kubeconfig=dashboard.kubeconfig
#设置客户端认证参数,使用上面创建的token
kubectl config set-credentials dashboard_user \
--token=${DASHBOARD_LOGIN_TOKEN} \
--kubeconfig=dashboard.kubeconfig
#设置上下问参数
kubectl config set-context default \
--cluster=kubernetes \
--user=dashboard_user \
--kubeconfig=dashboard.kubeconfig
#设置默认上下文
kubectl config use-context default --kubeconfig=dashboard.kubeconfig
#查看生成的文件
[root@k8s_master ~]# ll dashboard.kubeconfig
-rw------- 1 root root 3013 12月 31 00:50 dashboard.kubeconfig
说明:将此文件拷贝到本地,打开浏览器选择此文件即可登录
7、dashboard登录界面
7.1、浏览器(使用火狐浏览器登录)输入NodePort:Port 例如:https://192.168.1.204:37897
7.1.1、使用文件登录图示
7.1.2、使用token登录
7.2、登录成功后的界面图示