K8S 实用工具之三 - 图形化 UI Lens

k8s,实用工具,之三,图形化,ui,lens · 浏览次数 : 427

小编点评

## K8S 实用工具之二 - 终端 UI K9S **引言** K8S 实用工具之二 - 终端 UI K9S 是一款图形化 UI,可用于控制您的 Kubernetes 集群。它建立在开源和免费的基础上,并得到 Kubernetes 和云原生生态系统先锋的支持。 **优势** * 移除复杂性:无需学习 kubectl 命令就可以探索和导航 Kubernetes 集群。 * 实时可观察性:实时查看实时统计、事件、日志流。 * 定位和调试:在仪表板上查看错误和警告,然后单击查看详细信息。 * 快速部署Helm Chart:支持快速部署数以千计的公开可用的 Helm Chart 和管理您自己的存储库。 **使用说明** 1. 安装 Lens:可从 Kubernetes 集群中下载并安装 Lens。 2. 启动 Lens。 3. 连接到您的 Kubernetes 集群。 4. 使用 Lens 中的各种功能,例如: * Explore 和 Organize:可浏览和组织您的 Kubernetes 集群、服务、工作负载、工具、自动化和相关资源。 * Debug:可以使用调试工具轻松调试 Kubernetes 资源。 * Hotbar:可自定义主导航,方便您管理 Kubernetes 集群。 * Resources:可查看和管理 Kubernetes 资源。 **其他** * Lens 是一个开源项目,拥有活跃的社区,并得到 Kubernetes 和云原生生态系统先锋的支持。 * 它支持任何 Kubernetes 集群,无论是本地开发环境还是云部署。 * 使用 Lens 提升开发、调试、DevOps、运维和监控效率。

正文

开篇

📜 引言

  • 磨刀不误砍柴工
  • 工欲善其事必先利其器

像我这种,kubectl 用的不是非常溜,经常会碰到以下情况:

  • 忘记命令,先敲 --help,再敲命令,效率低
  • 忘记加 -n 指定 namespace
  • 太长的命令经常记错或敲错,比如 kubectl exec -it...
  • 无法快速将日志、yaml 复制出来
  • 对于 CRD 类资源,记不住 CRD type,查不到相关信息
  • 无法掌握集群的健康及监控状态
  • Windows 机器命令行不好用
  • ……

如果你的工作机(前置机、跳板机、操作机、堡垒机…)是 Windows 桌面环境。那么我强烈推荐你使用这个 K8S 实用工具:图形化 UI Lens

📸 Lens 简介

Kubernetes IDE(集成开发环境),可用于:

  • 开发
  • 调试
  • DevOps
  • 运维
  • 监控

Lens 是你唯一需要的 IDE ,它可以用来控制你的 Kubernetes 集群。它建立在开源和免费的基础上。

Lens UI

一个为那些每天使用 Kubernetes 工作的人设计的 IDE,漂亮且强大。

💪 Lens 优势

  • 💡 移除复杂性:不需要学习 kubectl 命令就可以探索和导航 Kubernetes 集群。对于刚起步的开发者来说是非常棒的。
  • 👁️ 实时可观察性:实时查看实时统计、事件、日志流。没有转圈圈的加载,刷新或等待屏幕更新。
  • 🔨 定位和调试:在仪表板上查看错误和警告,然后单击查看详细信息。再次单击以查看日志或获取命令行。
  • 💻️ 在你的个人电脑上运行:MacOS, Windows 和 Linux 上的独立应用程序。1 分钟安装。不需要在集群中安装任何东西。
  • 💚 开源免费:Lens 基于开源平台,拥有活跃的社区,并得到 Kubernetes 和云原生生态系统先锋的支持。
  • 可和任何 Kubernetes 一起工作:使用 EKS, AKS, GKE, Minikube, Rancher, k0s, k3s, OpenShift…?他们所有都可以正常运行。只需为您想要使用的集群导入 kubeconfigs。

个人使用体验

无障碍使用

Lens 有一个统一的目录(Catalog)。将所有集群、服务、工作负载、工具、自动化和相关资源集中在一起,以便轻松访问。

而且在 Catalog 上,可以很方便进行浏览和组织。使用搜索、过滤、分类和标签来访问你需要工作的资源比以往任何时候都更容易。

Lens Catalog

效率高

