【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

10 大工具汇总,多维度简化 Kubernetes 部署

  • 2020-04-23
  • 本文字数:3076 字

    阅读完需:约 10 分钟

10大工具汇总,多维度简化Kubernetes部署

Kubernetes 已经成为大规模部署经过编辑的应用程序的标准方法(许多人会说这是标准方法)。但是,如果 Kubernetes 可以帮助我们控制无序和复杂的经编辑的部署,那么有什么方法可以帮助我们控制 Kubernetes 呢?毕竟,它也可能是复杂、混乱和难以管理的。


随着 Kubernetes 的成长和演变,它的一些过度行为很可能会从内部得到控制。但是有些人并没有等到 Kubernetes 变得更容易使用,而是对生产中 Kubernetes 的许多常见问题推出了自己的解决方案。


在这里,我们重点介绍 10 个以各种方式简化 Kubernetes 的项目,从简化命令行交互,到简化应用程序部署语法,再到与 AWS 集成,再到为多个集群提供一个窗口。

目 录

  • Bitnami Cabin:适用于 iOS 和 Android 的 Kubernetes 面板

  • Kedge:简明的 Kubernetes 部署定义

  • Koki Short:可管理的 Kubernetes 密钥清单

  • Kops:Kubernetes 集群的命令行操作

  • Kubebox:Kubernetes 的终端控制台

  • Kube-monkey:Kubernetes 的 Chaos Monkey

  • Kube-ps1:智能 Kubernetes 命令提示符

  • Kube-prompt:交互式 Kubernetes 客户端

  • Kube-shell:用于 Kubernetes CLI 的 shell

  • Kubespy:实时监控 Kubernetes 资源

Bitnami Cabin:适用于 iOS 和 Android 的 Kubernetes 面板

任何现代 web 应用程序或服务都应该具有某种移动界面。Cabin 为 Kubernetes 管理员提供了一个版本的 Kubernetes 面板,可以通过 iOS 或 Android 智能手机访问。整个 Kubernetes 面板中提供的许多功能都可以从 Cabin 启动,包括 Helm 图表,扩展部署,读取 pod 日志以及访问 Kubernetes 托管的基于 Web 的应用程序。

Kedge:简明的 Kubernetes 部署定义

关于 Kubernetes 最常见的抱怨是它的清单(或应用程序定义)是多么复杂和冗长。编写它们是一件痛苦的事情,维护它们也是一件痛苦的事情,所以人们求助于第三方工具来缓解也就不足为奇了。Kedge 提供了更简单、更简洁的语法。向 Kedge 提供了 Kubernetes 定义文件的简单版本,Kedge 将该简单定义扩展为完整的 Kubernetes 对应文件。与 Koki Short(见下文)不同,Kedge 的声明文件不使用模块化语法,它只是将应用程序定义简化为通用的快捷方式。

Koki Short:可管理的 Kubernetes 密钥清单

Koki Short 类似上述的 Kedge 是一个改进应用程序定义或清单在 Kubernetes 中工作方式的项目。像 Kedge 定义一样,Short 定义使用缩写的语法来描述 Kubernetes pod,它可以被翻译成完整的语法,然后再返回。与 Kedge 定义不同,Short 定义也是模块化的,这意味着一个 Short 声明中的细节可以在其他声明中重用,这样就可以简单地定义具有公共元素的许多 pod。

Kops:Kubernetes 集群的命令行操作

Kops 由 Kubernetes 团队开发,允许您从命令行管理 Kubernetes 集群。它支持在 AWS 和 GCE 上运行的集群,VMware vSphere 和其他环境也在开发中。除了自动设置和拆卸过程之外,Kops 还可以帮助实现其他类型的自动化。例如,它可以生成 Terraform 配置,从而允许使用 Terraform 重新部署集群。

Kubebox:Kubernetes 的终端控制台

Kubebox 是 Kubernetes 的高级终端控制台,它为 Kubernetes 及其 API 提供的不仅仅是一个美化的命令行。它提供内存和 CPU 利用率的交互式显示、pod 列表、运行日志和配置编辑器。最重要的是,它可以作为 Linux、Windows 和 MaciOS 的独立应用程序使用。


