写点什么

Kubernetes 上的十大应用程序

  • 2018-10-07
  • 本文字数:2054 字

    阅读完需:约 7 分钟

本文最初发表于 kubedex ,经该网站授权由 InfoQ 中文站翻译分享。

在崭新的 Kubernetes 集群上,经常会安装的 helm chart 都有哪些呢?下面这个清单代表了我们的观点。

序号

名称

理由

1

nginx-ingress

世界上最常见的前端代理,非常易于搭建,功能具有通用性。根据场景的不同,可能会有更好的 Ingress,但是它的份额占到了 99%。

2

coredns

Kubernetes 上最好的 DNS 服务器。默认的 KubeDNS 比较糟糕,所以毫无疑问你需要将它切换掉。借助 coredns 你还可以启用一些很酷的插件,使其能够与其他的应用程序协作,比如 Prometheus。

3

Prometheus

每个人都应该使用 Prometheus,它提供了自定义的时序监控功能,允许你 instrument 代码并在 Grafana 中以图形化的方式进行监视。你还可以搭建告警功能,当生产环境崩溃或延迟让顾客感到不满时,你能得到提醒。它同时还需要 Grafana 和 kube-state-metrics chart。

4

Istio

通过 Istio 服务网格连接微服务能够解锁大量很酷的特性,包括流量控制、认证与授权、加密和可观察性。你可以移除微服务中大量的应用程序逻辑,让 Istio 来处理它。

5

Nuclio

Nuclio 是我们目前最喜欢的 FaaS 应用,它为实时和数据驱动应用提供了 Serverless Function,与 AWS Lambda 的处理方式相同,只不过是在你的集群中运行。

6

Jaeger

为你的应用提供分布式跟踪功能,它能够跟踪每个微服务的每次 API 调用。我们都知道,微服务最大的问题就是可观察性。在解决这个问题方面,我们走过了很长的道路。

7

Fluentd

捕获日志并将其发送至 ElasticSearch,这样我们就可以通过搜索错误日志判断微服务中出现了什么问题。在使用它的时候,还需要 Kibana chart。

8

Anchore

如今,谁的应用会不关注安全性呢。我们需要它来捕获安全漏洞并与 CI/CD 管道进行集成。

9

Jenkins

为容器提供 CI/CD 功能。几乎每个人都在运行它,不过喜欢它的人似乎并不多,但是它非常流行,在安装 Gitlab 之前,它是默认的方案。

10

NATS

一个非常酷的 PubSub 消息系统,因为并非所有的内部通信都需要通过 API,它还有一些很酷的流特性。

将我们最喜欢的应用限制在 10 个确实非常困难。除此之外,还有一些非常棒的应用程序并没有能够包含进来。我们最终优先考虑的是核心功能的升级以及为开发人员所带来的帮助。

Ark

Heptio Ark 是一个用来管理灾难恢复的工具,尤其适用于 Kubernetes 集群资源和持久化卷。

其实,没有人愿意编写备份和恢复脚本。我们推荐你了解一下这个应用,它可以为你解决这些问题。

Gitlab

可以说, Gitlab 比 Jenkins 更好,应该取代它出现在列表中。但是,我们不能忽视一个事实就是几乎每个人都在运行 Jenkins,所以这一次我们将票投给了流行度。

Traefik 和 Ambassador

另外一个有争议性的就是在列表中排名第一的 nginx-ingress。很多人可能会说“我希望将 nginx 换成 Traefik Ambassador ”。

这次,我们站在了新人和流行度这一边。随着时间的推移,会有更多高级用户最终放弃 nginx-ingress,转而研究这两个可选方案。

external-dns

我们在大多数集群上都运行 external-dns ,它自动管理我们外部 DNS 记录的更新。

相对于列表中的其他条目,它并没有提供太多的功能,但有时候你可能还是需要安装它,以避免手动配置。

Magic Namespace

Magic Namespace 是用来管理 namespace 之间安全性的 helm chart。如果你运行多租户集群的话,毫无疑问你将会遇到这方面的问题。

chaoskube

每个人都喜欢混乱的 monkey 测试(chaos monkey)。

但是我们不能一开始就告诉人们安装一个 chart,让它任意地杀死集群中的 pod。如果有人足够自信,能够忍受混沌过程的考验,那么 Chaoskube 就是为他们准备的。

Kubernetes Dashboard 和 kube-ops-view

