雲棲號資訊:【點擊查看更多行業資訊】
在這裏您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!
Kubernetes已經成爲各種規模企業在生產環境事實上的容器編排平臺,在各種應用中設置Kubernetes都是基礎。
那麼在Kubernetes集羣之上到底要構建什麼?比如,Web和API層中的無狀態應用程序是很好的初始用例,Kubernetes幫助其補足了安全性,可伸縮性和開發者生產力方面的差距。但不限於此!
服務網格
建立在Kubernetes之上的微服務網絡帶來了分佈式計算問題。儘管Kubernetes解決了服務發現,可擴展性問題,但Kubernetes生態系統需要適用於第7層流量網絡的解決方案。Istio和Linkerd等服務網格爲微服務帶來了高級功能,例如流量控制,安全性和可觀察性等。服務網格與Envoy等代理相結合,可以爲微服務提供強大的安全性和網絡抽象。而且,開發者和企業可以受益於通用框架的改編,從而提高了效率和生產率。
有狀態的工作負載
在Kubernetes中運行有狀態工作負載是一個快速發展的方向。因爲Kubernetes有名爲StatefulSets的內置對象,可爲Pod提供網絡尋址和順序保證。將StatefulSet和應用程序運算符組合在一起可以爲運行有狀態的工作負載(例如需要持久保存狀態的數據庫和舊版應用程序)提供強大的解決方案。
開發者經驗(DevEx)
Kubernetes的學習曲線很陡峭,所以對於企業開發者來說挑戰不小。Kubernetes的挑戰是有原因的,比如Kubernetes的設計僅具有極少的功能,僅提供了足夠的構建基塊即可在其之上構建自定義的平臺即服務(PaaS)。根據企業的成熟度,平臺,DevOps或SRE團隊等專業團隊可以自定義Kubernetes,並簡化應用程序開發者的工作。由於部署容器的成本和時間很少,因此對於產品開發團隊而言,自定義設置可能是一種非常強大的機制,可以提高競爭優勢。增強的開發者體驗很大程度上歸功於產品功能的更快上市,以及嵌入式安全的最佳實踐。如Skaffold之類的工具可以被用來簡化開發者的Kubernetes,再比如微軟Azure Dev Spaces提供的快速迭代模型,可以使每個開發者在大型團隊設置中使用他們的pod實例。
無服務器
在公有云環境,不一定需要在Kubernetes上構建FaaS(功能即服務)。企業可以簡單地利用專用的無服務器解決方案,比如AWS Lambda。無服務器主要有兩個方面;開發者的經驗是隻需簡單地上傳一段代碼,而不必擔心基礎架構和成本效益問題。如果在本地運行Kubernetes,則仍然可以通過PaaS工具帶來無服務器的的體驗功能。開發者只需提供他們的git repo即可啓動該服務,但這無法帶來無服務器的成本效益。在真正的無服務器模型中,僅當調用服務時,容器或進程纔會進行冷啓動,如Knative之類的框架可能會將無服務器的開發者經驗和成本效率特性帶入到本地Kubernetes的部署中。
機器學習管道
基礎架構資源的有效共享是Kubernetes平臺的關鍵功能之一。CPU等硬件資源被過度分配用於工作負載,並且在需要時也會受到限制。GPU可以在多個機器學習容器工作負載之間共享,從而爲本地設置帶來了成本效益。此外,還有出色的開源機器學習管道,如基於Kubernetes構建的Kubeflow。Kubeflow使數據科學家可以在Kubernetes中有效地運行其模型。Kubeflow補足了共享昂貴的GPU,以及提供強大的數據管道編排機制的差距。
雲原生CI/CD管道
CI/CD管道通常包括運行一系列測試,例如單元測試,集成測試,靜態代碼分析,安全掃描,這些在很大程度上是通過Jenkins管道進行編排的。一些團隊正在練習將這些Jenkins作業作爲容器運行。容器的爆炸性增長,今天的Jenkins正努力擴大部署流程。利用Kubernetes調度程序的功能,有一個全新的出色模型可以運行整個業務流程。這是運行CI/CD編排的雲原生方法。如JenkinsX和Tekton之類的項目,將充分利用Kubernetes的編排和調度能力,將你的Jenkins管道提升到新的水平。
零信任網絡
如今許多企業都在努力發展基於邊界的網絡安全模型,使得Kubernetes容器網絡接口(CNI)的插件有了用武之地。如Calico之類的項目可以實施Kubernetes網絡策略來隔離每個工作負載,從而提供不信任任何工作負載的細粒度分區。
【雲棲號在線課堂】每天都有產品技術專家分享!
課程地址:https://yqh.aliyun.com/live立即加入社羣,與專家面對面,及時瞭解課程最新動態!
【雲棲號在線課堂 社羣】https://c.tb.cn/F3.Z8gvnK