51个有用的Kubernetes工具

根据Stackrox 最近进行的一项 调查,Kubernetes在市场上的主导地位继续得到加强,有86%的受访者将其用于容器编排。

如果你是其中的一员,那么在Kubernetes继续快速增长的同时,这里有一些工具可以帮助你提高工作效率。

Kubernetes类别列表:

集群部署工具

监控工具

测试工具

安全

CLI工具

开发工具

持续集成/持续交付管道

Serverless工具

服务网格工具

服务发现

可视化和控制

集群部署工具

1. Keel

一个Kubernetes Operator,可自动执行DaemonSet,StatefulSet,Helm和Deployment更新。

这是一个用于构建整个Keel项目二进制文件的命令,该二进制文件没有依赖关系,没有自定义配置文件且没有锁定。

链接: https://keel.sh/

2.Kube-prod-runtime

Kubernetes中的服务集合,使生产环境运行工作负载变得容易。

该服务能够对Kubernetes集群监视性能,启用日志记录,实施认证管理,并允许通过公共DNS服务器自动发现K8中的资源。

还满足其他必要的基础架构需求。

链接: https://github.com/bitnami/kube-prod-runtime/

3. K3sup

安装k3sup后,使用这个工具几分钟内就可以在任何本地或远程VM上生成kubeconfig 。

链接: https://github.com/alexellis/k3sup

监控工具

4. Kube-state-metrics

创建了一个基本程序来监听Kubernetes API服务器并帮助生成有关对象状态的指标。

它着重于群集内各种对象的健康状况,其中包括 nodes, pods, and deployment。

链接: https://github.com/kubernetes/kube-state-metrics

5. Rakess

Rakess可帮助你查看所有提供的Kubernetes集群访问权限。

要检查单个资源命令,可使用“ kubectl auth can-i 列出 deployments ”,但不会 提供完整的概述。

链接: https://github.com/corneliusweig/rakkess

测试工具

6. Kubeval

验证Kubernetes YAML或JSON配置文件的工具。

通过运行Kubernetes OpenAPI规范来完成此过程。

链接: https//github.com/instrumenta/kubeval

7. Helm-kubeval

Kubernetes模式中使用的验证Charts的Helm插来 。

你还可以选择特定的Kubernetes版本来验证Charts。

链接: https://github.com/instrumenta/helm-kubeval

8. BotKube

BotKube可以监视,调试和检查Kubernetes集群。

该工具可以集成到各种消息传递平台中,例如Slack和Mattermost。

开源且易于配置。

链接: https://www.botkube.io/

9.Sonobuoy

Sonobuoy是一款出色的诊断工具,可用于测试一致性,工作负载调试和自定义测试以确定Kubernetes集群的状态。

测试以非破坏性方式完成,可生成有关集群的清晰,有用的报告。

链接: https://sonobuoy.io/

10. Snyk Container

Snyk旨在—在整个软件开发生命周期中,始终如一地为你提供检测和修复容器和应用程序中漏洞的方法 。

链接: https://snyk.io/product/container-vulnerability-management/

安全

11. Kubectl-aws-secrets

使用此程序可创建golang可执行文件,该可执行文件会导入AWS SSM参数服务–帮助你将对应用程序,服务和IT资源的访问作为机密保护到Kubernetes中。

进一步使用此golang可执行工具可以构建Helm插件或将其用作kubectl插件。

链接:https://github.com/xmin-github/kubectl-aws-secrets

12. Helm-aws-secret-plugin

完全按照Helm AWS Secrets插件名称中的说明进行操作。

链接: https://github.com/xmin-github/helm-aws-secret-plugin

13. Harbor

使用Harbor通过基于角色的访问控制来保护你的容器镜像 registry。

该工具将扫描镜像中的漏洞并将其签名使得可信任。

链接: https://goharbor.io/

14. Kubesec

用于Kubernetes资源的安全风险分析工具。

链接: https://kubesec.io/

15. Permission-Manager

权限管理器完全可以实现你的想法。

由SIGHUP开发的Permission-Manager是一个应用程序,可为Kubernetes启用基于角色的超简单访问控制管理—创建用户,分配名称空间/权限,并分发Kubeconfig YAML文件。

