为高效 Ops 和 SRE 团队准备的 10 个开源 k8s 工具

简介: 如果你正在 Kubernetes 上工作,你的 SRE 和 Ops 团队需要正确的工具来确保Kubernetes集群的高可用和在其中运行的工作负载。这里我们列出了10个开源Kubernetes工具来使得你的SRE和Ops团队更高效的达到他们的服务水平目标(SLA)。

如果你正在 Kubernetes 上工作,你的 SRE 和 Ops 团队需要正确的工具来确保Kubernetes集群的高可用和在其中运行的工作负载。这里我们列出了10个开源Kubernetes工具来使得你的SRE和Ops团队 更高效的达到他们的服务水平目标(SLA)。

Kube-ops-view

Kube-ops-view为多个Kubernetes集群提供了一个通用的操作视图,对于SRE和Ops团队来说这是一个方便的工具,Kube-ops-view提供只读的系统仪表。Kube-ops-view 提供了一些非常酷的特性:

  • 在多个Kubernetes 集群间切换。
  • 渲染节点并指明它们的总体状态(“Ready”)。
  • 展示节点的容量和资源利用率(CPU,内存)。
  • 指明pods的状态(绿色:ready/running,红色:error等)。
  • 为节点和pods提供工具提示信息。
  • pod创建和终止。
  • 使用屏幕令牌在TV屏幕上提供仪表盘。
此处输入图片的描述

Cabin

Cabin是一个Kubernetes 的原生的手机App仪表盘。Cabin UI是使用React Native,因此可以运行在 IOS和Android硬件上。它是一个移动助手,提供了细粒度操作来维护Kubernetes 资源。Cabin app做了触摸优化。例如,你可以通过一个左滑动来删除一个pod。你也可以通过一个手指滚动来扩展部署。

此处输入图片的描述
此处输入图片的描述
此处输入图片的描述
此处输入图片的描述
Cabin 的一些有趣的特性:
  • 无缝的支持 Google Kubernetes Engine (GKE),你可以直接在你的移动手机上创建 GKE集群。
  • 早期支持帮助图表,你可以浏览图表库,并且通过点击移动运行图表。
  • 访问 pod 日志,通过标签(label)搜索资源,通过改变你部署的镜像触发滚动升级等。

Kubectx

如果你工作在多k8s 集群,kubectx是另外一个必须要有的工具。Kubectx与kubens捆绑在一起,当你使用kubectl的时候,允许你在Kubernetes集群和命名空间之间切换。

此处输入图片的描述
此处输入图片的描述

kubectx 和 kubens支持在bash/zsh 环境通过 tab 来帮助你补全长的长下文名称。你不在需要记得完整的上下文名称。

Kube-shell

Kube-shell是一个和Kubernetes CLI集成的 Shell,它有一些非常漂亮的特性,比如:

  • 自动补全命令,自我提示,联机文档。
  • 通过使用 up/down 键盘命令访问历史命令的执行。
  • 从kubeconfig获取当前上下文,在 集群/命名空间之间非常容易的切换。
此处输入图片的描述

相关工具

Kube-prompt是另外一个有自动补全特性的交互式Kubernetes客户端。它接受没有kubect前缀的命令。

另外,Kube-ps1是一个类似的脚本让你添加配置在kubectl的当前Kubernetes 上下文和命名空间到你的Bash/Zsh提示字符。

最后,Kail是一个 Kubernetes tail。作为一个Kubernetes日志查看器,kail允许你使用选择器从匹配的pods流式的查看日志。

Kail - kubernetes 日志查看器

此处输入图片的描述

你可以基于标准的标签选择器匹配 pods,通过名字,通过服务,通过部署,等等。

Stern是另外一个专注于 pods和 pods中容器的日志 tail 解决方案。使用 Stern,为了快速调试,结果是有颜色的。

Telepresence

Telepresence是一个开源的工具,可以让你在本地调试服务,虽然该服务与它位于远程Kubernetes集群或者是远程云服务资源(如数据库)的依赖服务保持连接。

Telepresence 本地开发和和对远程Kubernetes 集群的调试。

此处输入图片的描述

就个人而言,我认为Telepresence有很大的潜力,对于运行在 Kubernetes 上的服务而言,Telepresence已经是一个丰富的本地开发环境。在线调试是一个新事物,但是发展很快。

Weave Scope

