首页 > 其他分享 >一起学kubernetes系列(3)‌K8S的WebUI:Dashboard&Kuboard

一起学kubernetes系列(3)‌K8S的WebUI:Dashboard&Kuboard

时间:2022-10-17 22:33:01浏览次数:63  
标签:eip kuboard name kubernetes Kuboard work WebUI k8s dashboard


本篇介绍2套kubernetes的WEB UI管理控制台


Kubernetes 官方Dashboard 部署

Kubernetes Dashboard 是 Kubernetes 的官方 Web UI。使用 Kubernetes Dashboard,您可以:

  • 向 Kubernetes 集群部署容器化应用
  • 诊断容器化应用的问题
  • 管理集群的资源
  • 查看集群上所运行的应用程序
  • 创建、修改Kubernetes 上的资源(例如 Deployment、Job、DaemonSet等)
  • 展示集群上发生的错误 例如:您可以伸缩一个 Deployment、执行滚动更新、重启一个 Pod 或部署一个新的应用程序

安装

  • 访问https://github.com/kubernetes/dashboard/releases 获取最新的dashboard安装yaml文件。
  1. ​kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta5/aio/deploy/recommended.yaml​

访问

Kubernetes Dashboard 当前,只支持使用 Bearer Token登录。由于 Kubernetes Dashboard 默认部署时,只配置了最低权限的 RBAC。因此,我们要创建一个名为 admin-user 的 ServiceAccount,再创建一个 ClusterRolebinding,将其绑定到 Kubernetes 集群中默认初始化的 cluster-admin 这个 ClusterRole。

  • 创建 Service Account 和 ClusterRoleBinding 使用 kubeadm 安装集群时,默认创建了 ClusterRole cluster-admin。此时我们可以直接为刚才的 ServiceAccount 创建 ClusterRoleBinding。
1. ​​vi auth.yaml​​
2.
3. ​​apiVersion: v1​​
4. ​​kind: ServiceAccount​​
5. ​​metadata:​​
6. ​​ name: admin-user​​
7. ​​ namespace: kubernetes-dashboard​​
8. ​​---​​
9. ​​apiVersion: rbac.authorization.k8s.io/v1​​
10. ​​kind: ClusterRoleBinding​​
11. ​​metadata:​​
12. ​​ name: admin-user​​
13. ​​roleRef:​​
14. ​​ apiGroup: rbac.authorization.k8s.io​​
15. ​​ kind: ClusterRole​​
16. ​​ name: cluster-admin​​
17. ​​subjects:​​
18. ​​- kind: ServiceAccount​​
19. ​​ name: admin-user​​
20. ​​ namespace: kubernetes-dashboard​​
• 执行如下命令可创建 ServiceAccount 和 ClusterRoleBinding
21. ​​kubectl apply -f auth.yaml​​
• 修改使用nodePort访问
22. ​​#默认是使用的ClusterIP方式,外部无法访问dashboard,所以需要修改成NodePort的方式​​
23. ​​vi svc.yaml​​
24. ​​kind: Service​​
25. ​​apiVersion: v1​​
26. ​​metadata:​​
27. ​​ labels:​​
28. ​​ k8s-app: kubernetes-dashboard​​
29. ​​ name: kubernetes-dashboard​​
30. ​​ namespace: kubernetes-dashboard​​
31. ​​spec:​​
32. ​​ type: NodePort​​
33. ​​ ports:​​
34. ​​ - port: 8443​​
35. ​​ nodePort: 32443​​
36. ​​ targetPort: 8443​​
37. ​​ selector:​​
38. ​​ k8s-app: kubernetes-dashboard​​
39. ​​kubectl apply -f svc.yaml​​
• 获取Bearer Token
40. ​​kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}')​​
• 登录
41. ​​# 使用nodeip + nodeport访问,输入token登录。​​
42. ​​https://192.168.190.11:32443​​

一起学kubernetes系列(3)‌K8S的WebUI:Dashboard&Kuboard_github

安装Kuboard

Kuboard 是基于一款基于 Kubernetes 的微服务管理面板。

  • Kuboard 关注微服务参考架构的视角对界面进行组织,参考 Kuboard 简介
  • Kuboard 中,不需要手工编写 YAML 文件,进一步降低 K8S 使用难度,提高便捷性
  • Kuboard 可以导出整个微服务架构的部署信息,并在新的名称空间/集群导入配置信息
  • Kuboard 的一个发展方向是,提供内建的 监控套件(目前的全局监控套件成熟度比较高)
