一、前言

在近期的 K8S 开发调试的过程中,总会想知道 Node 或者 Pod 的更多信息。但

$ kubectl top node
$ kubectl top pod

中的 top 操作符,需要 metrics 服务的支持。

同理,DashBoard-UI 也需要通过 metrics 获得资源使用状态。

所以,盘他没商量。。。

二、版本介绍

  • OS_VERSION = 'Ubuntu-16.04-amd64'
  • DOCKER_VERSION = '18.06.3ce3-0~ubuntu'
  • K8S_VERSION = '1.14.8-00'

三、安装 metrics Service

1. 下载 metrics 项目

$ git clone https://github.com/kubernetes-sigs/metrics-server.git

2. 进入发布配置目录

$ cd metrics-server/deploy/kubernetes

3. 修改 metrics-server-deployment.yaml

加入以下内容(command 部分),并修改镜像源

$ vim metrics-server-deployment.yaml
...
containers:
- name: metrics-server
image: bluersw/metrics-server-amd64:v0.3.6
imagePullPolicy: IfNotPresent
command:
- /metrics-server
- --kubelet-preferred-address-types=InternalIP
- --kubelet-insecure-tls
... k8s.gcr.io/metrics-server-amd64:v0.3.6 => bluersw/metrics-server-amd64:v0.3.6

4. 最后发布全部资源即可

$ kubectl apply -f .

5. 稍等一会后,就可以使用 top 操作符了

$ kubectl top node

四、安装 DashBoard Service

1. 下载 dashboard 发布文件

$ wget https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-beta5/aio/deploy/recommended.yaml

2. 修改 dashboard.yaml

添加 kubernetes-dashboard 的 ClusterRole 所需的权限,也可直接使用我已经改好的发布文件 https://raw.githubusercontent.com/PharbersDeveloper/BP-Server-Deploy/master/core-compose/dashboard.yaml

- apiGroups: [""]
resources:
- "nodes"
- "namespaces"
- "pods"
- "events"
- "secrets"
- "configmaps"
- "replicationcontrollers"
- "persistentvolumeclaims"
- "services"
verbs: ["get", "list", "watch"]
- apiGroups: ["extensions"]
resources:
- "ingresses"
verbs: ["get", "list", "watch"]
- apiGroups: ["apps"]
resources:
- "statefulsets"
- "replicasets"
- "deployments"
- "daemonsets"
verbs: ["get", "list", "watch"]
- apiGroups: ["batch"]
resources:
- "jobs"
- "cronjobs"
verbs: ["get", "list", "watch"]

3. 发布 dashboard

$ kubectl apply -f dashboard.yaml

五、使用 DashBoard-UI

  1. 确保已经配置了相关集群的 config-cert,并在此环境中

  2. 启动 ApiServer 代理

$ kubectl proxy
  1. 访问 http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

  2. 生成 token,复制打印的 token 并以其登陆

$ kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep kubernetes-dashboard-token | awk '{print $1}')
  1. 效果如下:

