云原生技术在效率上的巨大优势,使其日益成为IT发展的主流趋势。根据Gartner的预测,到2025年,云原生平台将成为95以上的新数字化计划的基础。 围绕云原生中的各个方面,都有这非常出色的开源工具,涵盖容器调度、可观察性、持久性存储、容器运行时和其他领域。我们需要的就是发现优秀的工具,并在工作中合理地运用,让云原生之旅更加便捷高效。 我们会分两篇,来推荐围绕云原生各个方面的优秀开源工具。 容器运行时 首先我们要说一说容器运行,容器技术其实在很久以前就已经出现,但只是在最近十年由于云计算的发展才逐渐进入大众的视野。 Containerd是大多数基于容器的系统都支持的行业标准容器运行时。containerd最初是作为Docker的一部分构建的,于2015年捐赠给Linux基金会。其他著名的CNCF容器运行时实用程序包括CRIO、InclavarContainers和WasmEdgeRuntime。 调度和编排工具 Kubernetes是最流行的容器调度工具。它可用于自动化部署和管理多云应用程序。现在K8s已经是炙手可热的云原生项目,同时已经几乎成为了容器编排工具的标准。CNCF还有一些其他调度和编排实用程序也值得关注,包括Crossplane、Fluid、Karmada、kubers、OpenClusterManagement和Volcano。 网站:https:kubernetes。io 项目地址:https:github。comkuberneteskubernetes 可观察性和分析 在可观察性和分析部分,有大量的优质工具,这里首要推荐的就是Prometheus。Prometheus在可观察性和分析工具中名列前茅。 Prometheus是一个开源系统监控和警报工具包,最初在SoundCloud构建。自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发者和用户社区。它现在是一个独立的开源项目,独立于任何公司维护。为了强调这一点,并明确项目的治理结构,Prometheus于2016年加入云原生计算基金会,成为继Kubernetes之后的第二个托管项目。 Prometheus将其指标收集并存储为时间序列数据,即指标信息与记录它的时间戳一起存储,以及称为标签的可选键值对。 其他用于可观察性和分析的CNCF工具包括Jaeger、Fluentd、Thanos、Cortex和OpenTelemetry。 网站:https:prometheus。io 安全和合规性 在安全和合规性方面,开源项目推荐HummerRisk。HummerRisk是一款开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题。核心能力包括混合云的安全治理和K8S容器云安全检测。 首先可以快速实现跨云的持续合规性检测,因为是国内开源,对国内的云支持度非常好。另外就是可以对云原生资源进行安全检测,比如镜像、容器、K8s以及源代码等。同时项目保持了高度的灵活性,针对规则和检测都可以快速地实现自定义,以及产品扩充。 网站:https:www。hummercloud。com 项目地址:https:github。comHummerRiskHummerRisk 国际上的开源项目推荐OpenPolicyAgent(OPA),可用于跨云原生堆栈统一云原生策略。OPA使用通用语言来表达授权策略,并提供策略引擎来做出授权决策。 ServiceMesh工具 在服务网格工具中,最为推荐的就是Istio。应用为了保证可移植性,开发人员必须使用微服务来构建应用,同时运维人员也正在管理着极端庞大的混合云和多云的部署环境。Istio允许您连接、保护、控制和观察服务。 从较高的层面来说,Istio有助于降低这些部署的复杂性,并减轻开发团队的压力。它是一个完全开源的服务网格,作为透明的一层接入到现有的分布式应用程序里。它也是一个平台,拥有可以集成任何日志、遥测和策略系统的API接口。Istio多样化的特性使您能够成功且高效地运行分布式微服务架构,并提供保护、连接和监控微服务的统一方法。 围绕服务网格,Istio提供了一些的核心能力,包括:流量管理、安全控制、可观察性。关于Istio更多能力可以参考Istio的官网网站和文档。 网站:https:istio。ioCICD Argo项目是一组Kubernetes原生工具集合,用于运行和管理Kubernetes上的作业和应用程序。Argo提供了一种在Kubernetes上创建工作和应用程序的三种计算模式服务模式、工作流模式和基于事件的模式的简单组合方式。使用Argo,开发人员可以创建多步骤自定义工作流并在集群中共享这些工作流。 Argo旗下的ArgoCD是主要面向Gitops流程的工具项目,主要解决Git一键部署到Kubernetes的问题,并围绕这个过程提供了一些列的高级能力,最近几年可以看到越来越多的开发者正考虑和尝试使用Argo的工具来实现自己的DevOps能力。 网站:https:argoproj。github。io 其他值得关注的CICD工具包括Flux、Brigade、Keptn、OpenGitOps和OpenKruise。 云原生展望 到2023年,大多数应用程序将是云原生的。云原生世界将持续发展,开源是支持我们的微服务、容器化和DevOps新时代的基础。尽管从技术上讲,您可以使用这些开源项目通过开发和运营自行托管,但组织很可能会采用开源、闭源和SaaS产品的组合来完成工作。无论如何,很高兴知道可以免费使用什么。 工具会持续变化,时刻跟上上技术趋势才能保持领先。 下一篇我们会继续讨论服务代理、持久化存储、云原生网络、云原生数据库等方面的开源推荐项目,敬请期待。