摘要:渲染节点并显示其整体状态。 提供节点的工具提示信息。 充当日志查看器,允许您使用选择器显示匹配流中的日志。 日志查看器您可以根据名称、服务、部署等条件匹配标签。 轻松与您的团队合作进行容器故障排除和安全调查。
在使用 Kubernetes 时,SRE 和运营团队需要合适的工具来确保 Kubernetes 集群及其中运行的工作负载所需的高可用性。 在这里,我们列出了 10 个开源 Kubernetes 工具,可帮助 SRE 和运营团队更有效地实现服务级别目标 (SLA)。
Kube-ops-view
Kube-ops-view 为 SRE 和 Ops 团队提供了多个 Kubernetes 集群的通用操作视图。 Kube-ops-view 是一个有用的工具,提供只读系统工具。 Kube-ops-view 提供了一些非常好的功能。
在多个 Kubernetes 集群之间切换。
渲染节点并指示其总体状态(“就绪”)。
显示节点容量和资源使用情况(CPU、内存)。
指示 Pod 的状态(绿色:就绪/正在运行,红色:错误等)。
提供节点和 Pod 的工具提示信息。
创建和终止 Pod。
使用屏幕令牌在电视屏幕上提供仪表板。
Cabin
Cabin 是 Kubernetes 原生移动应用仪表板。 Cabin UI 使用 React Native,因此可以在 iOS 和 Android 硬件上运行。 它是一个移动助手,为维护 Kubernetes 资源提供细粒度的操作。 Cabin 应用程序针对触摸进行了优化。 例如,如果您向左滑动,删除 Pod。 您还可以用一根手指滚动来展开。
Cabin 的有趣功能:
对 Google Kubernetes Engine (GKE) 的无缝支持。 您可以直接在手机上的 GKE 集群上创建它。
早期支持帮助图表。 您可以浏览图表库并单击“Go”来运行图表。
访问 Pod 日志、按标签搜索资源、通过对已部署映像的更改触发滚动升级等等。
Kubectx
Kubectx 也是处理多个 k8s 集群时的必备工具。 Kubectx 与 kubens 捆绑在一起,因此您可以在使用 kubectl 时在 Kubernetes 集群和命名空间之间切换。
kubectx 和 kubens 支持 bash/zsh 环境中的制表符补全,这有助于补全长上下文名称。 您不再需要记住完整的上下文名称。
Kube-shell
Kube-shell 是一个与 Kubernetes CLI 集成的 shell。 它有一些非常酷的功能,包括:
命令自动完成、自我提示和在线文档。
使用向上和向下键盘命令来访问过去的命令执行。
从 kubeconfig 获取当前上下文并轻松切换集群/命名空间。
相关工具
Kube-prompt 是另一个具有自动完成功能的交互式 Kubernetes 客户端。 接受不带 kubect 前缀的命令。
此外,Kube-ps1 是一个类似的脚本,可以将使用 kubectl 配置的当前 Kubernetes 上下文和命名空间添加到 Bash/Zsh 提示符中。
最后,Kail 是 Kubernetes tail. 作为 Kubernetes 日志查看器,kail 允许您使用选择器从匹配的 pod 流式传输日志。
Kail - kubernetes 日志查看器
您可以根据标准标签选择器(例如名称、服务或部署)来匹配 pod。
Stern 是另一个日志尾部解决方案,专注于 Pod 和 Pod 内的容器。 Stern 对结果进行着色以便快速调试。
网真
网真是一种依赖远程 Kubernetes 集群或远程云服务资源(例如数据库)来保持连接的服务。
智真本地开发和远程Kubernetes集群调试。
我个人认为 Telepresence 具有巨大的潜力,并且已经是一个丰富的运行在 Kubernetes 上的服务的本地开发环境。 在线调试是一项新兴技术,但发展迅速。
Weave Scope
Weave Scope 是 Docker 和 Kubernetes 的调试和监控工具。 它自动为应用程序构建逻辑拓扑和基础设施,使 SRE 和运营团队能够直观地了解、监视和控制容器和基于应用程序的微服务。
除了拓扑视图之外,Weave Scope 还提供节点和进程之间所有内容的详细视图,包括部署、服务、副本集、pod 和容器。 您还可以根据 CPU 和内存使用情况进行过滤,并使用搜索按名称、标签甚至路径快速查找节点类型、容器和进程。
PowerfulSeal
PowerfulSeal 的灵感来自 Chaos Monkey,由 Bloom 开发。由 berg 工程师团队开发。 这可能会导致 Kubernetes 集群中断,包括杀死受影响的 Pod 和节点。 它以两种模式运行:交互模式和自主模式。
交互模式旨在允许您发现集群组件并手动停止它们以查看会发生什么。 适用于节点、pod、部署和命名空间。
自治模式读取可以包含任意数量的 Pod 和节点场景的策略文件。 每个场景都描述了集群上的匹配、过滤器和操作的列表。
策略文件以 YAML 格式编写,包含由自治客户端执行的场景。
相关工具
kube-monkey 是 Netflix 的 Chaos Monkey 用于 Kubernetes 集群的替代实现。 随机删除 Kubernetes 集群中的 Pod,以鼓励和验证恢复服务的开发。
Marmot
Marmot是Google的工作流执行引擎,用于处理SRE和Ops所需的工作流。 它被设计为处理基础设施变更的工具,但也可以与 Kubernetes 一起使用。
这特别适合任何一种有一定节奏、需要健康状态检查的操作。 举例来说,假设您要发布具有大量实例的服务的新版本,并执行增量受控发布(金丝雀发布)。
Ark
Ark 是一个用于管理 Kubernetes 资源和卷灾难恢复的工具。 Ark 提供了一种简单而强大的方法来从一组检查点备份和恢复 Kubernetes 资源和持久卷。 备份文件存储在对象存储服务(例如 Amazon S3)中。
方舟以高效的方式自动化执行以下场景:
提高灾难恢复TTR(响应时间)。
Kubernetes API 对象支持云服务器提供商之间的迁移。
复制生产环境的副本以设置开发和测试环境(+CI)。
Ark 自带集群服务(Ark 服务器)和 CLI(Ark 客户端)。 集群服务最重要的工作就是运行所有方舟控制器。 方舟服务器执行实际的备份、验证以及将备份文件加载到云对象存储中。
Sysdig
Sysdig 是一个容器调试工具,允许您从 Linux 内核捕获系统调用和事件。 简而言之,集群范围的 Sysdig 是 strace + tcpdump + htop + iftop + lsof + Wireshark。
Sysdig 用于物理机和虚拟机的操作系统级别。 安装在 Linux 内核上以捕获系统调用和其他操作系统事件。 Sysdig 还可以创建系统活动的跟踪文件。
相关工具
Sysdig Inspect 是一个用于可视化通过 Sysdig 收集的数据的界面。 Sysdig Inspect 使 SRE 和运营团队可以轻松进行容器故障排除和安全调查。
Inspect 的用户界面旨在直观地导航 Sysdig 捕获的数据,包括 Linux 系统上的系统、网络和应用程序活动。 Sysdig Inspect 可帮助您了解趋势、相关指标并大海捞针。 它包括旨在支持性能和安全调查以及深度容器查询的功能。
Sysdig Falco 是另一个基于 Sysdig 收集的数据构建的工具。 Falco 旨在监控应用程序中的活动行为并检测异常活动。 例如,您可以使用 Falco 来检测以下活动:
在容器内运行的脚本。
容器以私有模式运行。
容器安装在敏感主机上。
最终想法
Kubernetes 生态系统正在爆炸式增长。 有许多开源和商业工具可帮助您更有效地运行非关键 Kubernetes。集群和服务。
评论前必须登录!
注册