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插件并为你的程序安装/管理它们。此工具类似于 APT, DNF或 Homebrew。
链接:https://github.com/kubernetes-sigs/krew/
27. Ksniff
kubectl的一个插件,有效利用 Wireshark和 tcpdump启动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