Weave Scope是一个Docker 和 Kubernetes的排错&监控工具。它为你的应用自动的构建逻辑拓扑以及基础设施,以便你的SRE和Ops团队可以直观的明白,监控,控制你的容器,基于应用的微服务。

此处输入图片的描述
此处输入图片的描述

除了拓扑视图,Weave Scope也提供了一个深入视图,比如节点和进程之间的任何事情,包括部署,服务,副本集,pods 和容器。另外,你基于CPU和内存使用率应用过滤,或者是通过名字,标签,甚至路径使用搜索快速的找到节点类型,容器和进程。

PowerfulSeal

PowerfulSeal 的灵感来源于 Chaos Monkey,由 Bloomberg 工程师团队开发。它可以给你的Kubernetes集群添加混乱,如杀掉目标的pods或者是节点。它以两个模式操作:交互式和自治的。

  • 交互式模式被设计为允许你发现你的集群组件,并且人工的停止一些事情看会发生什么。它操作在节点,pods,部署,和命名空间上。
  • 自治模式读取一个策略文件,可以包含任意数量的pod和节点的场景。每个场景描述了在集群上匹配,过滤,和行动的列表。

策略文件是以YAML 格式编写的,包含将被自治客户端执行的场景。

相关工具

kube-monkey是用于Kubernetes集群的Netflix的Chaos Monkey 的另外一种实现方式。它随机删除在Kubernetes集群中的pods,鼓励并验证恢复服务的开发。

Marmot

Marmot是一个来自于谷歌的工作流执行引擎,用于处理SRE和Ops需要的工作流。它被设计为处理基础架构变更的工具,但它可以和Kubernetes一起使用。

它特别适用于那些有一定节奏,可能需要对健康进行状态检查的任何类型的操作。因此,比如,你正在使用大量实例发布一个新服务版本,这时你执行了一个增量在受控的发布(金丝雀发布)。

Ark

Ark 是一个用于管理从你的Kubernetes资源和卷做灾难恢复的工具。Ark提供一个简单并且鲁棒的方式来备份和从系列的检查点恢复Kubernetes资源和持久化的卷。备份文件被存储在一个对象存储服务(如,Amazon S3)。

Ark 确保你以一个高效的方式自动化以下场景:

  • 减低灾难恢复的TTR(响应时间)。
  • Kubernetes API 对象提供跨云服务器商迁移。
  • 通过复制生产环境副本,开发和测试环境的设置(+CI)。

Ark 附带一个集群服务(Ark server)和CLI(Ark 客户端),集群服务最重要的工作就是它运行所有的Ark控制器。Ark服务器执行实际的备份,校验,和把备份文件加载进云对象存储中。

Sysdig

Sysdig是一个容器排错工具,它可以捕获系统调用和来自于Linux内核的事件。简单的说,对于整个集群,Sysdig就是strace + tcpdump + htop + iftop + lsof + wireshark。

  • Sysdig 在物理机和虚拟机的操作系统级别使用。通过安装进Linux内核,捕获系统调用和其他操作系统事件。Sysdig 也可以为系统活动创建trace文件。

相关工具

Sysdig Inspect是一个可视化通过Sysdig收集的数据的接口。Sysdig Inspect 使得SRE和Ops团队在容器排错和安全调查方面很方便。

  • Inspect的用户接口被设计为直观的导航Sysdig捕获的数据,包含系统,网络和一个Linux系统的应用活动。Sysdig Inspect帮助你明白趋势,相关性的指标,和大海捞针(从一堆数据中找到关键数据)。它包含了功能设计来支持性能和安全调查,深入容器查询。
此处输入图片的描述

Sysdig Falco 是另外一个构建与Sysdig收集的数据基础之上的工具。Falco监控活动行为,它被设计为发现你应用中异常的活动。比如,使用Falco你可以发现活动,如:

  • 运行在一个容器中的脚本。
  • 一个运行在私密模式的容器。
  • 一个挂载在敏感主机的容器。

最后的思考

Kubernetes 生态系统正在爆炸性增长。有大量的开源和商业工具可以帮助你更高效的操作非关键性的Kubernetes集群和服务。