K8S 资源收集和展示 top & DashBoard-UI的更多相关文章

  1. WPF - 资源收集

    原文:WPF - 资源收集 OpenExpressApp的UI现在是使用WPF,所以熟悉WPF是必须的,以下我将可能用到的一些相关内容随时记录下来,以备查阅.此篇文章将不断更新,感兴趣的可以看看,也欢 ...

  2. K8s 部署 Dashboard UI 仪表板 ——让一切可视化

    K8s 部署 Dashboard UI  仪表板   --让一切可视化 Dashboard 介绍 仪表板是基于Web的Kubernetes用户界面.您可以使用仪表板将容器化应用程序部署到Kuberne ...

  3. JavaScript资源收集分享,持续更新中。。。

    平时收集的一些JavaScript资源,分享给大家 jQuery UI jEasyUI Extensions http://jqext.sinaapp.com 布局做的挺不错,有比较复杂的菜单导航.P ...

  4. 在k8s 1.7.0上启用dashboard的注意事项

    因为自k8s 1.6之后,有基于角色的安全性. 所以很多网上以前的教程就不能使用了. 结合以下三个文档,暂时实现了dashboard界面的推出. http://blog.csdn.net/jinzil ...

  5. k8s 日志收集之 EFK

    如今越来越多的应用部署在容器之中,如何收集日志也是一个很重要的问题.服务出问题了,排查问题需要给开发看日志.服务一般会在多个不同的 pod 中,一个一个的登进去看也的确不方便.业务数据统计也需要日志. ...

  6. 学习Linux系列--Python资源收集

    本系列文章记录了个人学习过程的点点滴滴. 回到目录 玩Linux,不懂一门脚本语言是不行的,我这里选择的是Python. 10.入门资源 下面前三遍是比较系统的文档,后面是一些心得,我看了好几天,终于 ...

  7. WCF开发教程资源收集

    WCF开发教程资源收集 1.蒋金楠,网名Artech的博客 [原创]我的WCF之旅(1):创建一个简单的WCF程序[原创]我的WCF之旅(2):Endpoint Overview[原创]我的WCF之旅 ...

  8. k8s日志收集方案

    k8s日志收集方案 三种收集方案的优缺点: 下面我们就实践第二种日志收集方案: 一.安装ELK 下面直接采用yum的方式安装ELK(源码包安装参考:https://www.cnblogs.com/De ...

  9. Electron一学习资源收集和练习demo

    1.近日为了做项目查资料学习electron,简直头都要炸了,就官方的electron-quick-start的例子进行了基本的练习之后,不断的查资料终于发现一些有用的demo来看源代码学习,一遍看代 ...

随机推荐

  1. 少用 string.Format

    如果你使用的是 C# 6.0 及其以上版本的话我建议你使用新增的 内插字符串 这个功能.这个功能可以更好的帮助开发人员设置字符串格式.下面我们就来看一下为什么要少用 string.Format 而要多 ...

  2. http协议入门---转载

    http协议入门 ##(一). HTTP/0.9 HTTP 是基于 TCP/IP 协议的应用层协议.它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用80端口. 最早 ...

  3. swoole(3)网络服务模型(单进程阻塞、预派生子进程、单进程阻塞复用模型)

    一:单进程阻塞 设计流程: 创建一个socket,绑定端口bind,监听端口listen 进入while循环,阻塞在accept操作上,等待客户端连接进入,进入睡眠状态,直到有新的客户发起connet ...

  4. VUE实现Studio管理后台(一):鼠标拖放改变窗口大小

    近期改版RXEditor,把改版过程,用到的技术点,记录下来.昨天完成了静态页面的制作,制作过程并未详细记录,后期已经不愿再补了,有些遗憾.不过工作成果完整保留在github上,地址:https:// ...

  5. Java的三魂七魄 —— 高级多线程

    目录 Java的三魂七魄 -- 高级多线程 一.多线程的创建 二.线程安全问题 三.线程通信问题 四.更多实例 1.用线程同步的方法解决单例模式的线程安全问题 2.银行存钱问题(线程安全问题) 3.生 ...

  6. Mac结合Docker开发

    Mac结合Docker开发 前几天在看Java并发实战时,在Mac上写了一个示例,结果运行后无法按照书本上运行.主要是有些命令,在Mac和Linux是有区别的,比如top, Mac上是不支持-Hp,意 ...

  7. React的组件

    React的组件化思想尤为明显,一切皆组件,觉着比Vue的组件化思想更加凸显. const PacketBG = (props) =>( <div className="pack ...

  8. HDFS NameNode详解

    1. namenode介绍 namenode管理文件系统的命名空间.它维护着文件系统树及整棵树内所有的文件和目录.这些信息以两个文件形式永久保存在本地磁盘上:命名空间镜像文件fsimage和编辑日志文 ...

  9. PHP的魔术常量(常用八大常量)

    PHP的魔术常量都是由不同的扩展库定义的,只有在加载了这些扩展时才会出现,或者动态加载后 有八个魔术常量他们的值随着他们在代码中的位置改变而改变. __LINE__  文件中的当前行号. 实列: &l ...

  10. Excel 电子表格中,快速修改表格中的数值

    打开设置单元格设置选项后,当前界面,分类下面的选项中,选择“自定义”,并在右侧展示的“类型(T)”下方的对话框中,输入以下代码: [=1]√;[=2]×; 并按确认, [=1] 意思为: 将单元格中, ...