2021年要关注这5个开源Kubernetes项目

公众号程序猿DD

共 2817字,需浏览 6分钟

 ·

2021-01-04 22:32



就其本身而言,Kubernetes为IT组织提供了很多价值。它将容器从开发人员感兴趣的东西变为可以在生产环境中大规模部署的东西。2019年CNCF的一项调查发现,Kubernetes在云计算社区中的使用率从2018年的58%上升到2019年的78%。

在这里,笔者将重点介绍5个值得关注的开源项目。

Quarkus

Java是最流行的编程语言之一,诞生于20世纪90年代中期。在近20年的时间里,它主要针对运行动态单体应用程序进行了优化——这些应用程序假设只有主机CPU和内存(虚拟化)的所有权,而不是早期的面向服务架构(SOA)方法。整个应用服务器市场都源于支持以这种方式编写的企业应用程序。

然而,虽然大型的单体应用仍然存在,但出于生产力、灵活性和效率的考虑,我们正在走向一个倾向于支持微服务、反应式、功能即服务(FaaS)、12因素和云原生应用的世界。需要重新思考如何在这样的环境中最好地使用Java。

看看Quarkus。Quarkus是为GraalVM和HotSpot定制的Kubernetes原生Java框架。Quarkus的目标是使Java成为Kubernetes和无服务器环境中的领先平台,同时为开发人员提供统一的反应式和命令式编程模型,以最佳方式解决更广泛的分布式应用程序架构。它可以在几十毫秒内启动以实现快速的上下伸缩,内存利用率低,并且减少了应用程序和容器镜像的占用。

OpenTelemetry

EMA分析师Torsten Volk指出,最近Kubecon的热点话题之一是可观测性。这个术语可以涵盖很多领域,但是典型的定义跨越了指标、跟踪和日志记录。这个领域的两个大项目是Prometheus(一个基于时间序列数据模型的系统监控和警报工具包)和Jaeger(一个分布式跟踪工具)。监控也很重要,但通常被认为不同于可观测性。

最近进入这个领域的是OpenTelemetry,它由谷歌的OpenCensus和Lightstep的OpenTracing于2019年合并而成。

除了项目本身,OpenTelemetry有趣的一点是,它至少代表了分布式系统可观测性空间中的一个小程度的统一。事实上,在庞大的CNCF版图中,有很多开源项目在某种程度上是重叠的或互补的,它们有时可以相互集成,有时却不能。有意思的是,可能会出现一种更广泛的相关项目组合模式。

Argo CD和Keptn

CI/CD领域的项目正在重新考虑Kubernetes原生开发模式和过程中的构建和部署管道。例如,Tekton Pipelines运行在Kubernetes上,将Kubernetes集群作为一级类型,并使用容器(和pod)作为构建块。流行的Jenkins构建工具Jenkins X的一个分支也同样针对云原生开发环境。

虽然Tekton可以处理完整的CI/CD管道,但一些较新的项目旨在增加部署管道的灵活性和能力。

就其本身而言,Tekton有效地将部署推向一个或多个Kubernetes集群。如果出现故障,Tekton必须在任何地方重新推送部署,或者运维人员需要手动推送任何失败的部署。相比之下,Argo CD是一个声明性GitOps工具。它确保正确的部署状态反映在活动集群中,持续地监控它们,并采取任何必要的操作来使所需的状态和实际状态保持一致。

Keptn是另一个既可以使用Argo CD的部署功能也可以使用它自己的部署功能的项目,但是它最关注的是对投入生产的代码进行额外的测试、评估和升级。

Envoy与Contour

刚才已经谈到了与基于微服务的分布式应用程序相关的可观测性挑战。还有一个问题是处理集群内微服务之间以及集群与外部世界之间的流量。

数据传输,即Kubernetes的“数据平面”,在很大程度上围绕着Envo进行了标准化。Envoy与每个应用程序一起运行,并通过提供与平台无关的通用特性来抽象网络。

像Istio这样的服务网格可以建立在Envoy之上,在集群内部(东西向)以及集群与外部世界(南北向)之间提供安全、流量方向和洞察。服务网格可以作为一个有价值的工具来操作基于大规模微服务的应用程序。它们也很复杂,可能会造成过度伤害。像Contour这样的项目只关注南北流量;它让Kubernetes的用户可以使用Envoy作为一个简单、可靠的负载均衡解决方案。

OKD 4、Fedora CoreOS和CodeReady Containers

如果你正在寻找添加开发者工具和运维工具的Kubernetes社区发行版,请看一下OKD。你可以把它看作是红帽OpenShift产品的“上游”项目。但它们实际上更多的是一种兄弟关系,引入了Universal Base Image(它允许更新的代码并行地并入项目和产品中)。

OKD4使用FedoraCoreos作为节点的基本运维系统。Fedora CoreOS是一个自动更新、最小的操作系统,用于安全地运行容器化工作负载。okd4提供了一个Kubernetes集群,该集群具有最新的安全修复和cgroups v2支持等新功能。它还大力支持Kubernetes Operators。

OKD还支持许多平台上的安装程序提供的基础设施(安装程序控制安装过程的所有区域)。虽然不像用户提供的基础设施那么灵活,但它的使用要简单得多,并且通常应被视为大多数用户的默认设置。

最后,为了在开发人员将代码推送到CI/CD管道之前提供帮助,okd4允许你在笔记本电脑或桌面上设置一个最小的预配置的本地Kubernetes集群,并使用CodeReady容器进行开发和测试。它们是构建OKD(或OpenShift)集群的最快方法。

原文:5 open source Kubernetes projects to watch in 2021 | The Enterprisers Project

推荐关注这个励志推荐10000个开源项目的公众号

每天了解个开源工具,装入你的兵器库


放假看片时,一定要检查域名是不是 HTTPS ,不然……

2021-01-02

盘点2020中国IT上市企业100强,贵司上榜了吗?

2021-01-02

盘点中国顶级黑客Top10,最后一位你猜是谁

2021-01-02

GitHub率先消灭了cookies:与烦人的用户条款说再见

2021-01-02

微信年末最后一发新功能!对生活很有帮助,必须了解一下!

2021-01-01

2021年假期怎么放?都给你安排得明明白白!

2021-01-01

为什么 StackOverflow 上的代码片段会摧毁你的项目?

2020-12-31

浏览 12
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报