链接: https://github.com/sighupio/permission-manager

16. Kube-scan

Octarine的新工具–专注于Kubernetes工作负载中的风险评估,在集群中作为Pod运行,并评估30种安全设置以创建风险基准。

该工具会分析哪些方法协同工作,以了解哪些组合会降低你的风险水平。

链接: https://www.octarinesec.com/solution-item/kube-scan/

17. K-rail

K-rail适用于你需要在策略实施中进行更多控制的情况。

你可以采取多种简单的特权升级路线,但是在多租户集群中,这些功能可能很危险或会带来不稳定。

链接: https://github.com/cruise-automation/k-rail

18. Kube2iam

Kube2iam在Kubernetes的Pod中提供了IAM角色。

Kube2iam: https://github.com/jtblin/kube2iam

19. KIAM

KIAM在功能上与Kube2iam有很多相似之处,但是你可能需要仔细查看每一个,以确定其用例是否最适合你的需求。

你可以在此处查看 KIAM和Kube2IAM的差异和用例的细分 。

KIAM: https://github.com/uswitch/kiam

20. KeyCloak

KeyCloak是一个访问和身份管理的开源工具,它添加了应用程序身份验证,还可以方便地保护服务。无需处理存储用户和验证用户身份。

链接: https://www.keycloak.org

21. Tigera

Tigera 由Project Calico提供,他提供的自动化通用安全策略,可以为你的Kubernetes需求提供了一套网络安全解决方案,并支持多云和传统环境。

链接: https//www.tigera.io/

22. Palo Alto Kubernetes Security

虽然仍处于Beta版,但它是Palo Alto的Kubernetes Security的存储库,它包含用于部署容器化防火墙的YAML文件。

链接: https://github.com/PaloAltoNetworks/Kubernetes

23. Klum

Klum(Kubernetes Lazy User Manager)可以执行简单的任务,例如创建/删除/修改用户,发布kubeconfig文件并管理与用户关联的角色。

链接: https://github.com/ibuildthecloud/klum

24. Secrets OPerationS

