k8s之web界面(Dashboard)从安装到应用

web界面(Dashboard)

之前在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界面(Dashboard)。用户可以使用Dashboard部署容器化的应用,还可以监控应用的状态,执行故障排查以及管理kubernetes中各种资源。

在kubernetes Dashboard中可以查看集群中应用的运行状态,也能够创建和修改各种kubernetes资源(比如Deployment,Job,Daemonset等等),用户可以对Deployment实现弹性伸缩,执行滚动升级,重启pod或者使用向导创建新的应用。
可以说,kubernetes Dashboard提供了kubectl的绝大部分功能。

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

官方参考文档:https://kubernetes.io/zh/docs/tasks/access-application-cluster/web-ui-dashboard/
GitHub项目下载地址:https://github.com/kubernetes/dashboard

一,部署Dashboard UI

kubernetes 默认没有部署Dashboard,可通过以下命令下载:

#将yaml文件下载到本地:
[[email protected] dashboard]#  wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.0/src/deploy/recommended/kubernetes-dashboard.yaml

#修改yaml文件:

由于yaml文件中默认指定下载地址是国外的镜像,由于国内网络环境限制,我们通过阿里云镜像站进行下载。


因为service是ClusterIP类型,为了使外部应用能够方便使用,修改成NodePort类型。

##保存退出后,执行kubectl apply -f 创建dashboard:

##查看pod和service的状态(dashboard会在kube-system 命令空间中创建自己的pod和service):
[[email protected] dashboard]# kubectl get pod -n kube-system | grep dashboard
kubernetes-dashboard-6cfb7d8f54-rp9nd   1/1     Running   0          2m23s
[[email protected] dashboard]# kubectl get svc -n kube-system
NAME                   TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                  AGE
kube-dns               ClusterIP   10.96.0.10      <none>        53/UDP,53/TCP,9153/TCP   94d
kubernetes-dashboard   NodePort    10.108.35.182   <none>        443:32134/TCP            3m8s
#此时已经为service分配了32134端口,注意是443端口(https)

二,访问Dashboard UI

通过火狐浏览器访问网址:https://172.16.1.30:32134/ 进入后界面如下:

可以看到Dashboard支持kubeconfig和Token两种认证方式,本文选用Token的方式登录,kubeconfig登陆方式可以参考文档:http://note.youdao.com/noteshare?id=b0523244024d563cdc1bf7c8f7d6083c&sub=A8921821A7BE4CE4BC36B1DC86966460

通过Token的方式登录:

1)创建一个dashboard管理用户:
[[email protected] dashboard]# kubectl create serviceaccount  dashboard-admin -n kube-system
serviceaccount/dashboard-admin created
2)绑定用户为集群管理用户:
[[email protected] dashboard]# kubectl create clusterrolebinding dashboard-cluster-admin --clusterrole=cluster-admin  --serviceaccount=kube-system:dashboard-admin
clusterrolebinding.rbac.authorization.k8s.io/dashboard-cluster-admin created
3)获取用户的Token:
[[email protected] dashboard]# kubectl get secrets -n kube-system  | grep dashboard-admin
dashboard-admin-token-4gdsc                kubernetes.io/service-account-token   3      4m17s
4)查看该token的详细信息:
[[email protected] dashboard]# kubectl describe secrets -n kube-system dashboard-admin-token-4gdsc

##把获取到的Token复制到登录界面的Token输入框中:

##登陆成功后的web界面如下所示:

三, 使用Dashboard

1,Dashboard界面结构
Dashboard的界面很简洁,分为三个大的区域:
1)顶部操作区:在这里用户可以搜索集群中的资源,创建资源或退出。

2)左边导航菜单: 通过导航菜单可以查看和管理集群中的各种资源,菜单项按照资源的层级分为两类:
Cluster 级别的资源:

NameSpace 级别的资源:


默认显示的是default 的NameSpace,大家可以根据对应的Namespace进行切换。

3)中间主体区: 在导航菜单中点击了某类资源,中间主体区就会显示该资源的所有实例,比如点击service资源

2,典型使用场景
接下来实践几个Dashboard的典型使用场景:
1,部署Deployment:
1)点击顶部操作区的 + CREATE按钮:


用户可以直接输入要部署应用的名字,镜像,副本数等信息;用户也可以YAML配置文件,如果是上传YAML文件,则可以创建任意类型的资源,不仅仅是Deployment。

2,在线对资源进行操作:
对于每种资源,用户都可以点击右边的下拉菜单执行各种操作(删除,查看,编辑等)

##比如点击View/edit YAML 可直接修改资源的配置,保存后立即生效,其效果与kubectl edit一样。

3,查看资源的详细信息
点击某个资源实例的名字,可以查看到详细信息,其效果与kubectl describe一样。



4,查看Pod日志
在Pod或者父资源(DaemonSet,ReplicaSet等)页面中点击上方的“LOGS”按钮,可以查看Pod的日志(查看器可以查看同一个pod的不同容器的日志),其效果与在命令行执行kubectl logs一样。

