CNCF 是一個開源軟體基金會,致力於使雲原生計算具有普遍性和可持續性。 雲原生計算使用開源軟體技術棧將應用程式部署為微服務,將每個部分打包到自己的容器中,並動態編排這些容器以最佳化資源利用率。 雲原生技術使軟體開發人員能夠更快地構建出色的產品。
Kubernetes 是世界上最受歡迎的容器編排平臺和第一個 CNCF 專案。Kubernetes 幫助使用者構建、擴充套件和管理應用程式及其動態生命週期。Kubernetes 最初是在谷歌開發的,現在有超過 2,300 名貢獻者,並且被世界上許多行業中一些具有創新性的公司所使用。 叢集排程功能可讓開發人員構建雲原生應用,更加關註程式碼而不是操作。Kubernetes 面向未來的應用程式開發和基礎設施管理可在本地或雲端進行,無需供應商或雲提供商系結。
Prometheus 為雲原生應用程式提供實時監控、警報和時間序列資料庫功能(包括強大的查詢和視覺化能力),並與許多流行的開源資料匯入、匯出工具整合。 它已經成為監控基於容器的基礎設施的標準,並且隨著使用者需求的而不斷新增主要功能。Prometheus為雲原生體系結構(包括 Kubernetes 和其他下一代元件)提供了所需的可見性和故障排除。
Tracing 是基於微服務環境的關鍵部分,用於追蹤跨服務請求的行為。OpenTracing 是一種分散式追蹤 API,可用於各種流行的開源的和商業的追蹤工具。OpenTracing API 使微服務互動監控成為可能,使用 Jaeger、Zipkin、DataDog 等流行工具進行切換。 它是 LightStep、Red Hat、Uber和其他公司的工程師們努力的產物,它為開發人員提供了一種即使在異構環境中也能精確跟蹤的簡單工具。
Fluentd 是一個統一的日誌記錄工具,可收集來自任何資料源(包括資料庫、應用程式伺服器、終端使用者裝置)的資料,並與眾多警報、分析和儲存工具配合使用。Fluentd 透過提供一個統一的層來幫助使用者更好地瞭解他們的環境中發生的事情,以便收集、過濾日誌資料並將其路由到許多流行的源和目的地。Fluentd 透過提供統一的平臺來收集、構建(如果可能的話,使用JSON)並匯出資料,從而使日誌分析更加輕鬆。 它採用可插拔架構,透過統一的平臺和可插拔架構,簡化了新資料源(例如連線裝置)和後端系統(例如雲儲存和資料庫)的上線,並整合到 Atlassian、微軟等軟體提供商。
gRPC 是由 Google 開發的高效能 RPC(遠端過程呼叫)框架,針對連線跨語言、雲和資料中心的服務以及將移動裝置連線到後端的雲原生計算環境的大規模、多平臺性質進行了服務最佳化。gRPC 支援 10 種流行語言,並被全球一些領先的企業、技術供應商和大學所使用。gRPC改善了分散式計算環境中遠端呼叫的延遲性,同時支援多語言程式設計,並包括 iOS 和 Android 的客戶端庫以及後端伺服器。
Containerd 是由 Docker 開發並基於 Docker Engine 執行時的行業標準容器執行時元件。作為容器生態系統的選擇,Containerd 透過提供執行時,可以將 Docker 和 OCI 容器映象作為新平臺或產品的一部分進行管理。Containerd 旨在直接整合到第三方軟體產品和專案(例如 Kubernetes)中,提供圍繞容器生命週期的基礎功能。 它為許多基礎容器生命週期流程提供原型,使開發人員可以在更高層次上自由地進行創新。
Rkt 是 Docker 容器引擎的一個可行的替代方案,最初由 CoreOS 建立,旨在實現最大的可組合性並管理名為 Pod 的容器集合。Rkt 不使用守護行程來管理容器,而是直接從命令列啟動容器。 它針對安全性以及與其他開源容器技術和標準的整合進行了最佳化。
容器網路介面(CNI)專案是由一系列行業組織建立的,目的是為了在雲原生環境中標準化容器的基本網路介面。CNI 為開發人員提供了在多個容器執行時間上構建應用程式的自由,同時體驗了一致的網路 API。CNI 透過對基本功能進行標準化來推進集裝箱網路的狀態,例如跨公共執行時(包括 Kubernetes、Rkt、Mesos 和 Cloud Foundry)新增和刪除容器資源,並透過第三方外掛主動支援高階網路功能。
Envoy 是最初在 Lyft 建立的 Service Mesh(服務網格),現在用於Google、Apple、Netflix 等公司內部。Envoy 是用 C++ 編寫的,旨在最大限度地減少記憶體和 CPU 佔用空間,同時提供諸如負載均衡、網路深度可觀察性、微服務環境中的跟蹤和資料庫活動等功能。
Jaeger 是由 Uber 開發的分散式追蹤系統,用於監控其大型微服務環境,現在已經被 Red Hat、SeatGeek 和 Under Armour 等公司收集。Jaeger 被設計為具有高度可擴充套件性和可用性,併為 OpenTracing 標準和眾多儲存後端提供本地支援。 它具有現代 UI,旨在與雲原生系統(如 OpenTracing、Kubernetes 和 Prometheus)整合。
Notary 最初由 Docker 建立,是 TUF(另一個 CNCF 專案)的實現,旨在透過強大的加密技術建立對數字內容的信任。 公證透過確保軟體來自預期的來源來做到這一點,並且除了其作者以外沒有任何人改變它。 它為開發人員提供了一個加密工具來驗證容器及其內容的來源。
更新框架(TUF)是用於保護軟體更新系統免受更新或初始安裝期間發生的攻擊的規範。 TUF 最初由紐約大學工程學院開發,並已整合到由 Docker 和 VMware 等開發的企業軟體產品中。 TUF 使用加密金鑰來防止軟體安裝或更新期間的已知漏洞,確保使用者安裝他們打算安裝的檔案。TUF 作為軟體開發過程的一部分被整合,而不是作為獨立的網路安全工具。
Vitess 是一個用於透過廣義分片對 MySQL 進行水平縮放的資料庫集群系統。 透過封裝分片路由邏輯,Vitess 允許應用程式程式碼和資料庫查詢對於將資料分佈到多個分片上保持不變。 使用 Vitess,您甚至可以根據您的需求增長來分割和合併碎片,原子切割步驟只需幾秒鐘。 自 2011 年以來,Vitess 一直是 YouTube 資料庫基礎架構的核心元件,並且已經發展到包含數以萬計的 MySQL 節點。它的架構可以像在專用硬體上一樣有效地在公共或私有雲架構中執行。 它結合併擴充套件了許多重要的 MySQL 功能和 NoSQL 資料庫的可擴充套件性。
CoreDNS 是針對雲原生環境的效能、靈活性和服務發現要求而最佳化的 DNS 伺服器。 CoreDNS 是用 Go 編寫的 SkyDNS 的後繼者。 它包括各種功能,包括透過 Prometheus 進行 Kubernetes 支援和監控,並強調外掛增加新功能或編譯簡化實施。 DNS 是基於雲原生或基於微服務的體系結構的重要組成部分,可以包括數百或數千個單獨的服務、容器和其他端點。 CoreDNS 旨在支援這些體系結構,以及在需求成熟時輕鬆支援新功能。
NATS Server 是一個簡單、高效能的開源訊息系統,用於雲原生應用程式、IoT 訊息傳遞和微服務架構。 Synadia 團隊的成員建立了NATS Server(用Go編寫)、NATS Streaming 以及用 Python、Ruby、Node.js、Elixir、Java、NGINX、C 和 C# 編寫的客戶端。 該社群貢獻了越來越多的庫,包括Arduino、Rust、Lua、PHP、Perl等等。
Linkerd 是一種基於雲原生的 Service Mesh(服務網格),基於 Netty 和 Finagle 構建,是由 Twitter 構建的工具,用於管理其廣闊的微服務環境,使其可以擴充套件到每秒數以萬計的請求。 Linkerd 提供了一個獨立的代理層,分散式應用程式服務透過它可以相互通訊來處理任務,如負載平衡、路由和 TLS。 它透過管理微服務之間的互動來確保應用程式效能,從而幫助簡化向雲原生體系結構的轉換和操作。
原文連結:https://anoyi.com/p/acb1587e8ccd
本次培訓內容包括:Docker基礎、容器技術、Docker映象、資料共享與持久化、Docker三駕馬車、Docker實踐、Kubernetes基礎、Pod基礎與進階、常用物件操作、服務發現、Helm、Kubernetes核心元件原理分析、Kubernetes服務質量保證、排程詳解與應用場景、網路、基於Kubernetes的CI/CD、基於Kubernetes的配置管理等,點選瞭解具體培訓內容。
長按二維碼向我轉賬
受蘋果公司新規定影響,微信 iOS 版的贊賞功能被關閉,可透過二維碼轉賬支援公眾號。