Secrets OPerationS(SOPS0被认为是管理Kubernetes secret 的最佳工具之一,它可与 AWS Key Management Service GCP Key Management Service以及Pretty Good Privacy(PGP)和 Azure Key Vault无缝结合使用。

在此处查看有关使用SOPS的完整文章: 使用Secrets OPerationS管理Kubernetes secret

链接: https://github.com/mozilla/sops

25. StrongDM

StrongDM是用于保护和审核对服务器或数据库的访问的控制平面。

阅读全文: 具有StrongDM的服务器和数据库的身份和访问

链接: https://strongdm.com/

CLI工具

26. Krew

Krew帮助开发人员发现有用的kubectl插件并为你的程序安装/管理它们。此工具类似于 APTDNFHomebrew

链接: https://github.com/kubernetes-sigs/krew/

27. Ksniff

kubectl的一个插件,有效利用 Wiresharktcpdump启动Kubernetes集群Pod的远程捕获。

链接: https://github.com/eldadru/ksniff

28. Kube-ps1

Kube-ps1是Zsh插件,它将帮助你查看要指定的上下文。

链接: https://github.com/jonmosco/kube-ps1

29. eksctl

Eksctl是用于创建和管理集群升级的简单命令行界面工具。

还支持配置和使用自定义Amazon Machine Image(AMI),这使许多高级用例成为可能,例如使用自定义AMI或实时查询AWS以确定哪个AMI是必需的。

链接: https://eksctl.io/

30. Kubefwd

如果你正在远程集群上运行Kubernetes服务,请使用Kubefwd将其转发到本地工作站。

链接: https://github.com/txn2/kubefwd

31. Kubeterminal

这更多是一个辅助工具,可以补充Kubectl和Kubernetes中的终端。

链接: https://github.com/samisalkosuo/kubeterminal

32. Skaffold

Skaffold是一个命令行工具,可帮助开发人员进行持续的Kubernetes应用程序开发。Skaffold非常轻巧,不需要集群组件。

链接: https://skaffold.dev/

33. Tilt

当你将大部分时间花在命令行上时,Tilt会将你的更改同步到集群,以供你查看迭代如何影响整体。

随着一切的旋转,Tilt向你显示每种资源的状态,浏览每种资源的日志,或查看所有资源的复用状态。所有更新都是在容器中完成的,并且超级快。

链接: https://tilt.dev/

开发工具

34. Helm-2to3

创建了一个Helm V3插件,以帮助开发人员迁移和清理在Helm V2中创建的配置,并就地发布到Helm V3。

链接: https://github.com/helm/helm-2to3

35. Rook

Rook可以自动执行存储管理员的任务:部署,引导,配置,供应,扩展,升级,迁移,灾难恢复,监视和资源管理 。

它还可以确保无论你选择哪种存储提供商,它都能在Kubernetes上始终运行。

链接: https://rook.io/

36. Contour

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

链接: https://projectcontour.io/

37. Kubebuilder

这将帮助你链接到Kubernetes API指南,从而使你深入了解如何设计和实现它们。

链接: https://book.kubebuilder.io/

38. Shell-operator

Shell Operator有助于简化Kubernetes运算符的创建。

链接: https://github.com/flant/shell-operator

39. Helm-operator-get-started

一种有助于管理你的Helm版本的工具。

链接: https://github.com/fluxcd/helm-operator-get-started

40. Kudo

Kudo是一个工具包,主要使用YAML简化了构建Kubernetes Operators的过程。它将为你提供预定义的 Operators ,你可以直接对其进行自定义。

链接: https://kudo.dev/

41. Helm-docs

该工具将从Helm charts 自动其生成 markdown 文件。该文件将包含有关charts 的元数据。

链接: https://github.com/norwoodj/helm-docs

持续集成/持续交付管道

42. Rafay

Rafay是一种软件工具,可以简化公司或个人在构建内部平台,自动化框架和应用程序生命周期管理方面的工作。它还可以运行Kubernetes集群。

链接: https://rafay.co/

43. Rancher

Rancher是一个完整的软件平台,可以轻松部署容器化环境,而不仅仅是Kops和Kubespray等Kubernetes安装程序。

该平台提供了多种功能,包括基础架构管理,容器调度/编排,监视/运行状况检查/日志记录以及功能强大的基于角色的访问控制系统。

链接:https://rancher.com/

44. Draft

其目标是简化在Kubernetes上运行的应用程序的构建。使用两个简单的命令,你就可以开始入侵基于容器的应用程序, 甚至不需要Docker或Kubernetes。

链接: https://draft.sh/

Serverless工具

45. Knative

Knative是一个基于Kubernetes的开源平台,它提供了一组构建模块,以简化Kubernetes和Istio在管理和操作Lambda函数方面的使用。

链接: https://cloud.google.com/knative/

服务网格工具

46. Kiali

Kiali帮助开发人员观察,定义和验证服务网格的连接。

它创建服务网格拓扑的可视化图形,并提供对断路器,请求路由,等待时间,断路器等功能。

链接:https://www.kiali.io/documentation/features/

47. Kuma

一个通用的开源服务网格和微服务控制面板,可以在VM环境和Kubernetes上运行。

链接: https://github.com/Kong/kuma

48. Tenkai

Tenkai是基于Helm Charts的微服务管理工具。该工具使用Web GUI界面从Helm Charts调出存储库,轻松配置和部署它们。

链接: https://github.com/softplan/tenkai

服务发现

49. Vert.X 服务发现

大量服务发现工具的存储库,使用Vert.X来发现和注册和公开的服务应用程序。服务也可以来自Kubernetes、Docker和 Consul 上。

链接: https://github.com/vert-x3/vertx-service-discovery

可视化和控制

50. Octant

一个基于Web的开源工具,可让Kubernetes工作负载可视化,并为你提供工作负载的实时更新查看。

链接: https://octant.dev/

51. Kubernetic

Kubernetic提供了–集群和更新实时可视化查看,以及支持多个集群的功能等。

链接:https://kubernetic.com/


译文链接: https://dzone.com/articles/50-useful-kubernetes-tools-list-part-2

K8S中文社区微信公众号

评论 2

登录后评论

立即登录  

  1. #2

    kubens,可以切换到不同的namespace

    xxxx4年前 (2020-04-29)
  2. #1

    总结得不错

    currycan4年前 (2020-05-15)