为了方便起见,Komodor 提供了一个简单的 Web 界面,以帮助您监控 Kubernetes 集群的状态。它拥有付费和免费增值计划,除了在出现问题时通知用户外,还拥有一系列方便的工具,用于跟踪和管理集群中部署的资源的状态。让我们来看看 K8s 运营商对使用 Komodor 的期望。
关于Komodor
Komodor 于 2020 年推出,是部署在 K8s 集群中的一项服务,用于管理集群内运行的资源、监控其状态并自定义警报以通知用户发生的任何关键事件。同时,它不支持从头开始创建任何新资源或部署任何应用程序——您所能做的就是将它们回滚到以前的版本。
有三种定价计划可供选择:
- 免费模式是去年 1 月推出的。它可供所有人使用,包括多达 50 个Kubernetes节点、5 个集群和 5 个用户;
- 业务覆盖100个节点、10个集群、50个用户;
- Enterprise 面向大公司,并根据客户的需求进行定制。
Komodor 代理与任何操作系统上的 Kubernetes v1.16+ 兼容。
安装
首先,在项目网站上注册以获取与您的帐户关联的访问密钥。
有几种方法可以安装Komodor Agent。可以使用预制脚本、Helm 图表或 Kustomize 手动执行此操作。
安装命令位于您的个人帐户中。它附带了您帐户的 API 密钥。我们将使用 Helm:
helm repo add komodorio https://helm-charts.komodor.io
helm repo update
helm upgrade --install k8s-watcher komodorio/k8s-watcher \
--set watcher.actions.basic=true \
--set watcher.actions.advanced=true \
--set watcher.actions.podExec=true --set apiKey=XXXYYYZZZ \
--set watcher.clusterName=default \
--set watcher.actions.podExec=true \
--set watcher.resources.secret=true
在集群中部署代理后,带有仪表板的 Web 界面将在 Komodor 网站上的个人帐户中可用。
用户界面和功能
这是 Web 界面主屏幕的快照:
Komodor UI主页
它有点像普通的 Kubernetes 仪表板,但具有有用的附加功能。左侧的菜单包含与集群组件关联的部分。让我们更详细地看一下它们。
服务:立即访问您的所有 K8s 服务。您可以根据各种条件筛选它们,或单击以查看有关服务的其他详细信息。它配备了编辑、管理状态以及浏览相关事件的能力。
Komodor 服务
Job:浏览已完成和正在进行的 Job。
Komodor Job
事件:浏览集群中的事件。
Komodor 事件
Komodor 事件详细信息
资源:浏览和管理集群资源。支持以下资源类型:
- 节点:用户可以排空或封锁所选节点,使其重新加入集群,以及浏览其详细信息和节点上所有 Pod 的列表。
- 工作负载:Pod、ReplicaSet、Deployment、Job、CronJob、StatefulSet 和 DaemonSet。您的选项包括能够检查资源详细信息、删除或修改资源、更改副本数以及重新启动资源(包括作业和 CronJobs)。
- 存储:包括PVC、PV和StorageClass对象。您可以查看该对象的详细信息或删除该对象。不支持编辑。
- 配置:配置映射、秘密、资源配额、限制范围、HPA和PDB。您可以查看ConfigMaps和Secrets的详细信息,也可以编辑和删除它们。而对于其他资源,只能查看详细信息。秘密显示为base64加密。
- 网络:K8s服务、端点、入口、网络策略和端点切片。服务的清单可以删除和编辑,而入口可以删除。对于其他资源,唯一支持的功能是查看详细信息。
- 自定义资源定义:此选项卡当前仅列出集群中的 CRD;您无法查看或编辑其详细信息。
- Helm:Helm 版本。您可以浏览发布资源,通过单击切换到资源,查看清单以及用于发布的值,将它们与特定版本进行比较,以及回滚到特定版本并从群集中删除版本。
我们只能使用 Helm 3 版本测试功能,因为演示集群中没有 Helm 2 版本。官方文档也没有提供有关 Helm 2 支持的任何详细信息。
其余选项卡链接到以下资源:
- 集成:管理集成(有关详细信息,请参见下文);
- 监视器:管理监视器以自定义通知;
- 设置:设置、配置文件和访问控制。
Komodor:优点和缺点
总而言之,Komodor的主要功能包括:
- 在服务、作业和集群事件之间轻松导航。
- 有关群集节点及其状态的详细信息,以及管理它们的选项。
- 管理关键 K8s 对象,前提是用户具有适当的权限。您可以根据各种条件(例如集群、命名空间、状态或标签)筛选它们。
- 浏览和编辑 ConfigMap 和 Secret。
- 浏览和管理与存储相关的资源(PV、PVC、SC):您可以删除和查看清单。
- 按类型和与其他资源的关系列出群集中部署的应用程序,并对其进行管理。
- 浏览和管理端点、K8s 服务和入口。
- 自动检查 Kubernetes 集群的对象是否遵循最佳实践,例如具有内存和 CPU 限制的 Pod、存活探测到位等。
- 浏览集群中的 Helm 版本,并可选择将它们的不同版本相互比较。
- 执行到容器中并直接在浏览器中使用终端的选项。
- 查看日志和事件。在“关注”模式下,日志会实时显示。
以下Komodor功能值得特别一提:
1. 从 UI 配置资源访问权限。您可以创建自定义策略,将其添加到角色,然后将该角色分配给您的团队成员。在这样做时,您不需要事先掌握 Kubernetes RBAC 的基础知识。您所要做的就是在集群中安装Komodor时,在Values中指定Watcher服务的访问权限。
Komodo中配置策略
2. 轻松的监视器配置。监视器跟踪群集资源的状态,并向 Slack、Teams、Opsgenie、PageDuty 等服务或任何其他支持接收 Webhook 的服务发送通知。
Komodo 中配置监视器
3. 预配置的检查(以 playbook 的形式实施)可加快故障排除过程。例如,如果您的 Deployment 的 Pod 不健康,Komodor 将自动检查您最新的部署更改,以便您可以立即看到不健康状态的可能原因。如果您的节点有问题,Komodor 将尝试在不同层面上调查其背后的原因,自动执行您作为 Kubernetes 操作员最有可能执行的常规操作,并加速根本原因分析。
4. 将Komodor与各种服务集成的选项:
- 云化 GitLab 和 GitHub:您可以根据集群中已部署的资源查看拉取和合并请求;
- Slack、Microsoft Teams 或其他第三方信使发送事件和通知;
- Sentry 和 NewRelic 监控系统;
- Prometheus 和 Alertmanager:集群中节点和 Pod 正在消耗的资源信息也将在此处显示。
5. 从现有的Komodor界面连接其他集群并监控其状态的选项。您所要做的就是运行一个预制脚本,在将 Watcher 添加到集成后将其安装在集群中。然后,您将能够直接在界面中在集群之间切换。
Komodo与各种工具的集成
关于Komodor,有哪些缺点:
- 您只能浏览集群的自定义资源列表,不显示任何详细信息。
- 目前,文档非常稀缺,尽管开发人员正在努力添加新部分并扩展旧部分。
- 您无法连接自托管的 GitLab 部署:只能与基于云的 GitLab 集成。
- 毕竟,这是一个商业报价。每个集成节点的价格为 30 美元。由您决定是否值得这样做。
- 该服务只能用作 SaaS — 某些软件安装在集群中,而界面本身由服务提供,不可用于自托管安装。
结论
在我看来,Komodor 提供了一个方便的 Web 界面来管理和维护 Kubernetes 集群。我喜欢它令人愉快的设计、深思熟虑的故障排除自动化以及大量支持的集成选择。同时,就我而言,商业计划的价格似乎相当高。最重要的是,每月可以收集的事件数量是有限制的。
尽管有这些小缺陷,但我认为对于一个小型开发团队来说,Komodor 可以成为监控集群或沙盒的有用工具,而无需在命令行kubectl里七上八下。