本文转自掘金- 为高效 Ops 和 SRE 团队准备的 10 个开源 k8s 工具
相关实践学习
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
存储 运维 Kubernetes
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
飞轮科技推出了 Doris 的 Kubernetes Operator 开源项目(简称:Doris Operator),并捐赠给 Apache 基金会。该工具集成了原生 Kubernetes 资源的复杂管理能力,并融合了 Doris 组件间的分布式协同、用户集群形态的按需定制等经验,为用户提供了一个更简洁、高效、易用的容器化部署方案。
1297 16
正式开源,Doris Operator 支持高效 Kubernetes 容器化部署方案
|
Ubuntu Linux pouch
Docker容器管理工具
文章介绍了Docker容器管理工具,以及早期使用的LXC容器管理工具,包括它们的安装、使用和相关技术特点。
672 10
Docker容器管理工具
|
Linux pouch 容器
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
关于如何在CentOS 7.6操作系统上安装和使用阿里巴巴开源的Pouch容器管理工具的实战教程。
517 2
CentOS7部署阿里巴巴开源的pouch容器管理工具实战
|
Ubuntu 网络安全 容器
KubeSphere 是一个开源的容器平台,提供丰富的功能和便捷的操作界面,适用于企业容器化部署和管理
KubeSphere 是一个开源的容器平台,提供丰富的功能和便捷的操作界面,适用于企业容器化部署和管理。本文详细介绍了如何在 Ubuntu 22.04 上安装 KubeSphere,包括系统要求、安装依赖项、设置防火墙、下载安装脚本、选择安装选项、验证安装结果等步骤,并提供了常见问题的解决方法。希望本文能为读者提供实用的参考和帮助。
546 3
|
Kubernetes 安全 容器
关于K8s,不错的开源工具
【10月更文挑战第12天】
512 7
|
存储 Kubernetes Cloud Native
容器管理工具Containerd
容器管理工具Containerd
2878 2
|
Prometheus Kubernetes 监控
揭秘Kubernetes的秘密武器库:十大工具让你的容器编排如虎添翼!探索这些神秘而强大的工具,它们将如何彻底改变你的Kubernetes体验?
【8月更文挑战第19天】在容器世界里,Kubernetes是部署与管理容器化应用的首选平台。为了增强其功能,本文精选了十大必备工具:Helm简化复杂应用部署;Prometheus监控系统与应用指标;Grafana提供数据可视化;Fluentd统一日志管理;Envoy实现服务间通信与控制;Calico确保网络连接安全;CoreDNS提升DNS服务性能;Velero保障数据安全与迁移;Argo Workflows执行复杂工作流;Istio强化服务网格功能。这些工具覆盖部署、监控、日志等多个方面,助力提升Kubernetes的效率与稳定性。
398 3
|
Kubernetes 应用服务中间件 nginx
【赵渝强老师】Kubernetes命令行管理工具:kubectl
kubectl 是 Kubernetes 的命令行工具,用于管理和操作 Kubernetes 集群。本文通过视频讲解和具体示例,介绍了 kubectl 的常用命令,包括显示 Pod 信息、创建 Deployment 和 Service、更新和回滚 Deployment、以及删除资源等操作。
426 0
|
Kubernetes 监控 Shell
在K8S中,我们公司用户反应pod连接数非常多,希望看一下这些连接都是什么信息?什么状态?怎么排查?容器里面没有集成bash环境、网络工具,怎么处理?
在K8S中,我们公司用户反应pod连接数非常多,希望看一下这些连接都是什么信息?什么状态?怎么排查?容器里面没有集成bash环境、网络工具,怎么处理?
|
Kubernetes Cloud Native 开发者
基于 K8s 做应用发布的工具选择:Tekton,一颗璀璨的CI/CD新星!
【8月更文挑战第8天】在众多Kubernetes应用发布工具中,阿里巴巴为何青睐Tekton?Tekton“以应用为中心”的设计理念与阿里巴巴的技术哲学相契合,不仅关注代码构建部署,还覆盖应用全生命周期管理,完美融入阿里巴巴业务场景。Tekton提供灵活工作流定义、多平台支持及与Kubernetes生态无缝集成等功能,满足阿里巴巴复杂业务需求的同时赋予开发者更多灵活性。作为CNCF毕业项目,Tekton拥有活跃社区和不断壮大的生态系统,为阿里巴巴技术演进提供坚实基础。综上所述,阿里巴巴选择Tekton是一个深思熟虑且具前瞻性的决策。
647 0

推荐镜像

更多