在短短两年的时间里,Kubernetes在集装箱管道战场上给其竞争对手带来了浪费。令人遗憾的是,Docker Swarm自2016年以来并未成为主要的竞争者,并且像AWS一样,承诺通过承诺K8的支持和整合而失败。
由于Kubernetes作为首选的容器解决方案已经大受欢迎,因此这里列出了所有补充K8的工具,以进一步增强您的开发工作。
Kube群集部署工具
1. Kubespray
Kubespray为Kubernetes部署和配置提供了一组Ansible角色。Kubespray可以使用AWS,GCE,Azure,OpenStack或裸机基础架构即服务(IaaS)平台。Kubespray是一个开源项目,具有开放的开发模型。对于已经了解Ansible的人来说,该工具是一个不错的选择,因为不需要使用其他工具进行配置和编排。Kubespray在引擎盖下使用kubeadm。
链接:https://github.com/kubernetes-incubator/kubespray
费用:免费
2. Minikube
Minikube允许您在本地安装和试用Kubernetes。该工具是Kubernetes勘探的良好起点。在笔记本电脑上的虚拟机(VM)中轻松启动单节点Kubernetes群集。Minikube适用于Windows,Linux和OSX。在短短的5分钟内,您将可以探索Kubernetes的主要特色。只需一个命令即可直接启动Minikube仪表板。
链接:https://github.com/kubernetes/minikube
费用:免费
3. Kubeadm
Kubeadm是自1.4版以来的Kubernetes分发工具。该工具有助于在现有基础架构上引导最佳实践Kubernetes集群。但Kubeadm无法为您提供基础设施。它的主要优点是能够在任何地方发布最小的可行Kubernetes集群。但是,附加组件和网络设置都不属于Kubeadm的范围,因此您需要手动或使用其他工具进行安装。
链接:https://github.com/kubernetes/kubeadm
费用:免费
4. Kops
Kops可以帮助您从命令行创建,销毁,升级和维护生产级,高可用性的Kubernetes集群。亚马逊网络服务(AWS)目前正式受到支持,GCE处于测试版支持状态,而alpha vSphere中的VMware vSphere以及其他平台支持计划得到支持。Kops允许您控制完整的Kubernetes集群生命周期; 从基础架构配置到集群删除。
链接:https://github.com/kubernetes/kops
费用:免费
5. Bootkube
CoreOS提供了1.4版本的自托管Kubernetes集群的概念。在自托管集群方法的中心是Bootkube。Bootkube可帮助您设置临时Kubernetes控制平面,该平面将一直运行,直到自托管控制平面能够处理请求。
链接:https://github.com/kubernetes-incubator/bootkube
费用:免费
6. AWS上的Kubernetes(Kube-AWS)
Kube-AWS是CoreOS提供的控制台工具,它使用AWS CloudFormation部署功能齐全的Kubernetes集群。Kube-AWS允许您部署传统的Kubernetes集群,并使用本机AWS功能(例如,ELB,S3和Auto Scaling等)自动配置每个K8s服务。
链接:https://github.com/kubernetes-incubator/kube-aws
费用:免费
7. SimpleKube
SimpleKube是一个bash脚本,允许您在Linux服务器上部署单节点Kubernetes集群。虽然Minikube需要一个虚拟机管理程序(VirtualBox,KVM),但SimpleKube会将所有K8s二进制文件安装到服务器本身。Simplekube在Debian 8/9和Ubuntu 16.x / 17.x上进行了测试。这是第一次尝试Kubernetes的好工具。
链接:https://github.com/valentin2105/Simplekube
费用:免费
8. Juju
Juju是Canonical的一名协调员,可让您远程操作云提供商解决方案。Juju的工作抽象级别高于Puppet / Ansible / Chef,并且管理服务而不是机器/虚拟机。Canonical努力在生产中提供他们称之为合适的“Kubernetes-core bundle”。Juju可作为专用工具使用,具有自己的控制台/ UI界面,也可作为服务(JaaS),在测试期间免费提供。
链接:https://jujucharms.com/
费用:
社区版-免费
商业版 - 每年200美元
9. Conjure-up
Conjure-up是另一款Canonical产品,它允许您使用一些简单的命令部署“Kubernetes在Ubuntu上的规范分布”。它支持AWS,GCE,Azure,Joyent,OpenStack,VMware,裸机和localhost部署。Juju,MAAS和LXD是Conjure-up的基础技术。
链接:https://conjure-up.io/
费用:免费
监控工具
10. Kubebox
Kubebox是Kubernetes集群的终端控制台,允许您使用漂亮的旧式界面管理和监控集群实时状态。Kubebox显示您的pod资源使用情况,群集监视和容器日志等。此外,您可以轻松导航到所需的命名空间并执行到所需的容器,以便快速排除故障/恢复。
链接:https://github.com/astefanutti/kubebox
费用:免费
11. Kubedash
Kubedash为Kubernetes提供性能分析UI。Kubedash汇总并汇总来自不同来源的指标,并为管理员提供高级分析数据。Kubedash使用Heapster作为数据源,默认情况下在所有Kubernetes集群中作为服务运行,为各个容器收集指标和分析。
链接:https://github.com/kubernetes-retired/kubedash
费用:免费
12. Kubernetes运营视图(Kube-ops-view)
Kube-ops-view是一个用于多个K8群集的只读系统仪表板。使用Kube-ops-view,您可以轻松地在群集和监控节点之间导航,以及您的pod的健康状况。Kube-ops-view可以动画一些Kubernetes进程,例如pod创建和终止。它还使用Heapster作为数据源。
链接:https://github.com/hjacobs/kube-ops-view
费用:免费
13. Kubetail
Kubetail是一个小型bash脚本,允许您将来自多个pod的日志聚合到一个流中。最初的Kubetail版本没有过滤或突出显示功能,但Github上还有一个额外的Kubetail版本。这可以使用多尾工具形成和执行日志着色。
链接:https://github.com/johanhaleby/kubetai
14. Kubewatch
Kubewatch是一名Kubernetes观察员,可以将K8s活动发布到团队沟通应用程序Slack。Kubewatch作为Kubernetes集群内的pod运行,并监视系统中发生的变化。您可以通过编辑配置文件来指定要接收的通知。
链接:https://github.com/bitnami-labs/kubewatch
费用:免费
15. Weave Scope
Weave Scope是Docker和Kubernetes集群的故障排除和监视工具。它可以自动生成应用程序和基础架构拓扑,可以帮助您轻松识别应用程序性能瓶颈。您可以将Weave Scope部署为本地服务器/笔记本电脑上的独立应用程序,也可以选择Weave Cloud上的Weave Scope软件即服务(SaaS)解决方案。使用Weave Scope,您可以使用名称,标签和/或资源消耗轻松地对容器进行分组,过滤或搜索。
链接:https://www.weave.works/oss/scope/
成本:独立模式下免费
标准模式 - 每月30%(30天免费试用)
企业模式 - 每个节点/月150美元
16. Searchlight
AppsCode的Searchlight是Icinga的Kubernetes运营商。Searchlight会定期对Kubernetes群集执行各种检查,并在出现问题时通过电子邮件,短信或聊天提醒您。Searchlight包含专门为Kubernetes编写的默认检查套件。此外,它还可以通过外部黑盒监控增强Prometheus监控,并在内部系统完全失效的情况下作为后备。
链接:https://github.com/appscode/searchlight
费用:免费
17. Heapster
Heapster为Kubernetes提供容器集群监控和性能分析。Heapster本身支持Kubernetes,可以在所有K8s设置上作为pod运行。然后可以将Heapster的数据推送到可配置的后端进行存储和可视化。
链接:https://github.com/kubernetes/heapster
费用:免费
测试
18. Kube-monkey
Kube-monkey是Kubernetes版本的Netflix的Chaos Monkey。Kube-monkey是一种遵循混沌工程原理的工具。它可以随机删除K8s pod,检查服务是否具有故障恢复能力,并有助于提高系统的健康性。Kube-monkey也由TOML文件配置,您可以在其中指定要杀死的应用程序以及何时练习恢复策略。
链接:https://github.com/asobti/kube-monkey
费用:免费
19. K8s-testsuite
K8s-testsuite由2个Helm图组成,可用于网络带宽测试和单个Kubernetes集群的负载测试。负载测试模拟带有loadbots的简单Web服务器,这些服务器作为基于Vegeta的Kubernetes微服务运行。网络测试在内部使用iperf3和netperf-2.7.0并运行三次。这两组测试都会生成包含所有结果和指标的综合日志消息。
链接:https://github.com/mrahbar/k8s-testsuite
费用:免费
20. Test-infra
Test-infra是用于Kubernetes测试和结果验证的工具集合。Test-infra包括一些仪表板,用于显示历史记录,聚合故障以及显示当前正在测试的内容。您可以通过创建自己的测试作业来增强测试 - infra套件。Test-infra可以使用Kubetest工具对不同提供商的完整Kubernetes生命周期仿真进行端到端Kubernetes测试。
链接:https://github.com/kubernetes/test-infra
费用:免费
21. Sonobuoy
Sonobuoy允许您通过以可访问和非破坏性方式运行一组测试来了解您当前的Kubernetes集群状态。Sonobuoy生成信息报告,其中包含有关群集性能的详细信息。Sonobuoy支持Kubernetes 1.8及更高版本。Sonobuoy Scanner是一个基于浏览器的工具,它允许您通过几次单击测试Kubernetes集群,但CLI版本有更多的测试可用。
链接:https://github.com/heptio/sonobuoy
费用:免费
22. PowerfulSeal
PowerfulSeal是一种类似于Kube-monkey的工具,遵循混沌工程原理。PowerfulSeal可以杀死pod并从群集中删除/添加VM。与Kube-monkey相比,PowefulSeal具有交互模式,允许您手动中断特定的群集组件。此外,PowefulSeal除了SSH之外不需要外部依赖。
链接:https://github.com/bloomberg/powerfulseal
费用:免费
安全
23. Trireme
Trireme是Kubernetes网络政策的灵活而直接的实施。Trireme适用于任何Kubernetes集群,允许您管理来自不同集群的pod之间的流量。Trireme的主要优点是不需要任何集中的策略管理,能够轻松组织部署在Kubernetes中的两种资源的交互,以及缺乏SDN,VLAN标记和子网的复杂性(Trireme使用传统的L3-网络)。
链接:https://github.com/aporeto-inc/trireme-kubernetes
费用:免费
24. Aquasec
Aquasec为Kubernetes部署提供完整的生命周期安全性。Aqua Security在每个容器实例上部署专用代理,该实例用作防火墙并阻止容器中的安全漏洞。此代理与中央Aqua Security控制台进行通信,该控制台强制执行已定义的安全限制。Aqua Security还有助于为云和内部部署环境组织灵活的安全交付管道。Kube-Bench是AquaSec发布的一个开源工具,它根据CIS Kubernetes Benchmark中列出的一长串测试列表检查Kubernetes环境。
链接:https://www.aquasec.com/
费用:每次扫描0.29美元
25. Twistlock
Twistlock是另一种工具,可用作“云原生应用程序防火墙”,并分析容器和服务之间的网络流量。Twistlock能够分析标准容器行为并根据此行为生成适当的规则,以便管理员不必手动生成策略规则。Twistlock还支持2.2版本的Kubernetes CIS基准测试。
链接:https://www.twistlock.com/
费用:每个许可证每年1700美元(免费试用)
26. Sysdig Falco
Sysdig Falco是一种行为活动监视器,旨在检测应用程序中的异常活动。Falco基于Sysdig项目,这是一个开源工具(现在是商业服务),用于通过跟踪内核系统调用来监控容器性能。Falco允许您使用一组规则持续监视和检测容器,应用程序,主机和网络活动。
链接:https://sysdig.com/opensource/falco/
成本:免费作为独立工具
基本云:每月20美元(免费试用)
Pro Cloud:每月30美元
专业软件:定制价格
27. Sysdig Secure
Sysdig Secure是Sysdig Container Intelligence Platform的一部分,具有无与伦比的容器可见性和与容器编排工具的深度集成,开箱即用。其中包括Kubernetes,Docker,AWS ECS和Apache Mesos。使用Sysdig Secure,您可以实施服务感知策略,阻止攻击,分析历史记录以及监控群集性能。Sysdig Secure可作为云和内部部署软件提供。
链接:https://sysdig.com/product/secure/
成本:免费作为独立工具
Pro Cloud:定制价格
专业软件:定制价格
28. Kubesec.io
Kubesec.io是一项服务,允许您为Kubernetes资源评分以获取安全功能。Kubesec.io根据Kubernetes安全性最佳实践验证资源配置。因此,您将获得有关如何提高整体系统安全性的全面控制和其他建议。该网站还包含大量与容器和Kubernetes安全相关的外部链接。
链接:https://kubesec.io/
费用:免费
有用的CLI工具
29. Cabin
Cabin用作移动仪表板,用于远程管理Kubernetes集群。借助Cabin,用户可以快速管理应用程序,扩展部署,并通过Android或iOS设备对整个K8群集进行故障排除。Cabin是K8s集群运营商的理想工具,因为它允许您在发生事故时执行快速补救措施。
链接:https://github.com/bitnami-labs/cabin
费用:免费
30. Kubectx / Kubens
Kubectx是一个小型开源实用工具,可以增强Kubectl功能,可以轻松切换上下文并同时连接到几个Kubernetes集群。Kubens允许您在Kubernetes命名空间之间导航。这两个工具在bash / zsh / fish shell上都有自动完成功能。
链接:https://github.com/ahmetb/kubectx
费用:免费
31. Kube-shell
使用kubectl时,Kube-shell可提高您的工作效率。Kube-shell启用命令自动完成和自动建议。此外,Kube-shell将提供有关已执行命令的在线文档。Kube-shell甚至可以在错误输入时搜索和更正命令。它是提高K8s控制台性能和工作效率的绝佳工具。
链接:https://github.com/cloudnativelabs/kube-shell
费用:免费
32. Kail
Kail是Kubernetes尾巴的缩写,适用于Kubernetes集群。使用Kail,您可以为所有匹配的pod添加Docker日志。Kail允许您按服务,部署,标签和其他功能过滤pod。如果Pod符合条件,则会在启动后自动添加(或删除)到日志中。
链接:https://github.com/boz/kail
费用:免费
开发工具
33. Telepresence
远程呈现提供了通过Kubernetes环境中的代理数据本地调试Kubernetes集群到本地进程的可能性。远程呈现能够为本地代码提供对Kubernetes服务和AWS / GCP资源的访问,因为它将部署到群集。通过远程呈现,Kubernetes将本地代码视为群集中的普通pod。
链接:https://www.telepresence.io/
费用:免费
34. Helm
Helm是Kubernetes的包裹经理。它就像APT / Yum / Homebrew,但对于Kubernetes。Helm与Char一起运行,Char是构成分布式应用程序的Kubernetes资源清单的归档集。您可以通过创建Helm图表来共享您的应用程序。Helm允许您创建可重现的构建并轻松管理Kubernetes清单。
链接:https://github.com/kubernetes/helm
费用:免费
35. Keel
Keel允许您自动执行Kubernetes部署更新,并可以在专用命名空间中作为Kubernetes服务启动。通过这种组织,Keel为您的环境带来了最小的负载,并增加了显着的稳健性。Keel通过标签,注释和图表帮助部署Kubernetes服务。您只需为每个部署或Helm版本指定更新策略。一旦新的应用程序版本在存储库中可用,Keel将自动更新您的环境。
链接:https://keel.sh/
费用:免费
36. Apollo
Apollo是一个开源应用程序,为团队提供自助UI,用于创建和部署Kubernetes服务。Apollo允许操作员只需单击一下即可查看日志并将部署恢复到任何时间点。Apollo具有灵活的部署权限模型。每个用户只能部署他需要部署的内容。
链接:https://github.com/logzio/apollo
费用:免费
37. Draft
草稿是Azure团队提供的工具,可简化应用程序开发和部署到任何Kubernetes集群。草稿在代码部署和代码提交之间创建“内部循环”,这显着加快了变更验证过程。使用Draft,开发人员可以准备应用程序Dockerfiles和Helm图表,并使用两个命令将应用程序部署到远程或本地Kubernetes集群。
链接:https://github.com/azure/draft
费用:免费
38. Deis Workflow
Deis Workflow是一个开源工具。平台即服务(PaaS)在Kubernetes集群之上创建了额外的抽象层。这些层允许您在没有开发人员特定领域知识的情况下部署和/或更新Kubernetes应用程序。工作流基于Kubernetes概念构建,以提供简单,易于开发人员的应用程序部署。作为一组Kubernetes微服务提供,运营商可以轻松安装该平台。工作流程可以在零停机时间内部署新版本的应用程序。
链接:https://deis.com/workflow/
费用:免费
39. Kel
Kel是Eldarion公司的开源PaaS,它有助于在整个生命周期内管理Kubernetes应用程序。Kel在Kubernetes上提供了两个用Python和Go编写的附加层。级别0允许您配置Kubernetes资源,级别1可帮助您在K8上部署任何应用程序。
链接:http://www.kelproject.com/
费用:免费
持续集成/持续交付管道
40. Cloud 66
Cloud 66是一个完整的DevOps工具链,用于生产中的容器化应用程序,它通过专门的Ops工具自动化Devs的大部分繁重工作。该平台目前在Kubernetes上运行4,000个客户工作负载,并管理2,500行配置。通过提供端到端的基础架构管理,Cloud 66使工程师能够在任何云或服务器上构建,交付,部署和管理任何应用程序。
链接:www.cloud66.com
费用:14天免费
无服务器/功能工具
41. Kubeless
Kubeless是一个Kubernetes本机无服务器框架,允许您部署少量代码,而无需担心底层基础架构管道。Kubeless了解Kubernetes的开箱即用资源,还提供自动扩展,API路由,监控和故障排除。Kubeless完全依赖于K8s原语,因此Kubernetes用户也可以使用原生K8s API服务器和API网关。
链接:https://github.com/kubeless/kubeless
费用:免费
42. Fission
Fission是Kubernetes的快速无服务器框架,专注于开发人员的工作效率和高性能。Fission可在任何地方的Kubernetes集群上运行:在您的笔记本电脑上,在任何公共云中,或在私有数据中心。您可以使用Python,NodeJS,Go,C#或PHP编写函数,并使用Fission将其部署在K8s集群上。
链接:https://fission.io/
费用:免费
43. Funktion
很长一段时间,Kubernetes只有一个功能即服务(FaaS)实现:Funktion。Funktion是一个为Kubernetes设计的开源事件驱动的lambda式编程模型。Funktion与fabric8平台紧密结合。使用Funktion,您可以创建从200多个事件源订阅的流来调用您的功能,包括大多数数据库,消息传递系统,社交媒体以及其他中间件和协议。
链接:https://github.com/funktionio/funktion
费用:免费
44. IronFunction
IronFunctions是一个开源的无服务器平台或FaaS平台,您可以在任何地方运行。IronFunction是在Golang上编写的,并且真正支持任何语言的函数。IronFunction的主要优点是它支持AWS Lambda格式。直接从Lambda导入函数并在任何地方运行它们。
链接:https://github.com/iron-io/functions
费用:免费
45. OpenWhisk
Apache OpenWhisk是一个由IBM和Adobe驱动的强大的开源-FaaS平台。OpenWhisk可以部署在本地内部部署设备上,也可以部署在云上。Apache OpenWhisk的设计意味着它充当异步且松散耦合的执行环境,可以针对外部触发器运行函数。OpenWhisk在Bluemix上作为SaaS解决方案提供,或者您可以在本地部署基于Vagrant的VM。
链接:https://console.bluemix.net/openwhisk/
费用:免费
46. OpenFaaS
OpenFaaS框架旨在管理Docker Swarm或Kubernetes上的无服务器功能,它将收集和分析各种指标。您可以在函数内打包任何进程并使用它,无需重复编码或任何其他例行操作。FaaS具有Prometheus指标,这意味着它可以根据需求自动调整功能。FaaS本身支持基于Web的界面,您可以在其中试用您的功能。
链接:https://github.com/openfaas/faas
费用:免费
47. Nuclio
Nuclio是一个无服务器项目,旨在进行高性能事件和大量数据。Nuclio可以作为独立库在内部部署设备上启动,也可以在VM / Docker容器内启动。此外,Nuclio支持开箱即用的Kubernetes。Nuclio提供实时数据处理,具有最大的并行性和最小的开销。您可以在操场页面上试用Nuclio。
链接:https://github.com/nuclio/nuclio
费用:免费
48. Virtual-Kubelet
Virtual Kubelet是一个开源的Kubernetes Kubelet实现,它伪装成一个kubelet,用于将Kubernetes连接到其他API。Virtual Kubelet允许节点由其他服务(如ACI,Hyper.sh和AWS等)提供支持。此连接器具有可插入的体系结构,可直接使用Kubernetes原语,使其更容易构建。
链接:https://github.com/virtual-kubelet/virtual-kubelet
费用:免费
49. Fnproject
Fnproject是一个容器本机无服务器项目,它几乎支持任何语言,几乎可以在任何地方运行。Fn是在Go上编写的,因此它具有性能和轻量级。Fnproject支持AWS Lambda格式样式,因此您可以轻松导入Lambda函数并使用Fnproject启动它。
链接:http://fnproject.io/
费用:免费
本机服务发现
50. CoreDNS
CoreDNS是一组用Go编写的插件,用于执行DNS功能。带有额外Kubernetes插件的CoreDNS可以取代默认的Kube-DNS服务,并实现为Kubernetes基于DNS的服务发现定义的规范。CoreDNS还可以侦听通过UDP / TCP,TLS和gRPC传入的DNS请求。
链接:https://coredns.io/
费用:免费
原生可视化与控制
51. Kubernetes仪表板
Kubernetes Dashboard是Kubernetes集群的基于Web的通用UI。使用本机仪表板对K8群集进行故障排除和监控要容易得多。您需要在计算机和Kubernetes API服务器之间创建安全代理通道才能访问仪表板。本机Kubernetes仪表板依赖于Heapster数据收集器,因此它也需要安装在系统中。
链接:https://github.com/kubernetes/dashboard#kubernetes-dashboard
费用:免费
这就是完整的清单!
原文标题《50 Useful Kubernetes Tools》
作者:Stefan Thorpe
译者:February
不代表云加社区观点,更多详情请查看原文链接