优秀Kubernetes工具的完整指南

译文
云计算 云原生 运维
有一些Kubernetes工具可以帮助用户实现流程的自动化,以确保其部署和工作流得到优化。

译者 | 李睿

审校 | 重楼

在容器化应用程序编排方面,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工具的最终决定取决于用户的特定需求和项目目标。

原文标题:Best Kubernetes Tools:The Complete Guide,作者:Florian Pialoux

责任编辑:华轩 来源: 51CTO
相关推荐

2021-06-10 05:43:01

开源Kubernetes容器

2022-11-30 15:28:55

2021-08-07 09:30:40

Kubernetes容器

2024-01-22 12:46:00

KubernetesAPI接口

2022-09-23 17:26:04

VeleroKubernetes

2022-07-05 15:50:25

Kubernetes工具DevOps

2022-04-18 10:20:31

数据映射工具

2020-09-22 12:22:32

Windows TerWindowsLinux

2022-07-03 13:58:53

YAMLKubernetes容器

2021-10-27 08:00:00

DevSecOps开发安全

2022-05-31 08:00:00

加密货币数字化比特币

2021-03-11 14:33:28

Kubernetes开源容器

2023-10-08 18:07:42

Kubernetes开源容器

2023-12-26 08:00:00

微前端React

2021-11-23 16:00:56

DevOps价值流价值流优化

2021-03-01 19:24:13

Kubernetes备份容器

2022-09-01 08:50:22

kubernetes容器

2019-05-21 10:45:44

Docker架构容器

2021-05-18 08:00:00

Kubernetes容器进程

2020-01-13 16:09:17

KubernetesDevops容器
点赞
收藏

51CTO技术栈公众号