若是你正在 Kubernetes 上工做,你的 SRE 和 Ops 团队须要正确的工具来确保Kubernetes集群的高可用和在其中运行的工做负载。这里咱们列出了10个开源Kubernetes工具来使得你的SRE和Ops团队更高效的达到他们的服务水平目标(SLA)。ios
Kube-ops-view为多个Kubernetes集群提供了一个通用的操做视图,对于SRE和Ops团队来讲这是一个方便的工具,Kube-ops-view提供只读的系统仪表。Kube-ops-view 提供了一些很是酷的特性:git
Cabin是一个Kubernetes 的原生的手机App仪表盘。Cabin UI是使用React Native,所以能够运行在 IOS和Android硬件上。它是一个移动助手,提供了细粒度操做来维护Kubernetes 资源。Cabin app作了触摸优化。例如,你能够经过一个左滑动来删除一个pod。你也能够经过一个手指滚动来扩展部署。
Cabin 的一些有趣的特性:github
若是你工做在多k8s 集群,kubectx是另一个必需要有的工具。Kubectx与kubens捆绑在一块儿,当你使用kubectl的时候,容许你在Kubernetes集群和命名空间之间切换。shell
kubectx 和 kubens支持在bash/zsh 环境经过 tab 来帮助你补全长的长下文名称。你不在须要记得完整的上下文名称。数据库
Kube-shell是一个和Kubernetes CLI集成的 Shell,它有一些很是漂亮的特性,好比:安全
Kube-prompt是另一个有自动补全特性的交互式Kubernetes客户端。它接受没有kubect前缀的命令。bash
另外,Kube-ps1是一个相似的脚本让你添加配置在kubectl的当前Kubernetes 上下文和命名空间到你的Bash/Zsh提示字符。服务器
最后,Kail是一个 Kubernetes tail。做为一个Kubernetes日志查看器,kail容许你使用选择器从匹配的pods流式的查看日志。网络
Kail - kubernetes 日志查看器架构
你能够基于标准的标签选择器匹配 pods,经过名字,经过服务,经过部署,等等。
Stern是另一个专一于 pods和 pods中容器的日志 tail 解决方案。使用 Stern,为了快速调试,结果是有颜色的。
Telepresence是一个开源的工具,可让你在本地调试服务,虽然该服务与它位于远程Kubernetes集群或者是远程云服务资源(如数据库)的依赖服务保持链接。
Telepresence 本地开发和和对远程Kubernetes 集群的调试。
就我的而言,我认为Telepresence有很大的潜力,对于运行在 Kubernetes 上的服务而言,Telepresence已是一个丰富的本地开发环境。在线调试是一个新事物,可是发展很快。
Weave Scope是一个Docker 和 Kubernetes的排错&监控工具。它为你的应用自动的构建逻辑拓扑以及基础设施,以便你的SRE和Ops团队能够直观的明白,监控,控制你的容器,基于应用的微服务。
除了拓扑视图,Weave Scope也提供了一个深刻视图,好比节点和进程之间的任何事情,包括部署,服务,副本集,pods 和容器。另外,你基于CPU和内存使用率应用过滤,或者是经过名字,标签,甚至路径使用搜索快速的找到节点类型,容器和进程。
PowerfulSeal 的灵感来源于 Chaos Monkey,由 Bloomberg 工程师团队开发。它能够给你的Kubernetes集群添加混乱,如杀掉目标的pods或者是节点。它以两个模式操做:交互式和自治的。
策略文件是以YAML 格式编写的,包含将被自治客户端执行的场景。
kube-monkey是用于Kubernetes集群的Netflix的Chaos Monkey
的另一种实现方式。它随机删除在Kubernetes集群中的pods,鼓励并验证恢复服务的开发。
Marmot是一个来自于谷歌的工做流执行引擎,用于处理SRE和Ops须要的工做流。它被设计为处理基础架构变动的工具,但它能够和Kubernetes一块儿使用。
它特别适用于那些有必定节奏,可能须要对健康进行状态检查的任何类型的操做。所以,好比,你正在使用大量实例发布一个新服务版本,这时你执行了一个增量在受控的发布(金丝雀发布)。
Ark 是一个用于管理从你的Kubernetes资源和卷作灾难恢复的工具。Ark提供一个简单而且鲁棒的方式来备份和从系列的检查点恢复Kubernetes资源和持久化的卷。备份文件被存储在一个对象存储服务(如,Amazon S3)。
Ark 确保你以一个高效的方式自动化如下场景:
Ark 附带一个集群服务(Ark server)和CLI(Ark 客户端),集群服务最重要的工做就是它运行全部的Ark控制器。Ark服务器执行实际的备份,校验,和把备份文件加载进云对象存储中。
Sysdig是一个容器排错工具,它能够捕获系统调用和来自于Linux内核的事件。简单的说,对于整个集群,Sysdig就是strace + tcpdump + htop + iftop + lsof + wireshark。
Sysdig Inspect是一个可视化经过Sysdig收集的数据的接口。Sysdig Inspect 使得SRE和Ops团队在容器排错和安全调查方面很方便。
Sysdig Falco 是另一个构建与Sysdig收集的数据基础之上的工具。Falco监控活动行为,它被设计为发现你应用中异常的活动。好比,使用Falco你能够发现活动,如:
Kubernetes 生态系统正在爆炸性增加。有大量的开源和商业工具能够帮助你更高效的操做非关键性的Kubernetes集群和服务。