Kubernetes采用率是开源软件历史上最快的吗?很可能。根据CNCF,Kubernetes现在是仅次于Linux的全球第二大开源项目。
自从Kubernetes推出以来,你可以肯定地说,几乎所有其他的协调者都不相关或者退居Kubernetes。现在仅仅四年多之后,每个主要的公共云提供商都有一个托管的Kubernetes服务或正在开发一个。
作为第一个Cloud Native Cloud Foundation(CNCF)项目,Kubernetes因为以下几个主要原因而变得流行:
当然还有许多其他因素导致了Kubernetes的这种史诗般的吸收,但对于大多数希望进行迁移的组织而言,这三个想法都位列榜首。
云原生景观很繁忙。虽然新技术列表可能非常庞大,但与此同时,开发人员和运营商比以往任何时候都更愿意选择要将哪些技术整合到您的开发管道和基础架构中。许多公司一直在这样做,最新的CNCF调查显示这些Cloud Native工具的使用量增长了200%。
下面我将讨论五个关键项目,这些项目将帮助您完成Kubernetes功能集并扩展您的业务。
1Prometheus- 监测
Prometheus是第二个满足CNCF毕业阶段的项目。它专门用于监控Kubernetes等动态环境,它已成为事实上的标准,是唯一可以监控Kubernetes中运行的应用程序和基础架构的系统之一。
了解有关Prometheus的更多信息,如何将其与您的平台集成,以及Prometheus作为服务是否适合您,“ 使用Prometheus监控Kubernetes - 您需要了解的内容”
2 Istio - 服务网
Istio是一个服务网格,它提供了在生产中成功运行Kubernetes所需的一些缺少的组件,例如轻松调试微服务和应用金丝雀等高级部署策略的能力。Istio管理和路由加密的网络流量,平衡微服务的负载,实施访问策略,验证服务标识,提供跟踪,聚合服务到服务遥测,并合并Helm。
Istio并不是推销服务网络的唯一,也不是第一个。其他人包括Envoy和Linkerd。许多公共云提供商正在将服务网格集成为其托管Kubernetes解决方案的一部分。由于Istio是完全声明的,因此它在GitOps工作流程中也能工作。
可重复部署没有保持依赖关系最新和一致的所有开销和复杂性是Helm的目标之一。Helm是Kubernetes的包管理器,与其他包管理器的工作方式大致相同:apt,yum或npm。Helm具有“图表”的概念,它定义了Kubernetes资源包以及应用程序所需的任何依赖项。然后,开发人员从命令行调用特定图表,Helm为Kubernetes部署生成YAML文件,然后将其应用于集群。由于Helm是开源的,因此有许多社区图表可用于常见应用程序服务的标准配置。可以从Kubeapps Hub下载和修改您自己组织的开源图表。使用Helm的一个优点是它使复杂的应用程序部署更具可移植性,支持自动回滚,并且是开发人员熟悉的模式,使他们易于理解。缺点是Helm的设置很复杂,并且在整个管道中保持秘密安全可能很难配置。
了解有关Kubernetes的Helm和其他CICD工具的更多信息,“ CICD for Kubernetes ”。
4 Weave Flux - GitOps和持续部署
GitOps允许开发人员通过拉取请求管理基础架构配置和软件部署以及回滚。使用GitOps,开发人员使用Git作为整个应用程序所需状态的真实来源。当真实来源与群集中运行的不同时,群集会自动与Git中保存的内容同步。
Weave Flux是一个OSS工具,可确保集群状态与git(事实来源)中保存的声明性配置相匹配。Flux实现了部署到集群的Kubernetes运算符。当运算符检测到群集状态与Git中的内容不同步时,它会触发Kubernetes的部署。
Flux监控所有映像存储库,当它检测到新映像时,它会触发部署并更新Git中的清单,然后更新集群。
好处是:
Weaveworks整合了一些名为GitOps的资源:如果您想了解更多信息,您需要知道什么。
#5 OpenFaaS运营商 - 无服务器
无服务器功能使开发人员能够创建自包含的代码,并将其部署到云中,而无需维护任何基础架构。而是根据云提供商的需要动态地将资源分配给该功能。所有主要的云提供商都支持无服务器功能,但并非所有这些功能都提供了一个框架,为他们提供了在Kubernetes中运行的方式。
OpenFaaS Operator是一个自定义实现,允许您构建在Kubernetes中运行的无服务器功能。它还集成了度量输出,因此也可以使用Prometheus观察部署到Kubernetes的任何功能。
可以实施与Weave Cloud结合的Helm图表来构建连续的部署管道。您还可以利用Weave Cloud的内置可观察性仪表板来监控您的OpenFaaS工作负载。
使用本教程“EKS上的OpenFaaS Kubernetes运算符入门”进行试用。
在这篇文章中,我们讨论了一些可以帮助完成Kubernetes功能集的关键项目和技术。我们讨论了Prometheus监控,Istio服务网,Weave Flux或Weave Cloud的持续交付,以及OpenFaaS运营商的无服务器。
Weaveworks现在为企业提供生产级Kubernetes支持。在过去的3年中,Kubernetes一直致力于为我们的运营提供服务Weave Cloud,因此我们不能更加兴奋地分享我们的知识并帮助团队接受云原生工具的好处。
Kubernetes可以作为一个高速团队,这意味着您可以加速功能开发并降低操作复杂性。但是,理论与实践之间的差距可能非常广泛 - 这就是为什么我们专注于创建GitOps工作流程,建立在我们自己的Kubernetes生产经验之上。我们的方法使用以开发人员为中心的工具(例如git)和经过测试的方法来帮助您安装,设置,操作和升级Kubernetes。与我们联系了解更多详情。
[原文标题《Five Key Cloud Technologies for Kubernetes》
译者:Sonia
不代表云加社区观点,更多详情请查看原文链接
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。