一,修改配置文件
kubernetes-server-linux-amd64.tar.gz 解压后,其中会有kubernetes-src.tar.gz 文件
dashboard的目录:cluster/addons/dashboard
#进入dashboard目录
cd /opt/kubernetes/package/kubernetes/kubernetes-src/cluster/addons/dashboard/
#更换拉取的镜像地址
sed -i 's#k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1#lanvv/kubernetes-dashboard-amd64:v1.10.1#' dashboard-controller.yaml
#增加使用basic文件访问dashboard
sed -i '47a \ - --authentication-mode=basic' dashboard-controller.yaml
#增加NodePort
sed -i '10a \ type: NodePort' dashboard-service.yaml
#进入dashboard目录
cd /opt/kubernetes/package/kubernetes/kubernetes-src/cluster/addons/dashboard/
#创建dashboard服务
kubectl apply -f .
二,验证分配的 NodePort
kubectl get deployment kubernetes-dashboard -n kube-system
#输出:
NAME READY UP-TO-DATE AVAILABLE AGE
kubernetes-dashboard 1/1 1 1 2m30s
kubectl --namespace kube-system get pods -o wide
#输出:
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
coredns-5bcf987f9d-rg946 1/1 Running 0 37m 10.2.59.3 172.27.128.12 <none> <none>
kubernetes-dashboard-bf884cc76-rv5tv 1/1 Running 0 90s 10.2.8.4 172.27.128.11 <none> <none>
kubectl get services kubernetes-dashboard -n kube-system
#输出:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes-dashboard NodePort 10.1.162.3 <none> 443:37818/TCP 3m48s
NodePort 37818 映射到 dashboard pod 443 端口
三,登陆dashboard
#登陆账号密码是/opt/kubernetes/ssl/basic-auth.csv里
#显示没有权限
四,创建权限
kubectl create clusterrolebinding \
login-on-dashboard-with-cluster-admin \
--clusterrole=cluster-admin --user=admin