Kubernetes1.10中部署dashboard以及常见问题解析

使用kubeadm安装Kubernetes v1.10以及常见问题解答上篇文章中介绍了用kubeadm安装Kubernetes1.10,本篇我们来一睹Kubernetes Dashboard风采。

老规矩,先介绍下环境:

Kubernetes1.10,Dashboard1.8.3

在k8s中 dashboard可以有两种访问方式:kubeconfig(HTTPS)和token(http)本篇先来介绍下Token方式的访问。

Token访问是无登录密码的,简单方便

1.下载官方的dashboard YAML文件或者下载我的YAML(无坑版)

1
2
# 官网版
https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
1
2
# 修改版
https://github.com/gh-Devin/kubernetes-dashboard/blob/master/kubernetes-dashboard.yaml
1
2
3
# 你下载完之后开始修改YAML文件,修改内容如下
image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3

修改文件里面的镜像为自己可用的镜像,也就是上篇文章使用kubeadm安装Kubernetes v1.10以及常见问题解答中让你提前下载到本地的K8S相关的镜像,这里也要注意镜像版本要一致,不然也会报错。

提示:下载官网版YAML需要梯子。

为了避免不必要的报错和坑,建议大家采用我的修改版,里面有heapster插件YAML和RBAC YAML。

1
https://github.com/gh-Devin/kubernetes-dashboard

2.创建pod

下载完上面的YAML文件之后,开始创建pod

1
2
3
4
[root@k8smaster devin]# ls
heapster-rbac.yaml  heapster.yaml  kubernetes-dashboard-admin.rbac.yaml  kubernetes-dashboard.yaml
[root@k8smaster devin]# kubectl  -n kube-system create -f .

3.查看pod

1
[root@k8smaster devin]# kubectl get svc,pod --all-namespaces | grep dashboard

注意:前方高能,报错多发区。

如果采用官方YAML,就会出现以下报错

K8S.jpg

这是因为K8S在1.6版本以后启用了RBAC访问控制策略,可以使用kubectl或Kubernetes API进行配置。使用RBAC可以直接授权给用户,让用户拥有授权管理的权限,这样就不再需要直接触碰Master Node。

下面教你如何解决以上报错问题,如果你下载的是官方版本,修改kubernetes-dashboard.yaml文件中的ServiceAccount名称

1
2
3
4
5
[root@k8smaster devin]# vi kubernetes-dashboard.yaml
146 serviceAccountName: kubernetes-dashboard-admin
[root@k8smaster devin]# kubectl apply -f kubernetes-dashboard.yaml -f kubernetes-dashboard-admin.rbac.yaml

至此Dashboard就可以采用token方式来访问,如果没有修改dashboard YAML文件里面的ip和端口的话可以直接访问K8S Master IP地址+30090即可。

K8S中文社区微信公众号

评论 8

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #6

    部署后进入dashboard点及setting显示Forbidden 403 You do not have required permissions to access this page.怎么破

    魔鬼筋肉人8个月前 (04-20)回复
  2. #5

    你这直接绑的cluster-admin role,一把梭了,生产环境使用需要注意风险

    大容量人形自走式装饭机8个月前 (04-24)回复
  3. #4

    请问:中文界面是怎么出来的?我装好的全都是英文界面,想换成中文界面,该怎么办?

    肥水养花7个月前 (05-16)回复
  4. #3

    你仓库的kubernetes-dashboard.yaml里也是serviceAccountName: kubernetes-dashboard,需要自己加上 -admin

    只想忘掉一切6个月前 (06-12)回复
    • 改了那个可以吗?数据可以出来吗?节点状态啥的?

      粉末6个月前 (06-29)回复
  5. #2

    这个不成功呀

    粉末6个月前 (06-29)回复
  6. #1

    还是那个界面

    粉末6个月前 (06-29)回复
    • 下载他的文件后,也要修改kubernetes-dashboard.yaml为serviceAccountName: kubernetes-dashboard-admin,问题解决

      小三月4个月前 (07-31)回复