天天看點

優秀開源雲原生工具推薦——系列3

作者:HummerCloud

#頭條創作挑戰賽#

雲原生技術在效率上的巨大優勢,使其日益成為IT發展的主流趨勢。根據Gartner的預測,到2025年,雲原生平台将成為95%以上的新數字化計劃的基礎。

圍繞雲原生中的各個方面,都有着非常出色的開源工具,涵蓋容器排程、可觀察性、持久性存儲、容器運作時和其他領域。我們需要的就是發現優秀的工具,并在工作中合理地運用,讓雲原生之旅更加便捷高效。

本文繼續為大家推薦雲原生各方面的優秀開源工具。

包管理工具

Helm

說到包管理工具,當然肯定就要推薦 Helm 了。

優秀開源雲原生工具推薦——系列3

Helm 是 kubernetes 生态系統中的一個軟體包管理工具,類似 ubuntu 的 apt, centos 的 yum 或 python 的 pip 一樣,專門負責管理 kubernetes 應用資源;使用 Helm 可以對 kubernetes 應用進行統一打包、分發、安裝、更新以及回退等操作。

該項目目前擁有 30,000 多個 GitHub 星,每月從全球獲得超過 200 萬次下載下傳。 2020 年 4 月,Helm 在 CNCF 中畢業,加入 Fluentd、containerd 等行列

目前 helm 基本是使用kubernetes時的首先項,如果需要對 kubernetes 進行包管理,那麼選擇 helm 肯定可以滿足需求。

網站:https://helm.sh/​​

項目:​​https://github.com/helm/helm​​

Build Tools

Buildpack

首先要提到的就是Buildpack.

優秀開源雲原生工具推薦——系列3

Buildpack于 2011 年由 Heroku 首次構想。從那時起,它們已被 Cloud Foundry 和其他 PaaS 采用,例如 Google App Engine、Gitlab、Knative、Deis、Dokku 和 Drie

Cloud Native Buildpacks 項目由 Pivotal 和 Heroku 于 2018 年 1 月發起,并于 2018 年 10 月加入雲原生計算基金會。該項目旨在通過定義明确且包含學習的平台到 buildpack 合約來統一 Buildpack生态系統 在 Pivotal 和 Heroku 維護生産機建構包多年。

優秀開源雲原生工具推薦——系列3

Cloud Native Buildpacks(CNB) 可以看成是基于雲原生的 Buildpacks 技術,它支援現代語言生态系統,對開發者屏蔽了應用建構、部署的細節,如選用哪種作業系統、編寫适應鏡像作業系統的處理腳本、優化鏡像大小等等,并且會産出 OCI 容器鏡像,可以運作在任何相容 OCI 鏡像标準的叢集中。CNB 還擁抱了很多更加雲原生的特性,例如​​跨鏡像倉庫的 blob 挂載和鏡像層級 rebasing​​。

網站:​​https://buildpacks.io/​​

項目:​​https://github.com/buildpacks/pack​​

Jib

除了buildpack以外,還有一些開源工具值得關注,首先就是Jib.

優秀開源雲原生工具推薦——系列3

​Jib是google開源的Java容器化工具 Jib 為您的 Java 應用程式建構優化的 Docker 和 OCI 映像,無需 Docker 守護程式 - 也無需深入掌握 Docker 最佳實踐。 它可用作 Maven 和 Gradle 的插件以及 Java 庫。

Jib的定位非常清晰,不像buildpack 那樣支援全面,但是針對Java的項目有着非常多的優化。在項目進行快速疊代時,Jib隻講發生變更的層(而不是整個應用程式)推送到系統資料庫來節省寶貴的建構時間。Jib支援根據Maven和Gradle的建構中繼資料進行聲明式的容器鏡像建構,是以,隻要輸入保持不變,就可以通過配置重複建立相同的鏡像。

項目:​​https://github.com/GoogleContainerTools/jib​​

另一個Google開源的專門針對GO語言的開源工具Ko,同樣也可以了解一下。

項目:​​https://github.com/ko-build/ko​​

雲原生網絡

Cilium

首先要推薦到的是Cilium.

優秀開源雲原生工具推薦——系列3

