Kubernetes分类列表
Kube集群部署工具
监控工具
测试工具
安全工具
实用的CLI工具
开发工具
持续集成
无服务器/函数工具
原生服务发现
原生可视化与控制
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。该工具可为您提供试用体验以决定是否选用Kubernetes,且能够通过简单易操作的方式在笔记本电脑的虚拟机(VM)内启动一个单节点Kubernetes集群。此外,Minikube亦适用于Windows、Linux以及OSX,并且只需短短5分钟,就能够让您对Kubernetes的主要功能有所了解。最后,仅需一行命令即可启动Minikube仪表盘。
链接:
https://github.com/kubernetes/minikube
使用成本:免费
3. Kubeadm
Kubeadm是Kubernetes自版本1.4以来就默认使用的分发工具,该工具可帮助用户在现有的基础架构上体验Kubernetes的最佳实践。尽管如此,Kubeadm无法为开发人员配置基础设施。该工具的主要优势在于其可在任何环境下启动最小的可行Kubernetes集群。需要注意的是,Kubeadm内不含任何附加组件与网络设置,因此您需要手动或使用其他工具完成相关工具的安装。
链接:
https://github.com/kubernetes/kubeadm
使用成本:免费
4. Kubebox
Kubebox是一套用于Kubernetes集群的终端控制台,其能够让用户通过美观且经典的界面对集群实时状态进行管理与监控。Kubebox能够显示容器资源的使用情况、集群监控以及容器日志等。除此之外,用户还可借助Kubebox轻松导航到目标名称空间,并在目标容器中执行相关操作,借此以快速排除故障/恢复。
链接:
https://github.com/astefanutti/kubebox
使用成本:免费
5. Kubedash
Kubedash针对Kubernetes提供了一套性能分析UI。Kubedash汇集并总结不同来源的指标,并为管理员提供高级分析数据。Kubedash使用Heapster作为数据源,在默认情况下,该数据源会在所有Kubernetes集群中以服务形式运行,从而收集各个容器的量化指标。
链接:
https://github.com/kubernetes-retired/kubedash
使用成本:免费
6. Kubernetes Operational View (Kube-ops-view)
Kube-ops-view是一款面向多个Kubernetes集群的只读系统仪表板。用户可以通过Kube-ops-view在集群、监控节点以及pod健康状况之间轻松导航,且其还能够为部分进程提供动画效果——例如pod的创建与终止。此外,类似于Kubedash,Kube-ops-view也将Heapster作为其数据源。
链接:
https://github.com/hjacobs/kube-ops-view
使用成本:免费
测试工具7. Kube-monkey
Kube-monkey是Netflix公司旗下ChaosMonkey项目的Kubernetes版本。Kube-monkey是一款遵循混沌工程原理的工具,其可以随机删除Kubernetes pod,检查服务是否具备抗失效能力并帮助维持相关系统的健康运转。Kube-monkey也可经由TOML文件完成配置,而TOML文件不仅能够终止指定的应用程序,还可以决定恢复策略的执行时间。
链接:
https://github.com/asobti/kube-monkey
使用成本:免费
8. K8s-testsuite
K8s-testsuite由两个Helm图表组合而成,适用于网络带宽测试与单个Kubernetes集群的负载测试。负载测试模拟了带有loadbots的简单网页服务器,这些服务器可在Vegeta基础上以Kubernetes微服务的形式运行。网络测试则是在内部连续对iperf3与netperf-2.7.0运行三次。这两项测试都会生成涵盖全部结果与指标的综合日志信息。
链接:
https://github.com/mrahbar/k8s-testsuite
使用成本:免费
9. Test-infra
Test-infra是一套用于Kubernetes测试与结果验证的工具集合。Test-infra包括多种仪表板,分别用于显示历史记录、汇总故障以及当前正在测试的内容。用户可通过创建自定义测试作业以增强Test-infra套件。此外,Test-infra可在使用Kubetest的不同供应商平台上,通过模拟完整的Kubernetes生命周期实现端到端Kubernetes测试。
链接:
https://github.com/kubernetes/test-infra
使用成本:免费
安全工具10. Trireme
Trireme是一项灵活且直接的Kubernetes网络策略实现方案,其适用于任何Kubernetes集群,并允许用户管理不同集群内pod之间的流量。Tririme的主要优势在于其无需任何集中式策略管理,能够轻松实现Kubernetes中所部署的两种资源的彼此交互,并且无需配合任何复杂的SDN、VLAN标签以及子网(Trireme使用常规的L3-网络)。
链接:
https://github.com/aporeto-inc/trireme-kubernetes
使用成本:免费
11. Aporeto
Aporeto基于工作负载标识,加密和分布式策略为容器,微服务,云和遗留应用程序提供安全性。由于Aporeto策略独立于底层基础架构运行,因此可以跨Kubernetes集群或包含Kubernetes和非Kubernetes部署的混合环境启用安全策略。
链接:
https://www.aporeto.com/
费用:联系Aporeto进行演示
12. Twistlock
Twistlock是另一种可用于“云原生应用程序防火墙”的工具,且能够分析容器与服务之间的网络流量。Twistlock能够分析标准容器行为并据此生成适当的规则,这样一来,管理者将无需以手动方式生成策略规则。此外,Twistlock还支持Kubernete 2.2版本中的CISBenchmark。
链接:
https://www.twistlock.com/
使用成本:每份许可证每年1700美元起(试用版免费)。
实用的CLI工具13. Cabin
Cabin可作为Kubernetes集群远程管理的移动仪表板。用户可通过Cabin快速管理应用程序、扩展部署,并通过Android或iOS设备对整个Kubernetes集群实施故障排查。对于Kubernetes集群的运营者而言,Cabin无疑是一款强大的工具,其能够在故障发生时执行快速有效的补救措施。
链接:
https://github.com/bitnami-labs/cabin
使用成本:免费
14. Kubectx/Kubens
Kubectx是一款小型开源实用工具,其不仅能够增强Kubectl的功能表现,还能够轻松切背景,并同时与多个Kubernetes集群实现连接。另外,Kubens允许用户在Kubernetes命名空间之间进行导航。最后,这两款工具均可在bash/zsh/fishshell上提供自动补全功能。
链接:
https://github.com/ahmetb/kubectx
使用成本:免费
15. Kube-shell
Kube-shell能够在运行Kubectl时提升生产力。Kube-shell能够启用命令以实施自动补全与自动建议。此外,Kube-shell还能够提供有关执行命令的内嵌文档,其甚至还可以在输入错误时执行检索与纠正命令。因此,这是一款能够在Kubernetes控制台中改进性能与生产力的工具。
链接:
https://github.com/cloudnativelabs/kube-shell
使用成本:免费
开发工具16. Telepresence
Telepresence可将来自Kubernetes环境的数据转发至本地进程,进而在本地对Kubernetes集群进行调试。在本地代码被部署至目标集群之后,Telepresence可帮助其实现对Kubernetes服务与AWS/GCP资源的访问。在Telepresence的帮助下,Kubernetes能够将本地代码算作为集群中的常规pod进行计数。
链接:
https://www.telepresence.io/
使用成本:免费
17. Helm
Helm是一款适用于Kubernetes的软件包管理器。其与APT/Yum/Homebrew类似,但作用对象为Kubernetes。Helm使用Char实现运行,而Char是一套用于为分布式应用程序构建Kubernetes资源清单的归档集。用户可通过创建Helm图表来实现应用程序共享。此外,Helm允许用户创建可重复的构建模式,并通过简单方式管理Kubernetes清单。
链接:
https://github.com/kubernetes/helm
使用成本:免费
18. Keel
Keel允许用户自动执行Kubernetes部署更新,并能够在专用命名空间内以Kubernetes服务的形式进行启动。通过这样的组织方式,Keel可尽可能降低环境中的额外负载水平,并显著提升鲁棒性。此外,Keel可通过标签、注释以及图表强化Kubernetes服务。因此,用户只需为每个部署或Helm版本指定更新策略,即可在存储库中出现新的应用程序版本时,由Keel自动为其更新相关环境。
链接:https://keel.sh/
使用成本:免费
持续集成
19.Cloud 66
作为生产中容器化应用程序的完整DevOps工具链,Cloud 66通过专门的Ops工具自动化Devs的大部分繁重工作。该平台目前在Kubernetes上运行4,000个客户工作负载,并管理2,500行配置。通过提供端到端的基础架构管理,Cloud 66使工程师能够在任何云或服务器上构建,交付,部署和管理任何应用程序。
链接:www.cloud66.com
费用:14天免费
无服务器/函数工具20. Kubeless
Kubeless是一款Kubernetes原生无服务器框架,能够在无需底层基础设施的前提下部署少量代码。Kubeless能够快速识别Kubernetes资源,并据此提供自动扩展、API路由、监控与故障排除等功能。Kubeless完全依赖于Kubernetes基元,因此Kubernetes用户也可以配合使用原生Kubernetes API服务器与API网管。
链接:
https://github.com/kubeless/kubeless
使用成本:免费
21. Fission
Fission是一款针对Kubernetes的快速无服务器框架,专注于提升开发人员的生产力与性能水平。Fission能够运行于任何环境下的Kubernetes集群当中:笔记本电脑、任何公有云或私有数据中心。用户可使用Python、NodeJS、Go、C#或PHP编写函数,然后再使用Fission将相关函数部署到Kubernetes集群。
链接:
https://fission.io/
使用成本:免费
22. CoreDNS
CoreDNS是一套由Go编写而成且用于执行DNS功能的插件。带有附加Kubernetes插件的CoreDNS可替换默认的Kube-DNS服务并实现针对基于KubernetesDNS服务发现的规范定义。除此之外,CoreDNS还能够监听经由UDP/TCP、TLS与gRPC传入的DNS请求
链接:https://coredns.io/
使用成本:免费
原生可视化与控制23. Kubernetes Dashboard
KubernetesDashboard是一款具备Kubernetes集群通用性且基于Web的用户界面。使用这样一套本机仪表板,用户可通过更简便的方式对Kubernetes集群实施故障排查与监控。为此,用户需要在机器与KubernetesAPI服务器之间创建一条安全的通道以实现相关仪表板的访问。这款原生KubernetesDashboard依赖于Heapster数据收集器,因此您需要预先在目标系统当中安装Heapster数据收集器。
链接:https://github.com/kubernetes/dashboard#kubernetes-dashboard
使用成本:免费
以上就是完整清单!如果你想了解docker工具,可以查看我们的上篇文章!长按二维码 ▲
订阅「架构师小秘圈」公众号
如有启发,帮我点个在看,谢谢↓