适用于Kubernetes的90多种有用工具:部署,管理,监控,安全等


在2018年秋季,我们发布了25种有用的Kubernetes工具的列表从那时起,该平台开始流行容器编排的生态系统正在蓬勃发展,您可以找到适用于几乎所有任务的辅助工具。

因此,来自Mail.ruKubernetes aaS团队更新并补充了该选择。我们提请您注意清单,其中包含近百种有用的工具,可简化使用Kubernetes的人员的生活。



集群部署工具


1. 龙骨


Kubernetes语句,用于自动更新DaemonSet,StatefulSet,Helm和Deployment。一个命令,没有依赖关系,没有配置文件和锁。

2. Kube-prod运行时


一套Kubernetes服务,可简化高负载下的生产工作。通过公共DNS服务器在K8中提供群集性能监视,日志记录,认证管理和资源自动发现。这是满足其他基础结构需求的有用服务集。

3. K3sup


安装k3sup(发音为ketchup)后,您可以在几秒钟内在任何本地或远程虚拟机中生成kubeconfig。



4. Mail.Ru云解决方案:云容器


您可以通过云服务的形式在平台上部署Kubernetes集群:几分钟后,您将无需配置即可将集群准备就绪,可以将其升级到正确的版本。群集也易于扩展-它们在Mail.Ru基础结构上工作,该基础结构用于高负载服务。


5. 库贝阿姆


Kubernetes集群初始化工具为您的基础架构提供了最佳配置。主要优势是能够在任何环境中运行最低限度可行的Kubernetes集群。开箱即用的配置中不包含插件和网络设置,所有内容都必须手动配置。 

6. Kubespray


Kubernetes部署和配置的Ansible角色集。它适用于不同的云平台:AWS,GCE,Azure,Mail.Ru云解决方案,OpenStack和裸机IaaS。这是一个基于kubeadm的开源项目。适合那些熟悉Ansible的人-使用此工具,您无需了解其他任何内容即可部署所有必要的资源。 

7. 构想 


只需几个命令即可部署Kubernetes,在包括OpenStack在内的云环境中支持localhost和裸机部署。

8. 迷你库


对于刚开始了解Kubernetes的人来说是一个好的开始。该工具使用户可以轻松地在用户笔记本电脑上的虚拟机内部本地运行单节点群集。在Mac OS X,Windows和Linux上受支持。

9. MicroK8 


Kubernetes用户使用一种工具在Linux服务器上部署独立集群非常适合Edge和IoT。

10. Bootkube 


启动独立集群并帮助设置临时Kubernetes管理平面。Bootkube也可用于创建启动新集群时将使用的必要资源。

11. RKE by Rancher


Kubernetes认证的CNCF容器内部分布。允许您简化和自动化Kubernetes的安装,而不依赖于您所使用的操作系统和平台。

监控工具


12. Kube状态度量


一个用于监听Kubernetes API服务器的简单实用程序,有助于生成有关对象状态的指标。重点关注群集内各种对象的健康状况,包括节点,炉床和部署。

13. Kubebox


一个终端控制台,可让您管理Kubernetes集群并实时监视其状态。群集监视器显示炉床资源,容器日志和其他参数的情况。使您可以轻松导航到所需的名称空间,并在所需的容器中执行命令。这有助于快速解决问题并恢复工作。  


14.


Rakess插件(Review Access)显示了对Kubernetes集群的所有访问权限。当然,对于单个资源,您可以使用kubectl auth can-i list deployments命令进行检查,但是它不提供有关服务器上所有资源的完整信息。

15. Kubetail


Bash脚本,使您可以将许多炉床的日志聚合到一个流中。在原始版本中,它不知道如何过滤或选择,但是在Github上有一个单独的fork,允许您使用MultiTail为日志着色。

16. 船尾


另一个Kubernetes炉尾工具。功能:使用正则表达式方便地过滤炉床(您不需要知道特定的ID),类似地,您可以过滤单个容器以获取所请求的炉床,还有用于显示日志的标准和自定义Go模板,按时间段或行数限制日志输出等。

