首頁 系統教程 Linux 對於Kubernetes的廣泛受歡迎,究竟是什麼原因?

對於Kubernetes的廣泛受歡迎,究竟是什麼原因?

Jan 03, 2024 am 08:30 AM
linux linux教程 紅帽 linux系統 linux指令 linux認證 紅帽linux linux視頻

導讀 在開發和部署雲端原生應用程式時,執行容器化負載的 Kubernetes 平台起到了重大作用。自然而然的,開發和部署雲端原生應用程式已經變得非常受歡迎。對於一個允許快速部署和連續交付的 bug 修復和新功能的流程來說,它有明顯的優勢,但是沒有人會談到雞和雞蛋問題:怎樣才能達成這樣的目的呢?從頭開始建立基礎架構和開發流程來開發和維護雲端原生應用程式是個不簡單的、耗時的任務。

對於Kubernetes的廣泛受歡迎,究竟是什麼原因?

#Kubernetes 是一個相對較新的運行容器化負載的平台,它解決了這些問題。它原本是 Google 內部的一個項目,Kubernetes 在 2015 年被捐贈給了雲端原生運算基金會,並吸引了來自世界各地開源社群的開發人員。 Kubernetes 的設計是基於 Google 15 年的在生產和開發環境維運的經驗。由於它是開源的,任何人都可以下載並使用它,並實現其帶來的優勢。

那麼為什麼 Kubernetes 會有這麼大的驚喜呢?我認為它在像 OpenStack 這樣的基礎架構即服務(IaaS)和完整的平台即服務 (PaaS)的資源之間達到了最佳平衡,它的底層運行時實現完全由供應商控制。 Kubernetes 提供了兩個優勢:管理基礎設施的抽象,以及深入裸機進行故障排除的工具和功能。

IaaS 與 PaaS

OpenStack 被大多數人歸類為 IaaS 解決方案,其中實體資源池(如處理器、網路和儲存)在不同使用者之間分配和共用。它使用傳統的基於硬體的虛擬化實現用戶之間的隔離。

OpenStack 的 REST API 允許使用程式碼自動建立基礎架構,但這就是問題所在。 IaaS 產品輸出的也是基礎設施。其創建後,支持和管理那些更多的基礎設施的服務方式並不多。在某種程度上,OpenStack 生產的底層基礎架構(如伺服器和 IP 位址)成為管理工作的重中之重。一個眾所周知的結果是虛擬機器(VM)的無序蔓延,而同樣的情況也出現於網路、加密金鑰和儲存磁碟區方面。這樣,開發人員建立和維護應用程式的時間就更少了。

像其它基於叢集的解決方案一樣,Kubernetes 以單一伺服器層級的方式運行,以實現水平縮放。它可以輕鬆添加新的伺服器,並立即在新硬體上安排負載。類似地,當伺服器沒有被有效利用或需要維護時,可以從叢集中刪除伺服器。其它 Kubernetes 可以自動處理的其他任務是編排活動,如工作調度、健康監測和維護高可用性。

網路是另一個可能難以在 IaaS 環境中可靠編排的領域。微服務之間透過 IP 位址通訊可能是很棘手的。 Kubernetes 實現了 IP 位址管理、負載平衡、服務發現和 DNS 名稱註冊,以在叢集內提供無痛、透明的網路環境。

專為部署而設計

一旦創建了運行應用程式的環境,部署就是一件小事了。可靠地部署一個應用程式是說起來容易做起來難的任務 —— 它並不是最簡單的。 Kubernetes 相對其他環境的巨大優勢是,部署是一等公民。

使用一個單獨的 Kubernetes 命令列介面(CLI)的命令,可以描述應用程式並將其安裝在叢集上。 Kubernetes 從初始部署、推出新版本以及(當一個關鍵功能出現問題時)進行回滾,實現了應用程式的整個生命週期。運行中的部署也可以暫停和恢復。擁有現成的、內建的工具和支援應用程式部署,而不用自己建置部署系統,這是不容小覷的優點。 Kubernetes 用戶既不必重新發明應用程式部署的輪子,也不會發現這是一項艱鉅的任務。

Kubernetes 還可以監控運行中的部署的狀態。雖然你可以在 IaaS 環境中像編寫部署過程一樣編寫這個功能,但這是一個非常困難的任務,而這樣的情況還比比皆是。

專為 DevOps 設計

隨著你在開發和部署 Kubernetes 應用程式方面獲得更多經驗,你將沿著與 Google 和其他前行者相同的路徑前進。你將發現有幾種 Kubernetes 功能對於多服務應用程式的有效開發和故障排除是非常重要的。

