首頁 系統教程 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

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1250
24
Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

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

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

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

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

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

sublime寫好代碼後如何運行 sublime寫好代碼後如何運行 Apr 16, 2025 am 08:51 AM

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

Linux的主要目的是什麼? Linux的主要目的是什麼? Apr 16, 2025 am 12:19 AM

Linux的主要用途包括:1.服務器操作系統,2.嵌入式系統,3.桌面操作系統,4.開發和測試環境。 Linux在這些領域表現出色,提供了穩定性、安全性和高效的開發工具。

laravel安裝代碼 laravel安裝代碼 Apr 18, 2025 pm 12:30 PM

要安裝 Laravel,需依序進行以下步驟:安裝 Composer(適用於 macOS/Linux 和 Windows)安裝 Laravel 安裝器創建新項目啟動服務訪問應用程序(網址:http://127.0.0.1:8000)設置數據庫連接(如果需要)

git軟件安裝 git軟件安裝 Apr 17, 2025 am 11:57 AM

安裝 Git 軟件包括以下步驟:下載安裝包運行安裝包驗證安裝配置 Git安裝 Git Bash(僅限 Windows)

sublime快捷鍵怎麼使用 sublime快捷鍵怎麼使用 Apr 16, 2025 am 08:57 AM

Sublime Text 提供了提高开发效率的快捷键,包括常用的(保存、复制、剪切等)、编辑(缩进、格式化等)、导航(项目面板、文件浏览等)以及查找和替换快捷键。熟练使用这些快捷键可显著提升 Sublime 的使用效率。

See all articles