Lens 的特色是左边有一列,叫做:Hotbar。就是主导航,允许用户在桌面应用程序中构建适合自己的「工作流」和「自动化」。用户可以通过分配不同的标签、颜色和图标来自定义 Hotbar 中的项目,以方便回忆。比如这样:

Lens Hotbar

它还有类似 VSCode 的命令面板。命令面板允许用户执行特定的键盘快捷键,从而使最常见的任务变得更容易。在使用 Lens 时提高可访问性和效率。Windows 的快捷键是:Ctrl + Shift + p。如下图:

Lens 命令面板

监控整合

Lens 内置的可视化。Lens 与 Prometheus 集成,可以通过总容量、实际使用、请求和限制可视化和查看资源使用指标(包括 CPU、内存、网络和磁盘)的趋势。为每个 k8s 资源自动生成详细的可视化。如下图:

Lens CPU 内存 pod

Lens Node 监控

Lens Overview

Lens Pod 监控

所有 K8S 资源触手可达

智能终端功能。Lens 智能终端自带 kubectl 和 helm,自动同步 kubectl 的版本,以匹配当前选择的 K8S 集群 API 版本。Lens 会自动分配 kubeconfig 上下文来匹配当前选择的 K8s 集群。

Lens 智能终端

K8S 资源模板

自带全量 K8S 资源模板,而且是有丰富信息的模板,直接在模板上照猫画虎就可完成各类资源的创建,妈妈再也不用担心我忘记 K8S Resources 的 Spec 了!

Lens 资源模板

快速部署

Helm Chart。Lens 自带 Helm Chart 管理,允许发现和快速部署数以千计的公开可用的 Helm Chart 和管理您自己的存储库。探索已安装的 Helm Chart ,只需一次点击即可修订和升级。

如下图:

Lens Helm Chart 仓库

Helm Chart 一键升级

Lens Helm 已安装资源展示

插件!

支持插件。轻松地从社区和云本地生态系统供应商添加 Lens 扩展或构建自己的。Lens Extensions 用于添加自定义功能和服务,以加速与 Kubernetes 和其他云原生技术集成的所有技术的开发流程。

这里推荐几个实用的插件:

lens-certificate-info

查看证书信息。查看含有证书信息的 Secret,效果如下:

lens-certificate-info

lens-debug-tools

配合 K8S 1.16 的新功能,可以在想要调试的 Pod 里插入带有丰富工具集的 Sidecar(为了追求 Size,一般镜像都是非常精简,导致常用命令缺失,调试困难),方便调试。

还可以配置调试用的镜像,还贴心的给了 3 个推荐:

Name Description Link
busybox Default value https://hub.docker.com/_/busybox
markeijsermans/debug https://hub.docker.com/r/markeijsermans/debug
praqma/network-multitool https://hub.docker.com/r/praqma/network-multitool

安装完成后 Pod 页面会多一个按钮:

Lens Debug Pod 按钮

有 2 种模式:

一种是「Run as debug pod」,就是在同一台 Node 上启动一个新 pod,可以用来分析调试与 Node 有关的问题。自动执行的命令如下:

kubectl run loki-promtail-5d5h8-debug -n loki-stack -it --image=busybox --restart=Never  --attach  --overrides='{ \"spec\": { \"nodeName\": \"izuf656om146vu1n6pd6lpz\" } }' --labels=createdBy=lens-debug-extension --rm

另一种是「Run as emepheral container」,需要启用 K8S 1.16 的新功能才能使用。直接是在要调试的 Pod 里启动一个 Debug Sidecar,就可以分析调试与 Node、Pod有关的问题。自动执行的命令如下:

kubectl debug -i -t -n loki-stack loki-promtail-5d5h8 --image=busybox --target promtail --attach

@nevalla/kube-resource-map

资源拓扑图。这个真的是心头好。来看看 Monitoring 的拓扑图:

从Helm,到 StatefulSet,到 Pod,到 SVC,再到 ConfigMap、Secret,一应俱全。

Lens 拓扑图

✍ 总结

Lens 是一个Kubernetes IDE,在桌面环境下使用它,来开发、调试、DevOps、运维和监控。

它有很多强大的功能,其中:Catalog、Hotbar、命令面板、监控、智能终端、资源模板、Helm Chart 管理和插件 这些功能一定要试一试,体验飞升!

