写点什么

强大的 Kubernetes 工具的完整指南

  • 2023-11-30
    福建
  • 本文字数:2849 字

    阅读完需:约 9 分钟

在容器化应用程序编排方面,Kubernetes 是市场的领导者。它允许用户在多主机环境中管理容器,提供工作负载分配和网络处理。


此外,它还提供了许多在 DevOps 过程中至关重要的特性,例如自动扩展、自动修复和负载平衡。这些功能解释了 Kubernetes 是大多数软件工程师首选解决方案的原因。


然而,人们也普遍认为管理 Kubernetes 是一项艰巨的任务。值得庆幸的是,有一些 Kubernetes 工具可以帮助用户实现流程的自动化,以确保其部署和工作流得到优化。本文探讨了各种 Kubernetes 监控工具,包括专有的和开源的工具,它们可以帮助用户最大限度地利用软件开发项目。

优秀的 Kubernetes 工具

(1)Kubernetes 成本管理工具


  • KubeCost

价格:免费(开源)

KubeCost 是一个 Kubernetes 成本监控和管理工具,它可以根据名称空间标签、服务、部署等提供成本消耗的实时报告。

KubeCost 还允许用户考虑云计算服务器上的外部支出,以获得整体视图,并为成本超支添加警报和通知。此外,还可以获得提高性价比的智能见解。


  • Kubernetes Opex Analytics

价格:免费(开源)

Kubernetes Opex Analytics 是 Kubernetes 成本监控工具,在其 GitHub 存储库中拥有 400 多颗星。使用这个工具,可以跟踪 Kubernetes 使用的资源,并以每个名称空间为基础获得每小时、每天和每月的趋势。

Kubernetes Opex Analytics 还突出显示了应用程序工作负载无法利用的容量。在展示分析时,它还提供了优雅的可视化,此外,它还将其分析指标提供给第三方可视化工具。


  • Pluto

价格:免费(开源)

毫无疑问,Kubernetes 在很短的时间内推出了新的更新并弃用了一些组件。然而,查找和更新所有弃用的 API 版本是一件麻烦事。

Pluto 是 Kubernetes 的一个监控工具,它可以自动在用户的基础设施即代码(IaC)仓库和 Live Helm 版本中找到受影响的版本,然后将它们标记为“已弃用”或“已删除”,以帮助用户处理已贬值的 API。

(2)Kubernetes 部署工具



  • Loft

价格:免费和付费级别

Loft 是一个部署工具,它使用户能够为 Kubernetes 设置自助服务虚拟环境。这种方法允许集群的快速初始化,并提供更好的控制。使用 Loft,可以管理跨 Kubernetes 环境的多个租户的访问控制、安全性和隔离。

此外,它还可以帮助用户监视未使用的资源,并自动将所有此类名称空间置于休眠状态,这可以帮助服务节省高达 70%的云计算成本。



  • Minikube

价格:免费(开源)

Minikube 允许用户创建一个本地 Kubernetes 集群,其方法是在其服务器上创建一个虚拟机(或者可以使用 Docker),并在几分钟内部署一个单节点集群。

从本质上来说,Minikube 是测试和探索 Kubernetes 的一个很好的工具,因为它有几个特性,例如负载平衡器、仪表板和 Nvidia GPU 支持。


  • Kubespray

价格:免费(开源)

Kubesray 是一个管理工具,它允许用户在 AWS、GCE、Azure 和裸机服务器上部署 Kubernetes 集群。它由 Ansible 剧本、库存和供应工具组成,用于处理 Kubernetes 集群配置。

例如,Ansible 允许跨多个平台运行高可用性集群。


  • Okteto

价格:免费(开源)

Okteto 是一个 Kubernetes 部署工具,它为用户提供了预配置的开发环境。这样,如果在这些内部部署环境中进行任何更改,它们会自动反映在云服务器上。

这种功能的好处是它加速了 Kubernetes 开发工作流,因为不必等待 CI 管道完成。



  • Flagger

价格:免费(开源)

Flagger 是一个部署工具,可以促进 Kubernetes 应用程序的逐步发布。首先,可以将应用程序的更新版本发布给受控和有限的用户群,以进行测试。如果初始部署成功,则可以完成对其余用户的发布。

这样做的好处是,如果出现错误,可以安全地将应用程序回滚到稳定版本。需要强调的是,Flagger 使用了 Contour、NGINX、App Mesh、Linkerd 和 Istion 来实现这个金丝雀部署模式。



  • ArgoCD

