2019年20+个Kubernetes工具盘点

如题所述

第1个回答  2022-08-27

Kube集群部署工具

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

使用成本:免费

12. Twistlock

链接:

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

使用成本:免费

开发工具

链接:

https://www.telepresence.io/

使用成本:免费

Helm是一款适用于Kubernetes的软件包管理器。其与APT/Yum/Homebrew类似,但作用对象为Kubernetes。Helm使用Char实现运行,而Char是一套用于为分布式应用程序构建Kubernetes资源清单的归档集。用户可通过创建Helm图表来实现应用程序共享。此外,Helm允许用户创建可重复的构建模式,并通过简单方式管理Kubernetes清单。

链接:

https://github.com/kubernetes/helm

使用成本:免费

Keel允许用户自动执行Kubernetes部署更新,并能够在专用命名空间内以Kubernetes服务的形式进行启动。通过这样的组织方式,Keel可尽可能降低环境中的额外负载水平,并显著提升鲁棒性。此外,Keel可通过标签、注释以及图表强化Kubernetes服务。因此,用户只需为每个部署或Helm版本指定更新策略,即可在存储库中出现新的应用程序版本时,由Keel自动为其更新相关环境。

链接:https://keel.sh/

使用成本:免费

持续集成

无服务器/函数工具

Kubeless是一款Kubernetes原生无服务器框架,能够在无需底层基础设施的前提下部署少量代码。Kubeless能够快速识别Kubernetes资源,并据此提供自动扩展、API路由、监控与故障排除等功能。Kubeless完全依赖于Kubernetes基元,因此Kubernetes用户也可以配合使用原生Kubernetes API服务器与API网管。

链接:

https://github.com/kubeless/kubeless

使用成本:免费

Fission是一款针对Kubernetes的快速无服务器框架,专注于提升开发人员的生产力与性能水平。Fission能够运行于任何环境下的Kubernetes集群当中:笔记本电脑、任何公有云或私有数据中心。用户可使用Python、NodeJS、Go、C#或PHP编写函数,然后再使用Fission将相关函数部署到Kubernetes集群。

链接:

https://fission.io/

使用成本:免费

原生服务发现

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

使用成本:免费