開源項目使Kubernetes更加強大。人們需要了解這些具有發展前途的開源項目,這些項目可以解決與Java、可觀測性、持續集成(CI)/持續交付(CD)管道等相關問題。
就其本身而言,Kubernetes為IT組織帶來了很多價值,從開發人員感興趣的內容提升到可以在生產環境中大規模部署的內容。云原生計算基金會(CNCF)在2019年的一項調查發現,Kubernetes在云計算社區中的使用率從2018年的58%上升到2019年的78%。這種價值的很大一部分來自參與Kubernetes社區的個人和組織的努力。
然而,這也反映了個人和組織創建功能互補的開源工具的工作,這些工具與Kubernetes一起工作,使其更加強大。以下將重點介紹一些開發人員和運營商更感興趣的內容。
1. Quarkus
Java是最流行的編程語言之一,誕生于上世紀90年代中期。在近20年的時間里,它主要針對運行的動態應用程序進行了優化,這些應用程序假定(虛擬化)主機CPU和內存擁有唯一的所有權(盡管采用了早期的面向服務架結構(SOA)的方法)。企業的應用程序就是按照這種方式編寫的。
盡管仍然存在大型應用程序(“宏偉整體”有時仍然是最好的方法),但出于生產力、靈活性和效率的考慮,組織正在向支持微服務、反應性、功能即服務(FaaS)、12要素原則,以及向云原生應用的世界邁進。這需要重新思考如何在這樣的環境中更好地使用Java。
2. OpenTelemetry
EMA公司分析師Torsten Volk指出,最近Kubecon的熱門話題之一是可觀測性。可觀測性這一術語可以涵蓋很多領域,但是典型的定義涵蓋指標、跟蹤和日志記錄。該領域中的兩個大型項目是Prometheus(一種基于時間序列數據模型構建的系統監視和警報工具包)和Jaeger(一種分布式跟蹤工具)。監測也很重要,但通常被認為與可觀測性不同。
OpenTelemetry是該領域的最新產品,它是谷歌公司的OpenCensus與Lightstep公司的OpenTracing在2019年合并而成的。
除了項目本身之外,使OpenTelemetry變得有趣的一件事是,它在分布式系統可觀察性空間中至少表現出一些統一性。實際上,在龐大的CNCF格局中,有許多開源項目在一定程度上相互重疊,在一定程度上可以相互補充,有時可以彼此集成,并有可能會出現一種更廣泛的相關項目組合模式。
3. Argo CD和Keptn
持續集成(CI)/持續交付(CD)領域的項目正在考慮使用Kubernetes原生開發模式和流程來構建和部署管道。例如,Tekton Pipelines在Kubernetes上運行,將Kubernetes集群作為第一類,并使用容器(和容器)作為其構建基塊。流行的Jenkins構建工具的分支Jenkins X同樣針對云原生開發世界。
雖然Tekton可以處理完整的持續集成(CI)/持續交付(CD)管道,但一些較新的項目旨在增加部署管道的靈活性和能力。
就其本身而言,Tekton有效地將部署推向一個或多個Kubernetes集群。如果出現故障,Tekton必須在任何地方重新推送部署,或者操作人員需要人工推送任何失敗的部署。相比之下,Argo CD是一個聲明性GitOps工具。它確保正確的部署狀態反映在活動集群中,持續地監視它們,并采取任何必要的操作來使所需的狀態和實際狀態保持一致。
Keptn是另一個項目,可以單獨使用Argo CD的部署功能。但是它最關注的是對投入生產的代碼進行額外的測試、評估和升級。
4. Envoy和Contour
以上談到了與基于微服務的分布式應用程序相關的可觀察性挑戰。還需要處理集群內部以及集群與外界之間的微服務之間的流量。
數據傳輸,即Kubernetes中的“數據平臺”,已經在Envoy周圍實施標準化。Envoy與每個應用程序同時運行,并通過與平臺無關的方式提供通用功能來抽象化網絡。
像Istio這樣的服務網格可以建立在Envoy的基礎上,以提供安全性、流量方向和集群內部(東西向流量)以及集群與外界之間(南北向流量)的洞察力。其服務網格可以是操作大型基于微服務的應用程序的寶貴工具。它們也很復雜,也可能規模過大。像Contour這樣的項目只關注南北向流量;它使Envoy作為一種簡單、可靠的負載平衡解決方案可供Kubernetes用戶使用。
5. OKD 4、Fedora CoreOS和CodeReady容器
如果組織正在尋求開發人員和運營工具的Kubernetes社區發行版,需要查看OKD。可以將其視為Red Hat OpenShift產品的“上游”項目。但是,與Universal Base Image的引入實際上更多的是同級關系,它允許更新的代碼并行地流入項目和產品中。
OKD 4使用Fedora CoreOS作為節點的基本操作系統。 Fedora CoreOS是一個自動更新的小型操作系統,用于安全地運行容器化工作負載。OKD 4提供了一個Kubernetes集群,該集群具有最新的安全修復程序和新功能,例如對cgroups v2的支持,它還為Kubernetes運營商提供支持。
OKD還支持安裝程序提供的基礎設施。在許多平臺上,安裝程序控制安裝過程的所有區域。雖然不像用戶提供的基礎設施那么靈活,但它的使用要簡單得多,并且通常應被視為大多數用戶的默認設置。
最后,為了在開發人員準備將代碼推送到持續集成(CI)/持續交付(CD管道之前為他們提供幫助,OKD 4允許組織使用CodeReady容器在筆記本電腦或臺式電腦上設置更少的預配置本地Kubernetes集群,以便進行開發和測試。它們是開始構建OKD(或OpenShift)集群的最快方法。
更多來自Kubernetes社區的信息
如果了解一下CNCF格局,就會發現幾乎沒有涉及關于Kubernetes的社區創新。但是這些內容應該使人們對在新的一年中應該保持關注的項目和領域有所了解。
版權聲明:本文為企業網D1Net編譯,轉載需注明出處為:企業網D1Net,如果不注明出處,企業網D1Net將保留追究其法律責任的權利。