价格:免费(开源)

ArgoCD 是一个为 Kubernetes 提供声明式持续交付的工具,它允许自动化 Kubernetes 部署和生命周期管理。其结果是两者都是可审计的,并且易于理解。



  • Flux

价格:免费(开源)

Flux 由 Weaveworks 开发,并于 2016 年开源,它可以帮助用户在 Git 中保存应用程序的整个状态。可以使用它来部署带有金丝雀和特性标志的应用程序,也可以使用 Git 执行 A/B 测试和渐进交付。

Flux 还增强了应用程序的可听性,因为一切都是通过 pull 请求控制的。

(3)Kubernetes 监控工具



  • Headlamp

价格:免费(开源)

Headlamp 是一个开源工具,它提供了一个用户友好的 Web UI 来监控 Kubernetes 集群。用户不仅可以获得传统仪表板的所有功能,还可以通过插件扩展 UI。

动态 UI 根据权限(例如删除或编辑)调整和显示控件。实际上,用户可以在集群中部署 Headlamp,并通过 Web 浏览器或作为从 Kubecconfig 文件读取设置的桌面应用程序访问它。



  • K9s

价格:免费(开源)

K9s 是另一个开源工具,它有一个易于使用的终端 UI,用于监视 Kubernetes pod。UI 显示实时信息,可以通过某些命令与之交互。

k9 除了允许运行集群管理命令外,还显示所有集群指标和 RBAC 角色。它甚至带有不同的皮肤来改变 UI 的外观和感觉。



  • Lens

价格:免费和付费级别

Lens 是一个桌面应用程序,可用于 Windows、Linux 和 macOS,它为 Kubernetes 提供了一个开源集成开发环境(IDE)。

它允许在 Kubernetes 集群之间轻松导航,而无需使用任何 kubectl 命令,并提供实时统计数据和日志。该界面显示错误和警告,可以展开这些错误和警告以查看详细信息。



  • Falco

价格:免费(开源)

Falco 是一个活动监控工具,用于检测 Kubernetes 中的异常使用模式。该项目最初由 Sysdig 启动,现在是 CNCF 孵化的项目。使用 Falco,可以检测涉及 Linux 系统调用的异常活动并获得即时警报。

此外,它能够为容器、主机和网络定义规则,然后通知是否有任何系统调用违反了这些规则。



  • Kube-bench

价格:免费(开源)

Kube-bench 是一个开源监控工具,它通过运行 CIS Kubernetes Benchmark 中记录的检查来检查 Kubernetes 部署是否安全。测试是在一个 YAML 文件中定义的,这使得它们很容易根据规范进行升级。



  • Kube-hunter

价格:免费(开源)

Aquasecurity 的 Kube-hunter 旨在探测 Kubernetes 集群中的安全漏洞。它增加了安全威胁的可见性,并允许在造成任何损害之前解决问题。



  • 开放策略代理(OPA)

价格:免费(开源)

开放策略代理(OPA)是一个开源的政策制定引擎,它统一了跨多个云原生环境(包括 Kubernetes)的策略执行。

它提供了一种高级语言,允许将自定义策略声明为代码并将其集成到服务中。这提供了安全管理的灵活性和对云服务的更好控制。

(4)命令行实用工具

  • Kubectx / Kubens

价格:免费(开源)

Kubectx 和 Kubens 是在 GitHub 上的同一个存储库下找到的命令行工具。Kubectx 允许在 Kubectl 上的场景(集群)之间快速切换。另一方面,Kubens 允许使用一些命令在 Kubernetes 名称空间之间切换。

需要强调的一个关键点是,从 0.9.0 版本开始,这两个工具都在 Go 中进行了重写,尽管 Bash 实现仍然存在。

结论

Kubernetes 是一个强大的编排工具,不用说,它已经彻底改变了现代云计算。随着 Kubernetes 被越来越多地采用,对管理和监控 Kubernetes 集群的高级有效工具的需求也在不断增长。

这一指南重点介绍了与市场上领先的 Kubernetes 工具相关的一些关键特性,这些工具迎合了各种用例,主要是成本管理、部署和监控。

最适合软件项目的 Kubernetes 工具的最终决定取决于用户的特定需求和项目目标。

发布于: 刚刚阅读数: 5
用户头像

还未添加个人签名 2023-06-19 加入

还未添加个人简介

评论

发布
暂无评论
强大的Kubernetes工具的完整指南_Kubernetes_互联网工科生_InfoQ写作社区