首先,Kubernetes 能夠透過日誌或 SSH(安全性 shell)輕鬆檢查正在運行的服務的能力非常重要。透過一條命令列調用,管理員可以檢查在 Kubernetes 下執行的服務的日誌。這可能聽起來像是一個簡單的任務,但在 IaaS 環境中,除非你已經做了一些工作,否則這並不容易。大型應用程式通常具有專門用於日誌收集和分析的硬體和人員。在Kubernetes 中的日誌可能無法取代完整功能的日誌和指標解決方案,但它足以提供基本的故障排除。

第二,Kubernetes 提供內建的金鑰管理。從頭開發過自己的部署系統的團隊知道的另一個問題是,將敏感資料(如密碼和 API 令牌)安全地部署到虛擬機器上很困難。透過將金鑰管理變成一等公民,Kubernetes 可以避免你的團隊發明自己的不安全的、錯誤的金鑰分發系統或在部署腳本中硬編碼憑證。

最後,Kubernetes 有一些用於自動進行縮放、負載平衡和重新啟動應用程式的功能。同樣,這些功能是開發人員在使用 IaaS 或裸機時要自己編寫的。你的 Kubernetes 應用程式的縮放和運行狀況檢查在服務定義中進行聲明,而 Kubernetes 會確保正確數量的實例健康運作。

總結

IaaS 和 PaaS 系統之間的差異是巨大的,包括 PaaS 可以節省大量的開發和調試時間。作為一種 PaaS,Kubernetes 實現了強大而有效的功能,可幫助你開發、部署和調試雲端原生應用程式。它的架構和設計代表了數十年的難得的經驗,而你的團隊能夠免費獲得該優勢。


作者簡介:

Tim Potter - Tim 是 Hewlett Packard Enterprise 的高級軟體工程師。近二十年來,他一直致力於自由和開源軟體的開發工作,其中包括 Samba、Wireshark、OpenPegasus 和 Docker 等多個專案。 Tim 部落格在https://elegantinfrastructure.com/ ,關於 Docker、Kubernetes 和其他基礎設施相關主題。


以上是對於Kubernetes的廣泛受歡迎,究竟是什麼原因?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

vscode需要什麼電腦配置 vscode需要什麼電腦配置 Apr 15, 2025 pm 09:48 PM

VS Code 系統要求:操作系統:Windows 10 及以上、macOS 10.12 及以上、Linux 發行版處理器:最低 1.6 GHz,推薦 2.0 GHz 及以上內存:最低 512 MB,推薦 4 GB 及以上存儲空間:最低 250 MB,推薦 1 GB 及以上其他要求:穩定網絡連接,Xorg/Wayland(Linux)

Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

vscode終端使用教程 vscode終端使用教程 Apr 15, 2025 pm 10:09 PM

vscode 內置終端是一個開發工具,允許在編輯器內運行命令和腳本,以簡化開發流程。如何使用 vscode 終端:通過快捷鍵 (Ctrl/Cmd ) 打開終端。輸入命令或運行腳本。使用熱鍵 (如 Ctrl L 清除終端)。更改工作目錄 (如 cd 命令)。高級功能包括調試模式、代碼片段自動補全和交互式命令歷史。

vscode 無法安裝擴展 vscode 無法安裝擴展 Apr 15, 2025 pm 07:18 PM

VS Code擴展安裝失敗的原因可能包括:網絡不穩定、權限不足、系統兼容性問題、VS Code版本過舊、殺毒軟件或防火牆干擾。通過檢查網絡連接、權限、日誌文件、更新VS Code、禁用安全軟件以及重啟VS Code或計算機,可以逐步排查和解決問題。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

vscode在哪寫代碼 vscode在哪寫代碼 Apr 15, 2025 pm 09:54 PM

在 Visual Studio Code(VSCode)中編寫代碼簡單易行,只需安裝 VSCode、創建項目、選擇語言、創建文件、編寫代碼、保存並運行即可。 VSCode 的優點包括跨平台、免費開源、強大功能、擴展豐富,以及輕量快速。

vscode 可以用於 mac 嗎 vscode 可以用於 mac 嗎 Apr 15, 2025 pm 07:36 PM

VS Code 可以在 Mac 上使用。它具有強大的擴展功能、Git 集成、終端和調試器,同時還提供了豐富的設置選項。但是,對於特別大型項目或專業性較強的開發,VS Code 可能會有性能或功能限制。

See all articles