Kube-monkey:Kubernetes 的 Chaos Monkey

对一个系统进行压力测试的一种万无一失的方法是随机打碎东西。这就是 Netflix 的 Chaos Monkey 背后的理论,这是一种混沌工程工具,可以随机终止生产中运行的虚拟机和本地编辑,以“鼓励”开发人员构建更具弹性的系统。Kube-monkey 是对压力测试 Kubernetes 集群的相同基本思想的实现。它的工作方式是在你指定的集群中随机破坏 pod,并且可以在特定的时间窗内进行微调。

Kube-ps1:智能 Kubernetes 命令提示符

Kube-ps1 不是面向 Kubernetes 的第一代索尼 PlayStation 仿真器(尽管这很棒)。它是 Bash 的一个简单添加,在提示符中显示当前的 Kubernetes 上下文和名称空间。Kube-shell 包括这个功能以及许多其他功能,但是如果您只想要更智能的提示符,Kube-ps1 所需开销很小。

Kube-prompt:交互式 Kubernetes 客户端

Kubernetes CLI 的另一个最小但有用的修改是 Kube-prompt,它允许您与 Kubernetes 客户机输入相当于交互式命令会话的内容。Kube-prompt 使您不必输入 kubectl 作为每个命令的前缀,并为每个命令提供上下文信息自动完成。

Kube-shell: Kubernetes CLI 的 Shell

Kubernetes 命令行功能强大,但与任何命令行应用程序一样,选择它的选项可能非常繁琐。Kube-shell 将标准的 Kubernetes 命令行包装在一个集成的 shell 中,该 shell 提供常见命令的自动完成和自动建议,包括 Kubernetes 服务器提供的建议(例如服务名称)。它还提供了更健壮的命令历史记录函数、vi 风格的编辑模式,以及用户、名称空间、集群和其他特定于安装的详细信息的运行上下文信息。

Kubespy:实时监控 Kubernetes 资源

Pulumi 的 Kubespy 是一个诊断工具,它允许您实时跟踪 Kubernetes 资源的变化,为您提供一种动态的文本视图面板。例如,您可以在启动 pod 时查看 pod 状态的更改:将 pod 定义写入 Etcd,计划在节点上运行 pod,在创建 pod 的节点上运行 Kubelet,最后将 pod 标记为 running。Kubespy 可以作为独立的二进制文件运行,也可以作为 Kubectl 的插件运行。

AWS 的 Kubernetes 入口控制器

Kubernetes 通过名为 Ingress 的服务向集群提供外部负载平衡和网络服务。Amazon Web Services 提供负载平衡功能,但不会自动将这些服务与 Kubernetes 的功能进行耦合。AWS 的 Kubernetes 入口控制器弥补了这一差距。入口控制器自动管理集群中每个入口对象的 AWS 资源,为新的入口资源创建负载平衡器,为已删除的资源删除负载平衡器,并利用 AWS 云形成来确保集群的一致状态。它还自动管理集群中使用的其他元素,如 SSL 证书和 EC2 自动伸缩群。


kube - os -view:用于多个 Kubernetes 集群的面板

Kubernetes 有一个用于通用监视的有用面板,但是 Kubernetes 社区正在尝试使用其他方法向 Kubernetes 管理员提供有用的数据。Kube-os-view 就是这样一个实验:它提供了多个 Kubernetes 集群的概览视图,以图形化的方式呈现,因此您可以一眼看到集群中 pod 的 CPU 和内存使用情况以及状态。注意,它不允许您调用任何命令,这完全是为了可视化。但是它提供的可视化效果是惊人的和有效的,这是可与操作中心的壁监视器完美结合。

Skaffold: Kubernetes 的迭代开发

Skaffold 是谷歌为 Kubernetes 开发的工具之一,是一种为 Kubernetes 应用程序执行连续部署的方法。当您对源代码进行更改时,Skaffold 会自动检测它们,触发构建和部署流程,并在出现错误时警告您。Skaffold 完全在客户端运行。它可以在现有的 CI/CD 渠道中使用,并与一些外部构建工具集成,主要是谷歌自己的 Bazel。