1. ​​vi Kuboard.yaml​​
2.
3. ​​apiVersion: apps/v1​​
4. ​​kind: Deployment​​
5. ​​metadata:​​
6. ​​ name: kuboard​​
7. ​​ namespace: kube-system​​
8. ​​ annotations:​​
9. ​​ k8s.eip.work/displayName: kuboard​​
10. ​​ k8s.eip.work/ingress: "true"​​
11. ​​ k8s.eip.work/service: NodePort​​
12. ​​ k8s.eip.work/workload: kuboard​​
13. ​​ labels:​​
14. ​​ k8s.eip.work/layer: monitor​​
15. ​​ k8s.eip.work/name: kuboard​​
16. ​​spec:​​
17. ​​ replicas: 1​​
18. ​​ selector:​​
19. ​​ matchLabels:​​
20. ​​ k8s.eip.work/layer: monitor​​
21. ​​ k8s.eip.work/name: kuboard​​
22. ​​ template:​​
23. ​​ metadata:​​
24. ​​ labels:​​
25. ​​ k8s.eip.work/layer: monitor​​
26. ​​ k8s.eip.work/name: kuboard​​
27. ​​ spec:​​
28. ​​ containers:​​
29. ​​ - name: kuboard​​
30. ​​ image: eipwork/kuboard:latest​​
31. ​​ imagePullPolicy: Always​​
32.
33. ​​---​​
34. ​​apiVersion: v1​​
35. ​​kind: Service​​
36. ​​metadata:​​
37. ​​ name: kuboard​​
38. ​​ namespace: kube-system​​
39. ​​spec:​​
40. ​​ type: NodePort​​
41. ​​ ports:​​
42. ​​ - name: http​​
43. ​​ port: 80​​
44. ​​ targetPort: 80​​
45. ​​ nodePort: 32567​​
46. ​​ selector:​​
47. ​​ k8s.eip.work/layer: monitor​​
48. ​​ k8s.eip.work/name: kuboard​​
49.
50. ​​---​​
51. ​​apiVersion: v1​​
52. ​​kind: ServiceAccount​​
53. ​​metadata:​​
54. ​​ name: kuboard-user​​
55. ​​ namespace: kube-system​​
56.
57. ​​---​​
58. ​​apiVersion: rbac.authorization.k8s.io/v1​​
59. ​​kind: ClusterRoleBinding​​
60. ​​metadata:​​
61. ​​ name: kuboard-user​​
62. ​​roleRef:​​
63. ​​ apiGroup: rbac.authorization.k8s.io​​
64. ​​ kind: ClusterRole​​
65. ​​ name: cluster-admin​​
66. ​​subjects:​​
67. ​​- kind: ServiceAccount​​
68. ​​ name: kuboard-user​​
69. ​​ namespace: kube-system​​
70. ​​kubectl apply -f Kuboard.yaml​​

获取token与访问

1. ​​#此Token拥有 ClusterAdmin 的权限,可以执行所有操作​​
2. ​​kubectl -n kube-system describe secret $(kubectl -n kube-system get secret | grep kuboard-user | awk '{print $1}') ​​
3. ​​# 使用nodeip + nodeport访问,输入token登录。​​
4. ​​http://192.168.190.11:32567​​

一起学kubernetes系列(3)‌K8S的WebUI:Dashboard&Kuboard_github_02

一起学kubernetes系列(3)‌K8S的WebUI:Dashboard&Kuboard_微服务_03

一起学kubernetes系列(3)‌K8S的WebUI:Dashboard&Kuboard_应用程序_04




标签:eip,kuboard,name,kubernetes,Kuboard,work,WebUI,k8s,dashboard
From: https://blog.51cto.com/starsliao/5764548

相关文章

  • 一起学kubernetes系列(1)‌明明白白安装Kubernetes1.16.2
    ​前言首次安装Kubernetes我们采用kubeadm来安装单Master节点的方式,安装最新版的Kubernetes和Calico,一步一步循序渐进。介绍Master:集群控制管理节点,所有的命令都经由master......
  • 08. Kubernetes - 资源清单
    资源清单在使用docker部署容器的时候,使用dockerrun进行容器的运行,但是对于复杂的需求,如果还是使用dockerrun,就会变得极其复杂和难以管理。于是便有了dockercompo......
  • Azure Kubernetes(AKS)部署及查看应用资源
    简介      上一篇文章讲解了如何使用AzureDevOps持续部署应用到AzureKubernetes上。但是部署是否成功?会不会遇到什么问题?项目运行中是否会出现问题?我们该怎么样......
  • 基于Kubernetes的CICD实战
    什么是DevOps在过去十年,DevOps一直是大家热议的话题,10个人心中有10个哈姆雷特,十家公司却不止十个DevOps定义,也许在你从事技术的生涯中,听过不止100种DevOps定义......
  • 选择 podman 的理由, 以及它和 Kubernetes , Docker 的区别
    转载自https://zhuanlan.zhihu.com/p/506265757前言大家好,我是Liangdi,podman4.x版本已经发布了,我也从docker开始向podman迁移,所以是合适的时候写点podma......
  • Kubernetes Traefik 路由规则及中间件 Traefik Middlewares 的配置 (k3s)
    系统环境:  Traefik版本:v2.2.0Kubernetes版本:K3s1.23.6一、什么是TraefikTraefik是一款开源的边缘路由器,现在本人主要要作用于kubernetes中对外的网关,即Ingress路......
  • Kubernetes学习笔记(四十):KodeKloud Mock Exam - 2
    Question1(15')Takeabackupoftheetcdclusterandsaveitto/opt/etcd-backup.db.Question2(15')CreateaPodcalledredis-storagewithimage:redis:alp......
  • Kubernetes Prometheus Installation
    目录Yaml参考文献YamlapiVersion:v1kind:ConfigMapmetadata:name:prometheus-confignamespace:mwdata:prometheus.yml:|global:scrape_int......
  • 管理名称空间资源(Kubernetes)
    管理名称空间资源名称空间(Namespace)是Kubernetes集群级别的资源,用于将集群分隔为多个隔离的逻辑分区以配置给不同的用户、租户、环境或项目使用。例如,可以为development......
  • kubernetes学习笔记4-pod
    Pod资源定义​自主式pod资源,很少用到,手动创建的资源,用kubectldelete后不会自动创建,而使用pod控制器管理的才会按照用户期望的重新创建;​资源清单:一级字段(apiVersion|kind|m......