17. 普罗米修斯


我们不得不提到这个开源的监视和通知工具,该工具早已成为监视Kubernetes的标准。它与所有流行的编程语言集成在一起,有助于创建自己的指标,并且包含许多与流行技术的现成集成,例如:PostgreSQL,MySQL,ETCD。

使用Prometheus Operator,您可以在Kubernetes集群中创建Prometheus实例,包括与Grafana和Alertmanager的紧密集成

18. 积家


开源跟踪工具。能够监视分布式系统中的事务和服务依存关系,识别并排除故障。在Kubernetes中开始使用它的一种方法是使用特殊的Jaeger运算符。 

19. 探照灯


Kubernetes运营商Icinga能够对Kubernetes集群进行定期检查,然后在出现问题时通过电子邮件,SMS或聊天发送通知。默认工具包括专门用于Kubernetes的测试套件。在它的帮助下,有可能扩展Prometheus的监视功能,如果内部监视系统完全失败,它也将成为备用系统。

20. Kubernetes操作视图(Kube-ops-view)


能够与许多Kubernetes集群一起使用的只读系统仪表板。使您可以方便地在群集之间移动,跟踪节点和炉床状态。可视化许多过程,例如炉膛的创建和销毁。 


21. Kubewatch 


在Kubernetes集群中的Pod中运行,监视系统更改,启动后,您将通过Web挂钩接收通知。您只需编辑配置文件即可自定义通知。

22. 编织范围 


跟踪Kubernetes和Docker集群并对其进行故障排除,因此您可以轻松地识别和修复容器化应用程序的问题。您可以使用它来识别应用程序性能瓶颈。


23. 涡轮增压/ Kubeturbo 


提供整个堆栈的可见性,允许您监视基础架构的有效性以及Kubernetes中运行微服务的性能。

测试中


24. 库伯瓦尔


用于检查Kubernetes YAML或JSON配置文件的工具。使用从Kubernetes OpenAPI生成的架构执行验证。这允许对不同版本的Kubernetes进行架构验证。

25. 赫尔姆·库伯瓦尔


Helm插件,用于根据Kubernetes模式验证图。您可以选择特定版本的Kubernetes来检查图表。

26. BotKube


BotKube可以监视,调试和运行Kubernetes集群上的检查。该工具还集成了各种消息传递平台,例如Slack和Mattermost。好处是开源和易于设置。


27.声浮标


Sonobuoy是一种诊断工具,用于检查合规性,调试工作负荷以及进行自定义测试以帮助确定集群状态。测试以非破坏性方式执行,同时生成清晰,信息丰富的报告。

28. Snyk集装箱


Snyk可帮助您在整个开发生命周期中快速发现并修复Kubernetes容器和应用程序中的漏洞。


29. 库伯猴子


按照混乱工程学的原理,Kube-monkey将随机删除集群中的Kubernetes模块,并检查容错服务的开发。

30. K8s-测试套件 


由两个用于测试网络带宽和负载测试Kubernetes集群的Helm图组成。这将有助于确保它们的配置正确,服务的运行状况和正确的负载分配。

31. 强大的密封 


该工具特定于Kubernetes,并且遵循混沌工程学的原理,使您可以检查在容器中工作的对象。它也可用于通过交互模式手动验证选定的群集组件。部署后,该工具将自动运行。


安全


32. 海港


港口登记处通过引入基于角色的访问控制来保护带有容器的图像。该工具还会检查图像是否存在漏洞,并将其签名为可靠。

33. 库贝塞克


开源的Kubernetes资源安全风险分析工具。使用它,您可以控制系统并获得建议的完整列表,以提高其整体安全性。 

34. 权限管理器


通过此SIGHUP开发应用程序,可以轻松地通过基于角色的访问控制来管理Kubernetes的访问角色。创建用户,分配名称空间/权限,并分发Kubeconfig YAML文件。


35. Kube扫描