Stern 和 Kubetail: Kubernetes 的日志跟踪

Stern 允许您从 Kubernetes 中的 pod 和本地编辑中生成颜色编码的输出(根据 tail 命令)。这是一种将多个资源的所有输出管道传输到一个可以一眼读取的流中的快速方法。同时,您有一种一目了然的方法(颜色编码)来区分流。


Kubetail 类似地将来自多个 pod 的日志聚合到单个流中,并对不同 pod 和本地编辑进行颜色编码。但是 Kubetail 是一个 Bash 脚本,因此它只需要一个 shell。

Teresa:Kubernetes 的简单 PaaS

Teresa 是一个应用程序部署系统,在 Kubernetes 上作为简单的 PaaS 运行。组织成团队的用户可以部署和管理属于他们的应用程序。这使那些受给定应用程序信任的人更容易使用它,而不必直接处理 Kubernetes。


2020-04-23 17:22729

评论

发布
暂无评论
发现更多内容

我国一项物联网安全测试技术成为国际标准;Windows 10将支持安卓应用

京东科技开发者

关于敏捷开发的最佳实践和工具

PingCode

程序人生 敏捷开发 研发管理 管理工具 开发平台

还在手写Operator?是时候使用Kubebuilder了

Java架构师迁哥

【架构师训练营 1 期】第十二周学习总结

诺乐

ISP芯片:如何让数字之眼“看清”真实世界?

脑极体

领域驱动设计(DDD)实践之路(四):领域驱动在微服务设计中的应用

vivo互联网技术

架构 领域驱动设计 DDD 领域驱动设计DDD

《逻辑和计算机设计基础》第五版(英文原版)PDF免费下载

计算机与AI

计算机基础 计算机组成原理

新增原创标签相关改动

sean77

测试 个人 aa bb

新增原创标签相关改动

sean77

aa bb cc

【架构师训练营 1 期】第十二周作业

诺乐

以理性不断的崇敬 - 对DDD之后复杂业务软件系统设计的思考

冯文辉

领域驱动设计 DDD 架构设计

如何搭积木式的快速开发H5页面?

徐小夕

Java 大前端 React 数据可视化

京东智联云与CDA携手 共同打造电商领域数字化人才认证标准

京东科技开发者

大数据 数据分析 数据分析师

Spring Boot 过滤器

噜噜猫

Spring Boot

Java虚拟机科普系列—元空间Metaspace的内存结构

Java老k

Java JVM Java虚拟机 metaspace

架构师训练营第四周总结

Geek_xq

金融科技 | 建设中台能力,助力开放生态

xcbeyond

金融科技 中台战略 中台架构

生产环境全链路压测建设历程之九 淘宝网全链路压测的原理

数列科技杨德华

区块链发展前景广阔,要紧跟时代步伐

13828808769

区块链发展 时代发展

ReactNative | 项目复盘,涉及环境、RN版本升级、安全等方案

梁龙先森

大前端 混合应用开发 React Native

浅谈产品与项目之间的爱恨情仇

Sentinel 是如何做限流的

vivo互联网技术

高可用 限流 底层

访问者模式及其在Java Parser中的应用

maijun

数据类型· 第1篇《元组和列表的性能分析、命名元组》

清菡软件测试

测试开发

跨越“数字鸿沟”,日本老年智能化服务的解法

脑极体

从面试角度分析ArrayList源码

Java旅途

Java List 面试 ArrayList

FORSAGE智能合约矩阵系统软件APP开发

系统开发

时序数据库DolphinDB和TimescaleDB 性能对比测试报告

DolphinDB

大数据 分布式系统 时序数据库 DolphinDB 数据库开发

求求你,别再用wait和notify了!

王磊

Java

甲方日常 67

句子

工作 随笔杂谈 日常

Week_12 作业

golangboy

极客大学架构师训练营

10大工具汇总,多维度简化Kubernetes部署_文化 & 方法_Rancher_InfoQ精选文章