写点什么

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:22856

评论

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

五分钟让你搞懂Nginx负载均衡原理及四种负载均衡算法

架构大数据双料架构师

锦囊篇|一文摸懂SharedPreferences和MMKV(二)

ClericYi

测试开发工程师修炼手册—测试技能大盘点

Zoe

测试工程师产出

简直了!顶级架构师分享心得,如何在项目中兼容多种数据库

犬来八荒

Java MySQL 数据库 面试

ARTS Week6

时之虫

ARTS 打卡计划

深入理解编译优化之循环展开和粗化锁

程序那些事

JIT 编译优化 循环展开 粗化锁

猿灯塔:疫情冲击,去体验远程面试被怼10分钟,今年Java开发找工作真难

猿灯塔

Redis分布式锁课堂开课了!

小闫

redis Spring Cloud Redis项目

高承实:区块链在新基建中的作用和未来发展

CECBC

新基建 政策扶持 技术特征 链上数据 产业场景

第四周

仪轩

我是如何解决邮件焦虑的

vinkyqy

效率 职场 邮件

一个简单的技术选型心得

i风语

Java 架构

Redis系列(五):你要的Redis集群搭建来了,实践与否你自己选!

z小赵

Java redis 分布式 高并发

逆袭之路,普通二本的八年开发码农如何进阿里拿年薪百万

小谈

Java 面试

分布式缓存

Axe

理解 Mysql 索引底层原理只需这一篇就够了

小谈

MySQL 数据结构 面试 Spring Cloud Spring Boot

架构师训练营第4周总结

aoeiuvzcs

太牛 了!快码住!GitHub上标星75k!超牛的《Java面试突击版》

犬来八荒

Java git Linux 面试

java架构-一些设计上的基本常识

猿灯塔

Java

Go: 字符串和转换优化

陈思敏捷

string 字符串 Go 语言

Week5命题作业

星河寒水

极客大学架构师训练营

程序员的晚餐 | 7 月 3 日 好久没做饭

清远

美食

面试细节: i = i++和 i = ++i

Java小咖秀

面试 JVM 经验分享

六月我在工作中蜕变,勤奋小人打架终于赢了

程序员小跃

效率工具 加班 沟通 复盘

马匹、马镫、马车,和华为的数据基础设施革新

脑极体

游戏夜读 | 互动剧的黎明到了?

game1night

阿里技术官:这样带你学Spring全家桶,其实没你想的那么难

小吴选手

spring Spring Cloud Spring Boot

18个Java8日期处理的实践,太有用了建议收藏

码哥小胖

MySQL SQL语法 sql查询

向女朋友解释乐观锁与悲观锁的小妙招!

小闫

spring 面试 Spring Cloud 乐观锁 悲观锁

为什么我建议你读一读历史?

Phoenix

历史 中国历史

Android架构组件-App架构指南,你还不收藏嘛

小吴选手

架构 架构师 架构总结 架构要素 P7架构师

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