Cilium 是具有基于 eBPF 的資料平面的網絡、可觀察性和安全解決方案。 它提供了一個簡單的平面第 3 層網絡,能夠以本機路由或覆寫模式跨越多個叢集。 它支援 L7 協定,并且可以使用與網絡尋址分離的基于身份的安全模型在 L3-L7 上實施網絡政策。

Cilium 為 Pod 之間和外部服務之間的流量實作分布式負載平衡,并且能夠完全替代 kube-proxy,在 eBPF 中使用高效的哈希表,幾乎可以無限擴充。 它還支援內建入口和出口網關、帶寬管理和服務網格等進階功能,并提供深度網絡和安全可見性和監控。

BPF是Linux核心中一種高度靈活和高效的虛拟機類構造,允許以安全的方式在各個挂鈎點執行位元組碼。 它用于許多Linux核心子系統,最突出的是網絡,跟蹤和安全性(例如沙盒)。如果還不了解,可以先了解一下。​​https://ebpf.io/​​

網站:​​https://cilium.io/​​

項目:​​https://github.com/cilium/cilium​​

Antrea

另一個值得關注的項目是Antrea

優秀開源雲原生工具推薦——系列3

Antrea 是一個 Kubernetes 原生項目,它實作了容器網絡接口 (CNI) 和 Kubernetes NetworkPolicy,進而為 Pod 工作負載提供網絡連接配接和安全性。 Antrea 将可程式設計網絡的優勢從 Open vSwitch (OVS) 擴充到 Kubernetes。目前項目是CNCF的sandbox項目,還是比較早期的階段。

網站:​​https://antrea.io/​​

項目:​​https://github.com/antrea-io/antrea​​

消息通信

說道消息通信,我們首先來推薦一下規範。

CloudEvents

CloudEvents 是一種以通用方式描述事件資料的規範。 CloudEvents 旨在顯着簡化跨服務、平台等的事件聲明和傳遞!

優秀開源雲原生工具推薦——系列3

CloudEvents 是一項新的嘗試,并且仍在積極開發中。 然而,它的工作組收到了驚人的行業興趣,從主要的雲提供商到流行的 SaaS 公司。 該規範現在屬于雲原生計算基金會

Other CNCF streaming and messaging projects include NATS, Pravega, Strimzi and Tremor.

網站:​​https://cloudevents.io/​​

項目:​​https://github.com/cloudevents​​

說完了規範,我們來推薦一個消息通信系統:NATS

NATS

NATS是一個開源的、輕量級的、高性能的分布式消息通信系統,實作了高可伸縮性和優雅的釋出/訂閱模型。NATS适合雲基礎設施的消息通信系統、IoT裝置消息通信和微服務架構。

優秀開源雲原生工具推薦——系列3

NATS憑借其輕量、高性能的特性, 正在全球大量的公司使用,涵蓋的用例包括微服務、邊緣計算、移動、物聯網,并可用于增強或替代傳統消息傳遞。

網站:​​https://nats.io/​​

項目:​​https://github.com/nats-io​​

安全和合規性

HummerRisk

在安全和合規性方面,開源項目推薦HummerRisk。HummerRisk 是一款開源的雲原生安全平台,以非侵入的方式解決雲原生的安全和治理問題。核心能力包括混合雲的安全治理和K8S容器雲安全檢測。

優秀開源雲原生工具推薦——系列3

首先可以快速實作跨雲的持續合規性檢測,因為是國内開源,對國内的雲支援度非常好。另外就是可以對雲原生資源進行安全檢測,比如鏡像、容器、K8s以及源代碼等。同時項目保持了高度的靈活性,針對規則和檢測都可以快速的實作自定義,以及産品擴充。

網站:​​https://www.hummercloud.com/​​

項目位址:​​https://github.com/HummerRisk/HummerRisk​​

雲原生展望

到 2023 年,大多數應用程式将是雲原生的。 雲原生世界将持續發展,開源是支援我們的微服務、容器化和 DevOps 新時代的基礎。盡管從技術上講,您可以使用這些開源項目通過開發和營運自行托管,但組織很可能會采用開源、閉源和SaaS産品的組合來完成工作。 無論如何,很高興知道可以免費使用什麼。

工具會持續變化,時刻跟上上技術趨勢才能保持領先。

下一篇我們會繼續讨論混沌工程、密碼管理、邊緣計算方面的開源工具等。

繼續閱讀