草庐IT

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

east4ming 2023-03-28 原文

开篇

? 引言

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

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

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

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

? Lens 简介

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

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

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

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

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

监控整合

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

所有 K8S 资源触手可达

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

K8S 资源模板

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

快速部署

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

如下图:

插件!

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

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

lens-certificate-info

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

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 页面会多一个按钮:

有 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 是一个Kubernetes IDE,在桌面环境下使用它,来开发、调试、DevOps、运维和监控。

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

一起使用吧~ ???

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

有关K8S 实用工具之三 - 图形化 UI Lens的更多相关文章

  1. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  2. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  3. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  4. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  5. ruby-on-rails - 有没有一种工具可以在编码时自动保存对文件的增量更改? - 2

    我最喜欢的Google文档功能之一是它会在我工作时不断自动保存我的文档版本。这意味着即使我在进行关键更改之前忘记在某个点进行保存,也很有可能会自动创建一个保存点。至少,我可以将文档恢复到错误更改之前的状态,并从该点继续工作。对于在MacOS(或UNIX)上运行的Ruby编码器,是否有具有等效功能的工具?例如,一个工具会每隔几分钟自动将Gitcheckin我的本地存储库以获取我正在处理的文件。也许我有点偏执,但这点小保险可以让我在日常工作中安心。 最佳答案 虚拟机有些人可能讨厌我对此的回应,但我在编码时经常使用VIM,它具有自动保存功

  6. ruby - 使用 Ruby 开发工具包将文件上传到 Amazon S3 - 2

    我正在尝试上传文件。一个简单的hello.txt。我正在关注文档,但无法将其上传到我的存储桶。#STARTAWSCLIENTs3=Aws::S3::Resource.newbucket=s3.bucket(BUCKET_NAME)begins3.buckets[BUCKET_NAME].objects[KEY].write(:file=>FILE_NAME)puts"Uploadingfile#{FILE_NAME}tobucket#{BUCKET_NAME}."bucket.objects.eachdo|obj|puts"#{obj.key}=>#{obj.etag}"endresc

  7. ruby - 图形与 Prawn - 2

    寻找一个gem为prawn添加gtraphing功能,我找到了thisone但它似乎有点过时了。有没有更活跃的gem? 最佳答案 直接在Prawn内部绘图没有什么非常活跃的,但是Gruff是一个高度可配置的活跃gem,可以让你制作各种图表。事实上,prawn-graph基本上是gruff的包装器!我的建议是使用gruff生成所需的图表和图形,然后将它们作为图像嵌入到Prawn文档中。所以代码看起来像这样:g=Gruff::Line.new(400)g.title="TransparentBackground"g.theme={:co

  8. ruby - 在 StockChart (highchart) 中以编程方式显示柱形图的工具提示 - 2

    我有一个Highstock图表(带有标记和阴影的线条),并且想以编程方式显示一个highstock工具提示,例如,当我选择某个表上的一行(包含图表数据)我想显示相应的highstock工具提示。这可能吗? 最佳答案 股票图表thissolution不起作用:在thisexample你必须更换这个:chart.tooltip.refresh(chart.series[0].data[i]);为此:chart.tooltip.refresh([chart.series[0].points[i]]);解决方案可用here.

  9. ABB-IRB-1200运动学分析MATLAB RVC工具分析+Simulink-Adams联合仿真 - 2

    一、机器人介绍        此处是基于MATLABRVC工具箱,对ABB-IRB-1200型号的微型机械臂进行正逆向运动学分析,并利Simulink工具实现对机械臂进行具有动力学参数的末端轨迹规划仿真,最后根据机械模型设计Simulink-Adams联合仿真。 图1.ABBIRB 1200尺寸参数示意图ABBIRB 1200提供的两种型号广泛适用于各作业,且两者间零部件通用,两种型号的工作范围分别为700 mm 和 900 mm,大有效负载分别为 7 kg 和5 kg。 IRB 1200 能够在狭小空间内能发挥其工作范围与性能优势,具有全新的设计、小型化的体积、高效的性能、易于集成、便捷的接

  10. Ruby & Syslog & 自定义工具 - 2

    我是syslog的新手。我们决定使用系统日志来跟踪Rails应用程序中的一些特殊事件。问题是我不想使用默认的/var/log/system.log文件,而是使用自定义文件,例如/var/log/myapp_events.log.我看到我必须像这样在/etc/syslog.conf中定义我自己的设施:myapp_events.*/var/log/myapp_events.log重新启动syslogd后,我发现我可以直接在bash控制台中使用它:syslog-s-kFacilitymyapp_eventsMessage"thisismymessage"该消息按预期出现在/var/log/m

随机推荐