Kubernetes(k8s)-仪表板(Dashboard)部署和访问

94 阅读3分钟

作者介绍:简历上没有一个精通的运维工程师。请点击上方的蓝色《运维小路》关注我,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们上一章介绍了Docker基本情况,目前在规模较大的容器集群基本都是Kubernetes,但是Kubernetes涉及的东西和概念确实是太多了,而且随着版本迭代功能在还增加,笔者有些功能也确实没用过,所以只能按照我自己的理解来讲解。

到目前为止,我们所有的操作都是通过kubectl命令来操作我们的集群,我们是否可以通过网页来操作集群,这就是我们今天要讲解的Dashboard。

Dashboard 是基于网页的 Kubernetes 用户界面。 你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中,也可以对容器应用排错,还能管理集群资源。 你可以使用 Dashboard 获取运行在集群中的应用的概览信息,也可以创建或者修改 Kubernetes 资源 (如 Deployment、Job、DaemonSet 等等)。 例如,你可以对 Deployment 实现弹性伸缩、发起滚动升级、重启 Pod 或者使用向导创建新的应用。

Dashboard 同时展示了 Kubernetes 集群中的资源状态信息和所有报错信息。

部署 Dashboard UI

#添加 kubernetes-dashboard 仓库
helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/

#使用 kubernetes-dashboard Chart 部署名为 `kubernetes-dashboard` 的 Helm Release
helm upgrade \
   --install \
   kubernetes-dashboard \
   kubernetes-dashboard/kubernetes-dashboard \
   --create-namespace \
   --namespace kubernetes-dashboard

从这里看,我们并不能直接访问,因为暴露的方式都是ClusterIP,只能在集群内部访问,所以我们需要添加额外的手段来访问。我这里以演示为目的,未考虑太多安全方面的问题。

#这样我们就可用通过访问当前节点的8443端口访问  
kubectl -n kubernetes-dashboard \
port-forward \
--address 0.0.0.0 \
svc/kubernetes-dashboard-kong-proxy 8443:443

访问Dashboard UI

#以我们的集群为范例
 https://192.168.31.100:8443/

由于是这个并没有配置RBAC,所以我们还需要给他配置RBAC。

#创建sa
kubectl create serviceaccount admin-user -n kubernetes-dashboard

#创建局部权限
kubectl create rolebinding admin-user-binding --clusterrole=admin --serviceaccount=kubernetes-dashboard:admin-user -n kubernetes-dashboard

#创建全局权限
kubectl create clusterrolebinding admin-user-binding --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:admin-user

#创建token
kubectl -n kubernetes-dashboard create token admin-user

获取token以后就可以登陆Dashboard,就可用看到下面的界面(本地演示使用的最高权限)。

左边的导航就是我们前面讲解的各种资源:

工作负载:Pod,5种控制器,2种Job。

服务:Services,Ingress,还有涉及比较少的Ingress类。

配置和存储:Secret,Configmap,PVC。

集群:RBRC相关资源,NS,PV,这里的事件和网络策略我们未单独讲。

右边的就是各种资源的更详细的信息,我们还可用进行对各种资源进行操作:包括扩容,编辑,删除,进入容器等。

纯开源的基本上就是我们看到的这些功能,如果你购买的是云厂商(阿里,腾讯等)的Kubernetes产品,他们都会默认带有这样一个控制面板,当然他的功能比开源产品会更丰富。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。