首页 > Web开发 > 详细

k8s搭建WebUI--Dashborad管理界面

时间:2019-05-24 13:30:30      阅读:1800      评论:0      收藏:0      [点我收藏+]

k8s的webUI管理界面可以更好更直观更便捷的让我们去管理我们的k8s集群。

我们知道,由于某些原因我们无法直接拉取dashboard的镜像,但是国内有些人已经将镜像下载到dockerhub中可以给我们使用

1 wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml
  • 使用docker获取dashboard的镜像仓库:

技术分享图片

 

  • 修改dashboard的资源清单的镜像仓库路径:
1 vim kubernetes-dashboard.yaml

技术分享图片

  • 应用此资源清单:
1 kubectl apply -f kubernetes-dashboard.yaml

   此时会创建很多资源,其中service是访问时的代理,访问service就可以访问到dashboard的webUI,但是默认生成的service访问类型是ClusterIP,所以集群外部不能访问到。

        根据官方文档,目前访问Dashboard有四种方式:NodePort、API Server、kubectl proxy、Ingress

  为了方便,我们使用NodePort

  • 修改service的访问方式为NodePort:
1 kubectl edit svc kubernetes-dashboard -n kube-system

技术分享图片

  • 访问

  此时就可以用浏览器访问集群中任意一节点的30443端口,注意使用https://方式访问。但是会有警告,点击高级接受风险继续

技术分享图片

技术分享图片

可以看到有两种登录方式:kubeconfig文件、token令牌。

要想登录,得先有账号

k8s集群中,账号分为两种:UserAccount(现实中的人)、ServiceAccount(集群内的客户端)

由于dashboard在集群中是以Pod方式运行提供的服务,所以要使用ServiceAccount访问,简称sa

然而并不是随随便便找个账号就能登录,我们对账号还要设置访问控制,哪些资源允许什么样的操作。

这就用到我前面写的RBAC(基于角色的访问控制)这里就不再细讲,想要了解点击这里。

  • 使用Token登录(相对于以kubeconfig文件登录要简单)
    • 首先创建一个sa
1 kubectl create serviceaccount mysa(SA_NAME) -n default(NAMESPACE_NAME) 
    • 创建rolebinding\clusterrolebinding,然后将此sa绑定至集群中存在的或自定义的role或clusterrole,绑定哪个role\clusterrole,sa就会具有此role\clusterrole对应的权限
1 kubectl create clusterrolebinding dashboard-admin(NAME) --clusterrole=admin(CLUSTERROLE_NAME) --serviceaccount=default:mysa(NAMESPACE_NAME:SA_NAME)
    • 查看sa的secret,里面就有token

技术分享图片

    • 复制token,登录dashboard

  技术分享图片

技术分享图片

 

k8s搭建WebUI--Dashborad管理界面

原文:https://www.cnblogs.com/Smbands/p/10917525.html

(1)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!