k8s之web界面(Dashboard)从安装到应用
2021-04-18 19:28
标签:复制 网络环境 体验 edit 指定 显示 集群管理 网络 git 之前在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界面(Dashboard)。用户可以使用Dashboard部署容器化的应用,还可以监控应用的状态,执行故障排查以及管理kubernetes中各种资源。 在kubernetes Dashboard中可以查看集群中应用的运行状态,也能够创建和修改各种kubernetes资源(比如Deployment,Job,Daemonset等等),用户可以对Deployment实现弹性伸缩,执行滚动升级,重启pod或者使用向导创建新的应用。 Dashboard 同时展示了kubernetes集群中的资源状态信息和所有报错信息。 官方参考文档:https://kubernetes.io/zh/docs/tasks/access-application-cluster/web-ui-dashboard/ kubernetes 默认没有部署Dashboard,可通过以下命令下载: #修改yaml文件: ##保存退出后,执行kubectl apply -f 创建dashboard: 通过火狐浏览器访问网址:https://172.16.1.30:32134/ 进入后界面如下: 可以看到Dashboard支持kubeconfig和Token两种认证方式,本文选用Token的方式登录,kubeconfig登陆方式可以参考文档:http://note.youdao.com/noteshare?id=b0523244024d563cdc1bf7c8f7d6083c&sub=A8921821A7BE4CE4BC36B1DC86966460 通过Token的方式登录: ##把获取到的Token复制到登录界面的Token输入框中: ##登陆成功后的web界面如下所示: 1,Dashboard界面结构 2)左边导航菜单: 通过导航菜单可以查看和管理集群中的各种资源,菜单项按照资源的层级分为两类: NameSpace 级别的资源: 3)中间主体区: 在导航菜单中点击了某类资源,中间主体区就会显示该资源的所有实例,比如点击service资源 2,典型使用场景 2,在线对资源进行操作: ##比如点击View/edit YAML 可直接修改资源的配置,保存后立即生效,其效果与kubectl edit一样。 3,查看资源的详细信息 4,查看Pod日志 小结: k8s之web界面(Dashboard)从安装到应用 标签:复制 网络环境 体验 edit 指定 显示 集群管理 网络 git 原文地址:https://blog.51cto.com/13972012/2469675
可以说,kubernetes Dashboard提供了kubectl的绝大部分功能。
GitHub项目下载地址:https://github.com/kubernetes/dashboard一,部署Dashboard UI
#将yaml文件下载到本地:
[root@master dashboard]# wget https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.0/src/deploy/recommended/kubernetes-dashboard.yaml
由于yaml文件中默认指定下载地址是国外的镜像,由于国内网络环境限制,我们通过阿里云镜像站进行下载。
因为service是ClusterIP类型,为了使外部应用能够方便使用,修改成NodePort类型。##查看pod和service的状态(dashboard会在kube-system 命令空间中创建自己的pod和service):
[root@master dashboard]# kubectl get pod -n kube-system | grep dashboard
kubernetes-dashboard-6cfb7d8f54-rp9nd 1/1 Running 0 2m23s
[root@master dashboard]# kubectl get svc -n kube-system
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kube-dns ClusterIP 10.96.0.10
二,访问Dashboard UI
1)创建一个dashboard管理用户:
[root@master dashboard]# kubectl create serviceaccount dashboard-admin -n kube-system
serviceaccount/dashboard-admin created
2)绑定用户为集群管理用户:
[root@master 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:
[root@master dashboard]# kubectl get secrets -n kube-system | grep dashboard-admin
dashboard-admin-token-4gdsc kubernetes.io/service-account-token 3 4m17s
4)查看该token的详细信息:
[root@master dashboard]# kubectl describe secrets -n kube-system dashboard-admin-token-4gdsc
三, 使用Dashboard
Dashboard的界面很简洁,分为三个大的区域:
1)顶部操作区:在这里用户可以搜索集群中的资源,创建资源或退出。
Cluster 级别的资源:
默认显示的是default 的NameSpace,大家可以根据对应的Namespace进行切换。
接下来实践几个Dashboard的典型使用场景:
1,部署Deployment:
1)点击顶部操作区的 + CREATE按钮:
用户可以直接输入要部署应用的名字,镜像,副本数等信息;用户也可以YAML配置文件,如果是上传YAML文件,则可以创建任意类型的资源,不仅仅是Deployment。
对于每种资源,用户都可以点击右边的下拉菜单执行各种操作(删除,查看,编辑等)
点击某个资源实例的名字,可以查看到详细信息,其效果与kubectl describe一样。
在Pod或者父资源(DaemonSet,ReplicaSet等)页面中点击上方的“LOGS”按钮,可以查看Pod的日志(查看器可以查看同一个pod的不同容器的日志),其效果与在命令行执行kubectl logs一样。
以上就是kubernetes Dashboard的安装和使用方法。Dashboard能完成日常管理的大部分工作,可以作为命令行工具kubectl的补充。
文章标题:k8s之web界面(Dashboard)从安装到应用
文章链接:http://soscw.com/index.php/essay/76350.html