Octarine工具专注于Kubernetes工作负载中的风险评估。Kube-scan在集群中按以下方式运行,并评估30个安全参数以得出最可接受的风险级别。然后,该工具分析哪些参数协同工作,以了解哪些组合将减少威胁级别。


36. K轨


K-rail设计用于需要在策略实施中多一点控制的情况。提升特权的方法很简单,但是在多租户集群中,它们可能很危险或导致不稳定。

37. KeyCloak


KeyCloak是一个开源用户和身份管理工具。它添加了应用程序身份验证功能,并以最小的努力来确保服务的安全性。消除了对详细维护用户列表及其身份验证的了解。所有这些现在都可以立即使用。

38. Aquasec


该工具旨在在整个生命周期中保护Kubernetes安装。它在每个容器上部署一个专用代理,充当防火墙并消除可能的漏洞。您可以通过中央控制台管理安全性限制。此外,该工具还允许您在本地和云环境中使用灵活的安全设置。 

与之关联的另一个开源工具是Kube-Bench,它使用CIS Kubernetes Benchmark文档中的测试来检查Kubernetes环境。

39. 泰格纳


Calico项目 创建者使用的工具,是一套Kubernetes网络安全解决方案,通过自动通用安全策略支持多云和旧环境。

40. 克伦


Klum或Kubernetes Lazy用户管理器执行简单的任务,例如创建/删除/更改用户。它发布kubeconfig文件并管理用户角色。

41. StrongDM


StrongDM是用于检查安全性以及对服务器和/或数据库的访问权限的管理平面。由身份验证API,支持协议的代理服务器和日志存储库组成。 

42. 法尔科


一种开源云安全工具,可检测Kubernetes的风险。注意到应用程序的意外行为,并在执行过程中通知有关威胁。

43. Sysdig安全 


一个用于监视微服务和容器的安全性的平台。支持Kubernetes和Docker。它可以在云中和本地使用。

实用工具


44. 克鲁


Krew帮助开发人员为程序找到有用的kubectl插件,并在以后安装和管理它们。该工具类似于APTDNFHomebrew

45


kubectl的插件可以有效地使用Wiresharktcpdump远程捕获来自Kubernetes集群中任何Pod的流量。


46. Kube-ps1


Kube-ps1脚本将当前的Kubernetes上下文和已配置的名称空间从kubectl添加到Bash / Zsh控制台,不需要任何命令。

47. Kubefwd


如果您在远程集群上运行Kubernetes服务,则Kubefwd将帮助将它们重定向到您的本地工作站。无需修改:如果您使用kubectl,则您已经满足所有要求。


48. 库伯码头


它更多地是一个辅助工具,可以补充Kubernetes中的kubectl和您的控制台。


49. 支架


Skaffold是一个控制台实用程序,可帮助确保Kubernetes应用程序的持续开发。该工具非常轻巧,不需要群集侧的组件。

50. Kubectl别名


kubectl的简单而强大的别名生成器。使用它,您可以非常快速地编写用于Kubernetes日常管理的命令,因为它在所有情况下都提供800多个简短别名。

51. Kubectx /库本斯


补充Kubectl的开源实用程序,使您可以切换上下文并同时连接到多个Kubernetes集群,以及在命名空间之间移动。在bash / zsh / fish外壳中支持自动填充。

kubectx帮助在集群之间来回切换:


kubens 帮助在Kubernetes命名空间之间无缝切换:


52. 无壳


加速使用kubectl的工具。自动完成命令,提供不同的选项,搜索和纠正输入错误的命令,显示有关已执行命令的内联帮助。


53. 倾斜


如果您很少退出控制台,则Tilt会将所有更改与集群同步并更新服务器,以便您可以立即查看所做的更改如何影响系统。该工具显示每个资源的状态,每个资源的发布日志或一起显示。所有更新都在容器内执行,这使它们非常快。



54. 凯尔(Kubernetes Tail)


该工具可让您跟踪所需炉膛的Docker日志。它按服务,部署,标签和其他参数筛选pod。根据过滤条件,炉膛启动后将自动添加到日志中或从日志中删除。