小结:
以上就是kubernetes Dashboard的安装和使用方法。Dashboard能完成日常管理的大部分工作,可以作为命令行工具kubectl的补充。

原文地址:https://blog.51cto.com/13972012/2469675

时间: 2024-11-01 19:32:14

k8s之web界面(Dashboard)从安装到应用的相关文章

R7000无web界面openwrt版安装GUI

Cobbler 全自动化安装、简介、Web界面管理【附送源码包】

Cobbler简介 Cobbler这个英文翻译过来的意思是补鞋匠,为什么会是补鞋匠的意思,很简单,因为它简单得连补鞋匠都能学会安装系统. Cobbler通过将部署系统所涉及的所有服务集中在一起,来提供一个全自动批量快速建立Linux系统的网络安装环境. 在学习Cobbler之前可以看看PXE无人值守安装系统. Cobbler特点: ·Cobbler支持多种Linux操作系统得快速部署,对PXE.DHCP.HTTP.TFTP.Kiskstart.YUM仓库.电源等进行统一管理 ·Cobbler提供

[k8s]kubernetes dashboard的安装

之前一直使用的是命令行,但是又觉得如果连控制台都还没有动手实践过会不会有点low 1.安装dashboard 参阅官网的安装方法,https://github.com/kubernetes/dashboard,安装很简单,如果慢可以使用其它的镜像网站,我这里使用的是mirrorgooglecontainers/kubernetes-dashboard-amd64,然后重新打了k8s.gcr.io/kubernetes-dashboard-amd64的tag 2.暴露服务 [email prote

Oozie的web界面安装和配置

1 问题描述和原因分析 从cloudera manager界面进入Oozie的web界面的时候出现下面的错误 原因是oozie的/var/lib/oozie目录里缺少EXT的包 官网给出解决方案链接 http://cdh1.hadoop.com:11000/oozie/docs/DG_QuickStart.html 其中特别需要注意的一点是Ext包必须是2.2版本的,高了或低了都不行 因为tomcat服务器目录下的软链接ext-2.2是指向/var/lib/oozie/ext-2.2的所以版本一

安装zabbix的web界面最后一步提示无法创建配置文件

web界面配置zabbix最后一步提示不能创建zabbix.conf.php文件,那么可以给予zabbix目录下的conf目录写权限,并且,zabbix这个目录的属组也要是web运行的用户和组.在里面修改zabbix.conf.php.example这个文件.改成符合自己的配置条件即可,如下所示 <?php // Zabbix GUI configuration file global $DB; $DB["TYPE"] = 'MYSQL';     //数据库的类型 $DB[&q

Kubernetes Dashboard的安装与配置

Kubernetes Dashboard的安装与配置 一 背景 通过kubeadm快速完成了kubernetes的安装,即可迅速地体验到kubernetes的强大功能.美中不足的是,只能通过命令来查看或操作,没有一个直观且简洁的Web UI来感受一下这种成功的喜悦.此外,国内的网络环境,也在某种程度上增加了一些门槛.面对如此种种,依然有办法体验kunernetes dashboard. 二 操作步骤 因为不清楚Pod会被调度到哪一个Node上,所以在每一个节点上执行以下脚本: #!/bin/ba

ubuntu编译openwrt前端web界面

openwrt是由Cisco放出源代码的开放无线路由平台.由于是基于linux内核,所以可以将很多linux平台下的软件移植到此平台下,然后让无线路由拥有很多意想不到的功能,例如拿来做BT下载器,音乐播放器,小型数据库处理等等. 环境: Ubuntu 10.04,subversion,VMware workstation 7.1.3 首先是得到openwrt的源代码. 在Ubuntu下,首先安装上svn工具: sudo apt-get install subversion 然后装上各种依赖关系包

日志系统rsyslog及其Web界面

在系统运维工作中,记录日志是重中之重,它可以帮助我们快速定位问题所在,监控服务器的运行状态等等,而且一般日志都是实时记录的,所以如果有黑客入侵,我们可以迅速中断网络或者电源来查看日志分析黑客的信息. 如果是一个在线的非常繁忙的服务器,那么它的日志记录量是非常大的,所以我们就需要建立专门的日志记录系统,在CentOS6和7上使用的就是rsyslog.其实我们的每个应用程序和内核都可以各自记录日志,而且它们记录日志的格式等各不相同,所以rsyslog可以将这些程序和内核的日志记录功能包揽过来,进行统

使用Web界面登陆vSphere

在没有vSphere Client的情况下如何管理虚拟化平台?不在Windows的操作系统上,又该如何管理?这都不需要担心,在vSphere中,VMware提供了基于浏览器对虚拟化基础设施进行管理的vSphere Web Client,使得管理员可以通过Web方式来管理虚拟化的平台. vSphere Web Client是安装在Windows服务器上的一个应用程序,其基于浏览器的方式提供了图形用户界面,具有传统vSphere Client的多数功能,比如查看主机以及虚拟机清单,对主机.虚拟机.模