这些仪表盘应用并没有包含在列表中。如果你喜欢使用漂亮的 UI 界面来展现集群状态的话,那么 kube-ops-view 非常棒。如果你更喜欢点击按钮的操作方式的话,那么 Kubernetes Dashboard 可能更适合你。

cert manager

cert-manager 是一个 Kubernetes 应用程序,用于自动化管理和发布来自不同发行源的 TLS 证书。

如果你已经厌倦了围绕像 LetsEncrypt 之类的服务创建自定义自动化功能,那么可以了解一下 cert manager

Envoy

这个有点悲剧色彩, Envoy 是非常棒的 edge 和服务代理,但是没有人会以 helm chart 的形式来使用它。它会打包到某个 chart 中,比如前十列表中的 Istio。我在这里将它列出来,也是某种程度上为它伸张正义。

Spinnaker

Spinnaker 是非常流行的 CI/CD 平台,它是由 Netflix 开源的。它未能跻身前十,是因为它有些复杂。它需要不少规划工作才能搭建起来,此外,它是可配置的,很多内容都是围绕 Terraform 完成的。如果你的团队有不少人,应用非常复杂,需要一个强大的方案来替代通过各种 hacked 手段连接在一起的 Jenkins job 的话,那么可以了解一下 Spinnaker。

Kong

如果你要暴露 API 给外部世界的话(运行 Kubernetes 的场景下基本都会这样做),那么你应该了解一下 Kong ,它是一个 API 网关,能够帮助我们管理很多标准的功能,比如认证、路由、日志等等。它还有一个插件系统,借助该系统能够为其扩展一些非常棒的特性。

感谢张婵对本文的策划。

2018-10-07 10:312946

评论 1 条评论

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

Lyft微服务研发效能提升实践 | 1. 开发和测试环境的历史

俞凡

研发效能 大厂实践 2月月更 lyft

Go反射的三大法则

linlh

反射 元编程 Go 语言 2月月更

阿里稳定性指标1-5-10解读

焦振清

稳定性 1-5-10 MTTR

从冬奥看中国科技(五):漫天塞地物联网

脑极体

如何打造一款得心应手的VS Code?

Jackpop

如何利用区块链改进金融系统身份验证?

CECBC

总算彻底搞懂Python集合了

Jackpop

Kubernetes核心组件-ETCD详解

巨子嘉

容器 云原生 etcd

用Weave Net 打开跨主机容器互联大门 | 社区征文

L同学

docker网络 新春征文 网络交换机 weave 集群网络

毕业设计

Geek_e6f7f6

架构实战营

DG-IoT工业数据云平台

dgiot

物联网 2月月更 2月日更 dgiot dgiot物联网

DOM 节点的克隆和导入

编程三昧

JavaScript 前端 DOM 2月月更

gopher成长之路(四):GO开发工程师写QT

非晓为骁

个人成长

【C语言】初始字符串 & 转义字符与注释

謓泽

C语言 2月月更

作业八-消息队列数据库建模

曾竞超

架构实战营 「架构实战营」

Go语言图书管理RESTful API开发实战

Jackpop

消息队列存储消息数据的表结构

皓月

「架构实战营」

也许我们可以用另一种角度与观点看待世界所发生的事情,让你有所解答。

叶小鍵

为什么需要单元测试?

蜜糖的代码注释

单元测试 后端开发 2月月更

【网络安全应急响应】实战思路经验分享

H

网络安全 应急响应

外包学生管理系统架构设计

唐尤华

架构实战营

2022年的元宇宙:抢人、烧钱、突破体验边界

CECBC

鸿蒙学习笔记之使用 XML 方式创建布局

宇宙之一粟

鸿蒙 java UI 2月月更

零基础想学习Web安全,如何入门?

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞

Windows怎么就突然不好用了?

Jackpop

电子书《大型组织深入推广零代码应用平台的行动指南》正式发布!

明道云

办公效率起飞了!Python终于解放了我的双手

Jackpop

浅谈人工智能发展六大趋势 | 社区征文

战场小包

人工智能 新春征文 2月月更

跨平台应用开发进阶 (四) :uni-app 实现图片上传、预览、删除、压缩

No Silver Bullet

uni-app 跨平台 图片 2月月更

The Rust Programming Language

Joseph295

Kubernetes集群仪表盘dashboard&Kuboard安装Demo

山河已无恙

Kubernetes 2月月更

Kubernetes上的十大应用程序_DevOps & 平台工程_kubedex_InfoQ精选文章