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