📜 引言:
- 磨刀不误砍柴工
- 工欲善其事必先利其器
像我这种,kubectl
用的不是非常溜,经常会碰到以下情况:
--help
,再敲命令,效率低-n
指定 namespacekubectl exec -it...
如果你的工作机(前置机、跳板机、操作机、堡垒机…)是 Windows 桌面环境。那么我强烈推荐你使用这个 K8S 实用工具:图形化 UI Lens。
Kubernetes IDE(集成开发环境),可用于:
Lens 是你唯一需要的 IDE ,它可以用来控制你的 Kubernetes 集群。它建立在开源和免费的基础上。
一个为那些每天使用 Kubernetes 工作的人设计的 IDE,漂亮且强大。
Lens 有一个统一的目录(Catalog)。将所有集群、服务、工作负载、工具、自动化和相关资源集中在一起,以便轻松访问。
而且在 Catalog 上,可以很方便进行浏览和组织。使用搜索、过滤、分类和标签来访问你需要工作的资源比以往任何时候都更容易。
Lens 的特色是左边有一列,叫做:Hotbar。就是主导航,允许用户在桌面应用程序中构建适合自己的「工作流」和「自动化」。用户可以通过分配不同的标签、颜色和图标来自定义 Hotbar 中的项目,以方便回忆。比如这样:
它还有类似 VSCode 的命令面板。命令面板允许用户执行特定的键盘快捷键,从而使最常见的任务变得更容易。在使用 Lens 时提高可访问性和效率。Windows 的快捷键是:Ctrl + Shift + p
。如下图:
Lens 内置的可视化。Lens 与 Prometheus 集成,可以通过总容量、实际使用、请求和限制可视化和查看资源使用指标(包括 CPU、内存、网络和磁盘)的趋势。为每个 k8s 资源自动生成详细的可视化。如下图:
智能终端功能。Lens 智能终端自带 kubectl 和 helm,自动同步 kubectl 的版本,以匹配当前选择的 K8S 集群 API 版本。Lens 会自动分配 kubeconfig 上下文来匹配当前选择的 K8s 集群。
自带全量 K8S 资源模板,而且是有丰富信息的模板,直接在模板上照猫画虎就可完成各类资源的创建,妈妈再也不用担心我忘记 K8S Resources 的 Spec 了!
Helm Chart。Lens 自带 Helm Chart 管理,允许发现和快速部署数以千计的公开可用的 Helm Chart 和管理您自己的存储库。探索已安装的 Helm Chart ,只需一次点击即可修订和升级。
如下图:
支持插件。轻松地从社区和云本地生态系统供应商添加 Lens 扩展或构建自己的。Lens Extensions 用于添加自定义功能和服务,以加速与 Kubernetes 和其他云原生技术集成的所有技术的开发流程。
这里推荐几个实用的插件:
查看证书信息。查看含有证书信息的 Secret,效果如下:
配合 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
资源拓扑图。这个真的是心头好。来看看 Monitoring 的拓扑图:
从Helm,到 StatefulSet,到 Pod,到 SVC,再到 ConfigMap、Secret,一应俱全。
Lens 是一个Kubernetes IDE,在桌面环境下使用它,来开发、调试、DevOps、运维和监控。
它有很多强大的功能,其中:Catalog、Hotbar、命令面板、监控、智能终端、资源模板、Helm Chart 管理和插件 这些功能一定要试一试,体验飞升!
一起使用吧~ 🤓🤓🤓
三人行, 必有我师; 知识共享, 天下为公. 本文由东风微鸣技术博客 EWhisper.cn 编写.