开发工具


55. 头盔 


软件包管理器,通过Helm Charts帮助管理Kubernetes应用程序。这使用户可以创建可共享的可复制程序集。

56. 头盔,2to3的


该插件可帮助开发人员通过适当的配置清理将配置从Helm v2转移到Helm v3


57. 白嘴鸦


Rook可帮助自动执行各种数据仓库任务,例如部署,加载,扩展,更新等。这样可以确保任何供应商(Ceph,EdgeFS,CockroachDB,Cassandra,NFS,Yugabyte DB)的解决方案都能在Kubernetes上稳定运行。

58. 轮廓


Contour是Kubernetes的入口控制器,为入口和服务代理提供控制平面。

59. 壳牌运营商


使用Shell Operator可以轻松创建Kubernetes运算符。它提供了Kubernetes集群事件和Shell脚本之间的集成。简化集群管理。 

60. 掌舵人入门


帮助管理您的Helm版本。


61. 头盔文件


舵图发布管理工具。使您可以在一处描述许多头盔发布,设置其部署顺序并执行其他有用的操作。

62. 工藤


Kudo主要使用YAML简化了Kubernetes语句的创建。它提供了可以直接配置的现成操作员。

63. 头盔文档


该工具会根据Markdown文件中的Helm图自动生成文档。该文件包含元数据,包括具有所有图表值和默认值的表。

64. 网真 


允许对Kubernetes服务进行本地调试,从而简化了开发过程。

65. Kubectl调试


允许您在感兴趣的容器中运行其他容器。新容器将名称空间与目标容器一起使用。 

66. 同步 


几乎立即将您的本地系统文件与Kubernetes集群同步。如果您使用的脚本主要问题是将代码传递到正在运行的容器中,则适用。 

67. 壁球 


用于在集群中运行进程时对其进行调试。易于使用,您可以在感兴趣的过程中交互式地选择所需的调试器和名称空间/。 

CI / CD输送机


68. 拉斐


Rafay是一种软件工具,可让公司或个人开发人员轻松创建自己的平台,自动化系统和应用程序生命周期管理。Rafay还能够运行Kubernetes集群。

69. 兰切


Rancher是一个完整的软件平台,可以轻松部署容器环境,而不仅仅是Kops和Kubespray等Kubernetes安装程序。它提供了许多功能,包括基础结构管理,容器计划和编排,监视,运行状况检查,日志记录以及功能强大的基于角色的访问控制系统。

70. 草稿


来自Helm开发人员的实用程序。其目标是简化开发用于Kubernetes的应用程序。通过两个简单的命令,您可以使用容器应用程序,而无需安装Docker或Kubernetes。

71. 詹金斯


也许是世界上最流行的开源CI / CD服务器。它有一个免费的插件,可帮助您在Kubernetes中部署应用程序,以最少的停机时间对其进行更新,并提供绿色/蓝色更新部署。 


72. TeamCity


JetBrains提供著名的CI / CD服务。有一个插件,您可以使用它使用Kubernetes集群基础结构来运行TeamCity构建代理(在2017.1.x版和更高版本中)。 

73. 阿波罗 


持续部署(CD)解决方案,为团队提供自助服务界面。它可以与现有的构建过程集成。这使您可以管理Kubernetes集群,为每个用户提供特定的权限以确保部署安全性。


74. 沃尔夫


Go编写的开源CLI工具旨在简化并加速应用程序交付。Werf使用Dockerfiles或基于本机语法的替代快速内置链接器创建Docker映像。它还会从Docker注册表中删除未使用的映像。然后Werf使用Helm兼容格式的图表将您的应用程序部署到Kubernetes,并具有方便的设置和改进的机制来跟踪部署,错误检测和日志输出。

该工具允许您创建可以集成到任何现有CI / CD系统中的管道。 

75. 花园


Garden是一个开发人员工具,可自动执行您的工作流程,并使开发和测试Kubernetes应用程序更快,更轻松。适用于远程集群中的协作开发。


服务网格


76. 凯利


