您好,登錄后才能下訂單哦!
本篇內容主要講解“Kubernetes的關鍵屬性有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Kubernetes的關鍵屬性有哪些”吧!
“云原生(Cloud Native)”是用于描述基于容器的環境的術語。云原生技術被用于開發應用程序,這些應用程序是使用容器打包的服務構建的、被部署為微服務、并通過靈活的DevOps流程和持續交付工作流在彈性基礎架構上進行管理。
在運維團隊手動管理傳統應用程序的基礎架構資源分配的情況下,云原生應用程序部署在抽象了底層計算、存儲和網絡原語的基礎架構上。處理這種新型應用程序的開發人員和運維人員不直接與基礎架構提供商公開的API交互。相反的,編排器會根據DevOps團隊制定的策略自動進行資源分配。控制器和調度程序是編排引擎的基本組件,負責處理資源分配問題和應用程序的生命周期。
像Kubernetes這樣的云原生平臺使用扁平網絡,該網絡覆蓋在云提供商的現有網絡拓撲和原語上。類似地,本地存儲層通常被抽象出來,以暴露與容器集成的邏輯卷。運維人員可以分配開發人員和資源管理員訪問的存儲配額和網絡策略。基礎架構抽象不僅解決了跨云環境的可移植性需求,還讓開發人員可以利用新興模式來構建和部署應用程序。無論基于物理服務器或虛擬機,私有云或公共云的底層基礎架構如何,編排管理器都將成為部署目標。
Kubernetes是一個運行云原生應用程序工作負載的理想平臺。它已經成為云的事實上的操作系統,就像Linux是底層機器的操作系統一樣。只要開發人員在設計和開發軟件時,遵循其作為云原生應用程序的微服務的最佳實踐,DevOps團隊就能夠在Kubernetes中打包和部署它們。以下是開發人員在設計云原生應用程序時應牢記的云原生應用程序的10個關鍵屬性。
1、打包為輕量級容器:云原生應用程序是打包為輕量級容器的獨立自治服務的集合。與虛擬機不同,容器可以快速擴縮容。將擴展單元轉移到容器,能夠優化基礎架構利用率。
2、使用最佳語言和框架開發:云原生應用程序的每項服務都是使用最適合該功能的語言和框架開發的。云原生應用程序是多語言的,服務會使用各種不同的語言、運行時和框架。例如,開發人員可以構建基于在Node.js中開發的WebSockets的實時流服務,同時選擇Python和Flask來暴露API。開發微服務的細粒度方法使它們能夠為特定任務選擇最佳語言和框架。
3、設計為松耦合的微服務:屬于同一應用程序的服務通過應用程序運行時來發現彼此。它們獨立于其他服務而存在。正確集成時,彈性基礎架構和應用程序架構可以高效地、以高性能來進行擴展。
松耦合的服務讓開發人員可以在處理每個服務時都能夠獨立于其他服務來工作。通過這種分離,開發人員可以專注于每項服務的核心功能,以提供細粒度的功能。這種方法可以實現整個應用程序的有效生命周期管理,因為每個服務都是獨立維護的,并且擁有明確的所有權。
4、以API為中心進行交互和協作:云原生服務使用輕量級API,這些API基于REST、gRPC或NATS等協議。REST通常被用作通過HTTP公開API的最低公分母。為了提高性能,gRPC通常用于服務之間的內部通信。NATS具有發布-訂閱功能,可在應用程序內實現異步通信。
5、在架構中將無狀態和有狀態服務清晰分離:持久耐用的服務通常遵循不同的模式,以確保更高的可用性和彈性。無狀態服務和有狀態服務是彼此獨立存在的。存儲會影響容器的使用。我們必須越來越多地在有狀態、無狀態、微存儲環境(這一點有些人可能覺得有爭議)等不同語境下考慮持久性這一因素。
6、與服務器和操作系統依賴關系隔離:云原生應用程序與任何特定操作系統或單個計算機沒有關聯。它們在更高的抽象級別上運行。唯一的例外是微服務需要某些功能,包括固態驅動器(SSD)和圖形處理單元(GPU),這些功能可能由一部分機器專門提供。
7、部署在自服務的彈性云基礎架構上:云原生應用程序部署在虛擬的、共享的和彈性的基礎架構上。它們可以與底層基礎架構保持一致,以動態增長和縮小——根據不同的負載來自我調節。
8、通過敏捷DevOps流程進行管理:云原生應用程序的每項服務都會經歷一個獨立的生命周期,通過敏捷的DevOps流程進行管理。多個持續集成/持續交付(CI / CD)流水線可以協同工作以部署和管理云原生應用程序。
9、自動化功能:云原生應用程序可以高度自動化。它們與Infrastructure as Code的概念相得益彰。企業需要一定程度的自動化來管理大型和復雜的應用程序。
10、定義的、策略驅動的資源分配:最后,云原生應用程序與通過一組策略定義的治理模型一致。它們遵循CPU和存儲配額以及將資源分配給服務的網絡策略等策略。例如,在企業方案中,中央IT可以定義策略來為每個部門分配資源。每個部門的開發人員和DevOps團隊都擁有對其資源共享的完全訪問權和所有權。
到此,相信大家對“Kubernetes的關鍵屬性有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。