前面章节Kubernetes所有的操作我们都是通过命令行工具kubectl完成的。为了提供更丰富的用户体验,Kubernetes还开发了一个基于Web的仪表板,用户可以用Kubernetes仪表板部署容器化的应用,监控应用的状态,执行故障排查任务以及管理Kubernetes各种资源。
在Kubernetes仪表板中可以查看集群中应用的运行状态,也能够创建和修改各种Kubernetes资源,比如部署工作,DaemonSet等。用户可以向上/向下扩展部署,执行滚动更新,重启某个吊舱或者通过向导部署新的应用.Dashboard能显示集群中各种资源的状态以及日志信息。
可以说,Kubernetes仪表板提供了kubectl的绝大部分功能,大家可以根据情况进行选择。
<编辑>安装编辑>Kubernetes默认没有部署仪表板,可通过如下命令安装:
<代码> kubectl创建- f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml 代码>
仪表板会在kube-system名称空间中创建自己的部署和服务。
<代码> [root@k8s-master ~] # kubectl得到部署。- n kube-system kubernetes-dashboard - o宽 姓名准备最新的可用年龄集装箱图片选择器 kubernetes-dashboard 1/1 1 1 20 m kubernetes-dashboard k8s.gcr.io/kubernetes-dashboard-amd64: v1.10.1 k8s-app=kubernetes-dashboard (root@k8s-master ~) # kubectl得到服务- n kube-system kubernetes-dashboard 名字类型集群ip外部ip端口(年代) kubernetes-dashboard ClusterIP 10.108.187.212 & lt; none>443/TCP 22 m 代码>
因为服务是ClusterIP类型,为了方便使用,我们可通过kubectl——名称空间=kube-system编辑服务kubernetes-dashboard修改成NodePort类型。
<代码>规范: clusterIP: 10.108.187.212 externalTrafficPolicy:集群 港口: - nodePort: 30338 端口:443 TCP协议: 发送:8443 选择器: k8s-app: kubernetes-dashboard sessionAffinity:没有 类型:NodePort 状态: loadbalance:{} 代码>
保存修改,此时已经为服务分配了端口30338。
<代码> [root@k8s-master ~] # kubectl得到服务- n kube-system kubernetes-dashboard 名字类型集群ip外部ip端口(年代) kubernetes-dashboard NodePort 10.108.187.212 & lt; none>443:30338/TCP 28 m 代码>
通过浏览器访问仪表盘https://192.168.31.200:30338,登录界面如下:
配置登录权限
仪表板支持Kubeconfig和令牌两种认证方式,为了简化配置,我们通过配置文件dashboard-admin。yaml为仪表板默认用户赋予管理员权限。
执行kubectl应用使之生效。
现在直接点击登录页面的跳过就可以进入仪表盘了。
<编辑>仪表板的使用编辑>仪表板界面结构
仪表板的界面很简洁,分为三个大的区域。
顶部操作区
美丽之仪表板部署及使用