Kiali帮助创建定义,验证和监视Istio服务网格中微服务和连接的运行。该工具创建了服务网格拓扑的可视化图形表示,并给出了诸如断路器,请求路由,延迟等功能的概念。 

77.


用于服务网格和微服务的通用控制面板。它可以在虚拟环境和Kubernetes中本地运行。轻松进入组织中任何团队的工具库。


78. Tenkai


Tenkai是基于Helm图的微服务管理器。带有图形Web界面的工具允许您从Helm图调用存储库,它们易于配置和部署。


服务发现


79. 发现Vert.X服务


具有许多工具的存储库,用于发现微服务应用程序中可见的服务。也可以从Kubernetes(以及Docker和Consul)导入服务。

可视化与管理


80. 八度


一个开源的Web工具,可以可视化您的Kubernetes工作负载并提供有关它们的实时更新。

81. Kubernetic


Kubernetic可帮助您轻松快速地部署公共图或私有图,在一个屏幕上查看所有关联的集群对象及其依赖性。它具有实时可视化等功能,并支持多个集群。



82. Kubernetes仪表板


Kubernetes集群的通用Web界面。使用此本机控制面板可以更轻松地对群集进行故障排除和监视。 


83. Kubeapps


Kubernetes集群中应用程序目录的Web界面。允许您单击按钮即可安装,更新和删除Helm图表,而无需使用命令行。

 

84. 镜头


桌面应用程序可在Windows,Mac和Linux上运行。它可以连接到适用于少量集群的本地集群K8s。


85. 库贝维特


开源软件,用户友好的图形界面。一处显示与该应用程序相关的所有配置。通过消除搜索设置以及深入选择器和标签的需求,可以节省时间。该工具的缺点之一是它可以直接在K8s集群上运行。因此,您必须在每个集群上部署Kubevious,而不仅仅是指向现有集群。



86. 库贝里夫


使用Node.js的基于终端的用户界面。相当容易使用,但目前仅限于一些kubectl命令。使您可以轻松导航各种K8s集群名称空间,并快速显示给定炉床组的状态。


87. K9s


另一个方便的用户界面使浏览,监视和管理应用程序变得容易。

无服务器计算/功能工具


88. 无核


Kubernetes是一个开放源代码的无服务器基础架构,可让您部署少量代码。支持大多数流行语言,允许您实时编辑和部署功能。

89. 裂变


另一个开源的开源Kubernetes服务器框架。支持所有编程语言。用任何语言编写短命的函数,并将它们与HTTP请求(或其他事件触发器)进行比较-该工具允许您使用单个命令立即部署函数。没有要构建的容器,也没有要管理的Docker注册表。


90. 的Funktion


这是Kubernetes的开源lambda样式编程模型。在Kubernetes负责其余工作的同时,允许开发人员专注于编写功能。

91. 铁功能


适用于任何云(私有,公共或混合)的开源服务器计算平台。使用该工具,开发人员可以在平台与基础架构一起使用时简单地下载其代码。 

92. OpenFaaS


简化功能和现有代码在Kubernetes中的部署。在公共和私有云中工作。允许您以任何语言创建微服务和功能。 

93. 尼奥利奥


一个服务器项目,允许您将其用作独立的Docker容器,甚至可以在另一个Kubernetes集群之上使用。设计用于处理高性能事件和大量数据。它还以最小的开销提供实时数据处理。

94. 虚拟小腿


它是Kubernetes Kubelet的开源实现。它开始于当前集群中的容器内部,并伪装成一个节点。从那里,他以真正的Kubelet的方式控制计划的软件包。

就这样。如果您知道其他有用的工具,请在评论中写下。

另外:我们收集了我们认为通常在实践中使用的工具。可以在CNCF Cloud Native Interactive Landscape中找到更多有用的工具

还有什么要阅读的主题

  1. Kubernetes中的三个级别的自动缩放以及如何有效地使用它们
  2. Kubernetes的工作节点:许多小还是大
  3. 我们在Telegram中围绕Kubernetes的频道。 

All Articles