一起使用吧~ 🤓🤓🤓

三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.

与K8S 实用工具之三 - 图形化 UI Lens相似的内容:

K8S 实用工具之三 - 图形化 UI Lens

开篇 📜 引言: 磨刀不误砍柴工 工欲善其事必先利其器 第一篇:《K8S 实用工具之一 - 如何合并多个 kubeconfig?》 第二篇:《K8S 实用工具之二 - 终端 UI K9S》 像我这种,kubectl 用的不是非常溜,经常会碰到以下情况: 忘记命令,先敲 --help,再敲命令,效率

K8S 实用工具之四 - kubectl实用插件

开篇 📜 引言: 磨刀不误砍柴工 工欲善其事必先利其器 第一篇:《K8S 实用工具之一 - 如何合并多个 kubeconfig?》 第二篇:《K8S 实用工具之二 - 终端 UI K9S》 第三篇:《K8S 实用工具之三 - 图形化 UI Lens》 在《K8S 实用工具之一 - 如何合并多个 k

K8S 实用工具之五-kompose

开篇 📜 引言: 磨刀不误砍柴工 工欲善其事必先利其器 第一篇:《K8S 实用工具之一 - 如何合并多个 kubeconfig?》 第二篇:《K8S 实用工具之二 - 终端 UI K9S》 第三篇:《K8S 实用工具之三 - 图形化 UI Lens》 第四篇:《K8S 实用工具之四 - kubec

K8S 实用工具之六-kubectl-aliases

开篇 📜 引言: 磨刀不误砍柴工 工欲善其事必先利其器 第一篇:《K8S 实用工具之一 - 如何合并多个 kubeconfig?》 第二篇:《K8S 实用工具之二 - 终端 UI K9S》 第三篇:《K8S 实用工具之三 - 图形化 UI Lens》 第四篇:《K8S 实用工具之四 - kubec

K8S 实用工具之一 - 如何合并多个 kubeconfig?

开篇 📜 引言: 磨刀不误砍柴工 工欲善其事必先利其器 K8S 集群规模,有的公司倾向于少量大规模 K8S 集群,也有的公司会倾向于大量小规模的 K8S 集群。 如果是第二种情况,是否有一个简单的 kubectl 命令来获取一个 kubeconfig 文件并将其合并到 ~/.kube/config

K8S 实用工具之二 - 终端 UI K9S

开篇 📜 引言: 磨刀不误砍柴工 工欲善其事必先利其器 第一篇:《K8S 实用工具之一 - 如何合并多个 kubeconfig?》 像我这种,kubectl 用的不是非常溜,经常会碰到以下情况: 忘记命令,先敲 --help,再敲命令,效率低 忘记加 -n 指定 namespace 太长的命令经常

k8s集群搭建及对一些组件的简单理解(二)

背景 前面写了一篇,k8s集群搭建及对一些组件的简单理解(一),主要讲了下背景和对一些组件的理解。 今天讲一下正式的安装,有网环境的,后续再说下无外网环境纯内网的。 k8s集群节点、组件 控制面节点,一般就是部署了如下组件:etcd、apiserver、kube-scheduler、kube-con

k8s集群搭建及对一些组件的简单理解(一)

背景 k8s的学习环境(用kubeadm方式搭建),我也搭过几次了,但都有点问题。 要么在云服务器上弄,这个的问题是就只有一台轻量服务器,只能搭个单节点的;后来买了一台便宜的,所以就有了两台,但是不在一个zone,一个是广州,一个是成都,内网不通,感觉搭起来很麻烦,还没试过。 要么是在本机的虚拟机上

实战 k8s----初识

什么是k8s?k8s是谷歌开源的一套完整的容器管理平台,方便我们直接管理容器应用。谷歌称之为,kubernetes,[kubə’netis] ,(跟我一起读库波尔耐题思,重音在耐的音上),由于字母太多,我们简称为k8s,8代表k-->s之间的8个字母。kubernetes 译为舵手,标识是一个航海舵

k8s网络问题以及容器跨宿主机通信原理

【0】资源配置文件 [root@mcwk8s03 mcwtest]# ls mcwdeploy.yaml [root@mcwk8s03 mcwtest]# cat mcwdeploy.yaml apiVersion: apps/v1 kind: Deployment metadata: labels