老规矩,先介绍下环境:
Kubernetes1.10,Dashboard1.8.3
在k8s中 dashboard可以有两种访问方式:kubeconfig(HTTPS)和token(http)本篇先来介绍下Token方式的访问。
Token访问是无登录密码的,简单方便
1.下载官方的dashboard YAML文件或者下载我的YAML(无坑版)
# 官网版 https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
# 修改版 https://github.com/gh-Devin/kubernetes-dashboard/blob/master/kubernetes-dashboard.yaml
image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3
提示:需要梯子,同时修改文件里面的镜像为自己可用的镜像,也就是上篇文章中让你提前下载到本地的K8S相关的镜像,这里也要注意版本一定要一致,不然也会报错。
避免不必要的报错和坑,建议大家采用我的修改版,里面有heapster插件YAML和RBAC YAML
https://github.com/gh-Devin/kubernetes-dashboard
2.创建pod
kubectl -n kube-system create -f .
3.查看pod
kubectl get svc,pod --all-namespaces | grep dashboard
注意:前方高能,报错多发区。
如果采用官方YAML,就会出现以下报错
这是因为K8S在1.6版本以后启用了RBAC访问控制策略,可以使用kubectl或Kubernetes API进行配置。使用RBAC可以直接授权给用户,让用户拥有授权管理的权限,这样就不再需要直接触碰Master Node。
下面教你如何解决以上报错问题,如果你下载的是官方版本,修改kubernetes-dashboard.yaml文件中的ServiceAccount名称
146 serviceAccountName: kubernetes-dashboard-admin kubectl apply -f kubernetes-dashboard.yaml -f kubernetes-dashboard-admin.rbac.yaml
至此Dashboard就可以采用token方式来访问,如果没有修改dashboard YAML文件里面的ip和端口的话可以直接访问K8S Master IP地址+30090即可。
Kubernetes1.10中部署dashboard以及常见问题解析
原文地址:http://blog.51cto.com/devingeng/2096639