Komodor 为 Kubernetes 监控和故障排除带来了什么

发布时间:2024年01月12日

为了方便起见,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的主要功能包括:

  1. 在服务、作业和集群事件之间轻松导航。
  2. 有关群集节点及其状态的详细信息,以及管理它们的选项。
  3. 管理关键 K8s 对象,前提是用户具有适当的权限。您可以根据各种条件(例如集群、命名空间、状态或标签)筛选它们。
  4. 浏览和编辑 ConfigMap 和 Secret。
  5. 浏览和管理与存储相关的资源(PV、PVC、SC):您可以删除和查看清单。
  6. 按类型和与其他资源的关系列出群集中部署的应用程序,并对其进行管理。
  7. 浏览和管理端点、K8s 服务和入口。
  8. 自动检查 Kubernetes 集群的对象是否遵循最佳实践,例如具有内存和 CPU 限制的 Pod、存活探测到位等。
  9. 浏览集群中的 Helm 版本,并可选择将它们的不同版本相互比较。
  10. 执行到容器中并直接在浏览器中使用终端的选项。
  11. 查看日志和事件。在“关注”模式下,日志会实时显示。

以下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,有哪些缺点:

  1. 您只能浏览集群的自定义资源列表,不显示任何详细信息。
  2. 目前,文档非常稀缺,尽管开发人员正在努力添加新部分并扩展旧部分。
  3. 您无法连接自托管的 GitLab 部署:只能与基于云的 GitLab 集成。
  4. 毕竟,这是一个商业报价。每个集成节点的价格为 30 美元。由您决定是否值得这样做。
  5. 该服务只能用作 SaaS — 某些软件安装在集群中,而界面本身由服务提供,不可用于自托管安装。

结论

在我看来,Komodor 提供了一个方便的 Web 界面来管理和维护 Kubernetes 集群。我喜欢它令人愉快的设计、深思熟虑的故障排除自动化以及大量支持的集成选择。同时,就我而言,商业计划的价格似乎相当高。最重要的是,每月可以收集的事件数量是有限制的。

尽管有这些小缺陷,但我认为对于一个小型开发团队来说,Komodor 可以成为监控集群或沙盒的有用工具,而无需在命令行kubectl里七上八下。?

文章来源:https://blog.csdn.net/yugongpeng/article/details/135531464
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。