有很多 Kubernetes 管理工具可供选择,无论您喜欢命令行实用程序还是图形用户界面。我最近介绍了 k9s,这是一个基于文本的界面,许多日常 Kubernetes 管理员都很喜欢,但您必须浏览许多 Kubernetes 特定的术语才能使用它。许多不经常使用 Kubernetes 的人更喜欢色彩鲜艳、简洁的视觉指南。这就是 Lens 的用武之地,它是一个开源集成开发环境 (IDE) 工具,用于管理 Kubernetes 集群。
安装 Lens
您可以从 Lens 的 GitHub 页面或其 网站 下载适用于 Linux、macOS 或 Windows 的 Lens。Linux 安装通过 AppImage 提供,本教程 将引导您完成安装过程。安装完成后,Lens 出现在我的应用程序列表中(中心带有 L 的蓝色框)。

(Jess Cherry,CC BY-SA 4.0)
添加集群
管理 Kubernetes 意味着关注一个或多个集群。要向 Lens 添加集群,请单击大的 + 号,从下拉列表中选择您的集群,然后单击 Add Cluster(添加集群)。环境会自动从您的 ~/.kube/config
文件中获取。

(Jess Cherry,CC BY-SA 4.0)
浏览 Lens 的菜单
Lens 为您提供有关其管理的集群所需的所有信息。为了帮助您入门,我将使用屏幕截图浏览 Lens 菜单部分,向您展示它们提供的信息和选项。
如果您需要复习 Kubernetes 术语,Kubernetes 容器编排初学者指南 是一个很好的阅读资料。
节点菜单
首先,查看 Nodes(节点)。节点可以是虚拟机或物理(裸机)机器,具体取决于集群。每个节点都包含运行 Pod 所需的服务,由控制平面管理。我们可以首先检查我们的节点是否已启动并在 Ready 状态下运行。如果出现问题,此页面将提供有关节点问题的详细信息。

(Jess Cherry,CC BY-SA 4.0)
工作负载菜单
Workloads(工作负载) 部分提供了有关集群的大量信息。您可以使用左侧或窗格顶部的菜单访问其子部分——两者工作方式相同。
概览
单击 Overview(概览) 以查看集群中正在发生的事件,以及在其中运行的 Pod、Deployments(部署)、StatefulSets(有状态集)、DaemonSets(守护程序集)、Jobs(作业)和 CronJobs(定时任务)的数量。您可以选择每个概览项目以查看有关它的详细信息。

(Jess Cherry,CC BY-SA 4.0)
Pod
单击 Pods(Pod) 以查看集群中 pod 的列表。

(Jess Cherry,CC BY-SA 4.0)
在 Workloads(工作负载) 的 Pods(Pod) 部分中单击 pod 名称,它将在右侧弹出一个详细信息窗格,其中包含您可以快速执行的大量操作。

(Jess Cherry,CC BY-SA 4.0)
单击 pod 详细信息窗口右上角的多行按钮(从左侧数第二个图标),打开 pod 的日志。

(Jess Cherry,CC BY-SA 4.0)
如果您需要 shell 进入 pod,Lens 内置了一个终端。单击 pod 详细信息上方的终端按钮(最左侧的图标)即可访问它。

(Jess Cherry,CC BY-SA 4.0)
将打开一个终端。

(Jess Cherry,CC BY-SA 4.0)
部署
Deployments(部署) 显示集群中存在的 Deployments(部署)。

(Jess Cherry,CC BY-SA 4.0)
配置菜单
Configuration(配置) 显示 ConfigMaps(配置映射)、Secrets(密钥)、Resource Quotas(资源配额)和 Horizontal Pod Autoscalers (HPA)(水平 Pod 自动扩缩器)。

(Jess Cherry,CC BY-SA 4.0)
网络菜单
Network(网络) 包括用于管理您的网络服务、endpoints(端点)、ingresses(入口)和 network policies(网络策略)的选项。
网络服务

(Jess Cherry,CC BY-SA 4.0)
如果您看到铅笔图标(如上方右上角的图标),单击它将打开一个终端窗口,您可以在其中编辑配置。

(Jess Cherry,CC BY-SA 4.0)
存储菜单
Storage(存储)选项,包括 PersistentVolumes(持久卷)和 StorageClasses(存储类),也是可导航的。

(Jess Cherry,CC BY-SA 4.0)
命名空间菜单
Namespaces(命名空间) 显示您的命名空间列表。

(Jess Cherry,CC BY-SA 4.0)
应用菜单
Lens 的皇冠上的明珠是其一键式(好吧,更像是三击式)使用 Helm charts(Helm 图表) 安装应用程序的过程。我建议仅在您的本地集群上使用它,但这仍然是 Lens 中一个不错的附加功能。
要安装图表,请单击左侧导航栏中的 Apps(应用),然后单击 Charts(图表)。将显示通过 Helm(及其稳定存储库)提供的所有图表的列表。

(Jess Cherry,CC BY-SA 4.0)
您还可以使用 Search(搜索) 查找图表。单击您想要的图表,右侧将打开一个窗口,其中有一个大的 Install(安装) 按钮。

(Jess Cherry,CC BY-SA 4.0)
单击 Install(安装),底部将打开一个终端,右下角有另一个 Install(安装) 按钮。单击它。

(Jess Cherry,CC BY-SA 4.0)
它会安装 Helm 图表,并在完成后通知您。

(Jess Cherry,CC BY-SA 4.0)
您可以通过查看 Workloads(工作负载) 下的 Pods(Pod) 部分来仔细检查 Helm 图表是否已安装在您的集群中。

(Jess Cherry,CC BY-SA 4.0)
Helm 安装耗时不到一分钟,并且由于 Lens 在每个详细信息窗口中都有编辑功能,您可以手动配置您安装的应用程序。在我看来,这是此功能唯一的缺点——我更喜欢使用我自己的值,因为手动更改很难跟踪。为什么我认为这是一个问题?如果您正在使用带有版本控制的 helm 图表的存储库,并且需要运行手动更改而不签入更改的值,您很快就会遇到代码漂移。
访问控制菜单
Access Control(访问控制) 部分包括 Service Accounts(服务帐户)、Roles(角色)、Role Bindings(角色绑定)和 Pod Security Policies(Pod 安全策略),因此您可以可视化和编辑您已部署的安全设置(如以下屏幕截图所示)。Service Accounts(服务帐户)相当于 Linux 用户帐户,但它们是为集群中运行的进程设计的。运行的应用程序附加到 Roles(角色),Roles(角色)具有到集群的 Role Bindings(角色绑定),以允许 pod 访问某些管理权限。Pod Security Policies(Pod 安全策略)是针对 pod 更细粒度的安全级别,允许 pod 访问某些 volume(卷) 类型或设置容器使用的 seccomp 配置文件。
服务帐户

(Jess Cherry,CC BY-SA 4.0)
角色绑定

(Jess Cherry,CC BY-SA 4.0)
角色

(Jess Cherry,CC BY-SA 4.0)
最终说明
Lens 是从命令行管理 Kubernetes 的一个美观而强大的替代方案。在某些情况下,您会希望使用命令行,主要是因为在启动图表之前手动编辑图表的缺点,或者为了跟踪环境变化。如果您的集群中有良好的日志记录实践,这可能不是问题。如果您是视觉型的人,Lens 是探索您的 Kubernetes 集群并处理 95% 的管理任务的绝佳方式。
评论已关闭。