Kubernetes上的十大应用程序

在崭新的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换成TraefikAmbassador”。

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

external-dns

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

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

Magic Namespace

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12445.html