为了方便起见,Komodor 提供了一个简单的 Web 界面,以帮助您监控 Kubernetes 集群的状态。它拥有付费和免费增值计划,除了在出现问题时通知用户外,还拥有一系列方便的工具,用于跟踪和管理集群中部署的资源的状态。让我们来看看 K8s 运营商对使用 Komodor 的期望。
Komodor 于 2020 年推出,是部署在 K8s 集群中的一项服务,用于管理集群内运行的资源、监控其状态并自定义警报以通知用户发生的任何关键事件。同时,它不支持从头开始创建任何新资源或部署任何应用程序——您所能做的就是将它们回滚到以前的版本。
有三种定价计划可供选择:
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 事件详细信息
资源:浏览和管理集群资源。支持以下资源类型:
我们只能使用 Helm 3 版本测试功能,因为演示集群中没有 Helm 2 版本。官方文档也没有提供有关 Helm 2 支持的任何详细信息。
其余选项卡链接到以下资源:
总而言之,Komodor的主要功能包括:
以下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与各种服务集成的选项:
5. 从现有的Komodor界面连接其他集群并监控其状态的选项。您所要做的就是运行一个预制脚本,在将 Watcher 添加到集成后将其安装在集群中。然后,您将能够直接在界面中在集群之间切换。
Komodo与各种工具的集成
关于Komodor,有哪些缺点:
在我看来,Komodor 提供了一个方便的 Web 界面来管理和维护 Kubernetes 集群。我喜欢它令人愉快的设计、深思熟虑的故障排除自动化以及大量支持的集成选择。同时,就我而言,商业计划的价格似乎相当高。最重要的是,每月可以收集的事件数量是有限制的。
尽管有这些小缺陷,但我认为对于一个小型开发团队来说,Komodor 可以成为监控集群或沙盒的有用工具,而无需在命令行kubectl里七上八下。