您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關kubernetes指的是什么的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
Kubernetes 是一個可移植的、可擴展的開源平臺,用于管理容器化的工作負載和服務,可促進聲明式配置和自動化。 Kubernetes 擁有一個龐大且快速增長的生態系統。Kubernetes 的服務、支持和工具廣泛可用。
名稱 Kubernetes 源于希臘語,意為“舵手”或“飛行員”。Google 在 2014 年開源了 Kubernetes 項目。 Kubernetes 建立在 Google 在大規模運行生產工作負載方面擁有十幾年的經驗 的基礎上,結合了社區中最好的想法和實踐。
傳統部署時代:
早期,各個組織機構在物理服務器上運行應用程序。無法為物理服務器中的應用程序定義資源邊界,這會導致資源分配問題。 例如,如果在物理服務器上運行多個應用程序,則可能會出現一個應用程序占用大部分資源的情況, 結果可能導致其他應用程序的性能下降。 一種解決方案是在不同的物理服務器上運行每個應用程序,但是由于資源利用不足而無法擴展, 并且維護許多物理服務器的成本很高。
虛擬化部署時代:
作為解決方案,引入了虛擬化。虛擬化技術允許你在單個物理服務器的 CPU 上運行多個虛擬機(VM)。 虛擬化允許應用程序在 VM 之間隔離,并提供一定程度的安全,因為一個應用程序的信息 不能被另一應用程序隨意訪問。
虛擬化技術能夠更好地利用物理服務器上的資源,并且因為可輕松地添加或更新應用程序 而可以實現更好的可伸縮性,降低硬件成本等等。
每個 VM 是一臺完整的計算機,在虛擬化硬件之上運行所有組件,包括其自己的操作系統。
容器部署時代:
容器類似于 VM,但是它們具有被放寬的隔離屬性,可以在應用程序之間共享操作系統(OS)。 因此,容器被認為是輕量級的。容器與 VM 類似,具有自己的文件系統、CPU、內存、進程空間等。 由于它們與基礎架構分離,因此可以跨云和 OS 發行版本進行移植。
容器因具有許多優勢而變得流行起來。下面列出的是容器的一些好處:
敏捷應用程序的創建和部署:與使用 VM 鏡像相比,提高了容器鏡像創建的簡便性和效率。
持續開發、集成和部署:通過快速簡單的回滾(由于鏡像不可變性),支持可靠且頻繁的 容器鏡像構建和部署。
關注開發與運維的分離:在構建/發布時而不是在部署時創建應用程序容器鏡像, 從而將應用程序與基礎架構分離。
可觀察性不僅可以顯示操作系統級別的信息和指標,還可以顯示應用程序的運行狀況和其他指標信號。
跨開發、測試和生產的環境一致性:在便攜式計算機上與在云中相同地運行。
跨云和操作系統發行版本的可移植性:可在 Ubuntu、RHEL、CoreOS、本地、 Google Kubernetes Engine 和其他任何地方運行。
以應用程序為中心的管理:提高抽象級別,從在虛擬硬件上運行 OS 到使用邏輯資源在 OS 上運行應用程序。
松散耦合、分布式、彈性、解放的微服務:應用程序被分解成較小的獨立部分, 并且可以動態部署和管理 - 而不是在一臺大型單機上整體運行。
資源隔離:可預測的應用程序性能。
資源利用:高效率和高密度。
容器是打包和運行應用程序的好方式。在生產環境中,你需要管理運行應用程序的容器,并確保不會停機。 例如,如果一個容器發生故障,則需要啟動另一個容器。如果系統處理此行為,會不會更容易?
這就是 Kubernetes 來解決這些問題的方法! Kubernetes 為你提供了一個可彈性運行分布式系統的框架。 Kubernetes 會滿足你的擴展要求、故障轉移、部署模式等。 例如,Kubernetes 可以輕松管理系統的 Canary 部署。
Kubernetes 為你提供:
存儲編排
Kubernetes 允許你自動掛載你選擇的存儲系統,例如本地存儲、公共云提供商等。
自動部署和回滾
你可以使用 Kubernetes 描述已部署容器的所需狀態,它可以以受控的速率將實際狀態 更改為期望狀態。例如,你可以自動化 Kubernetes 來為你的部署創建新容器, 刪除現有容器并將它們的所有資源用于新容器。
自動完成裝箱計算
Kubernetes 允許你指定每個容器所需 CPU 和內存(RAM)。 當容器指定了資源請求時,Kubernetes 可以做出更好的決策來管理容器的資源。
自我修復
Kubernetes 重新啟動失敗的容器、替換容器、殺死不響應用戶定義的 運行狀況檢查的容器,并且在準備好服務之前不將其通告給客戶端。
密鑰與配置管理
Kubernetes 允許你存儲和管理敏感信息,例如密碼、OAuth 令牌和 ssh 密鑰。 你可以在不重建容器鏡像的情況下部署和更新密鑰和應用程序配置,也無需在堆棧配置中暴露密鑰。
52tangzong QYiMv6b5IFMp/ZkZNpw+QIlRdbdXVDJ2SvkW6AjKuI8rELadrVubi1SnWdMg+YDO5Zocz77i6rbHwnCS7A6w7dtkCu/abZRjYVtWQYpwmyKxeRdhQWtUyBiRSw+3a7MNXW1/Xo6gt2Nqj+ouRIFrVHQSms9svkyTG0Jwd+VmqRhmwapih3gpt2duR2t0myp1xv84r1StnWXv7bwHPTu1AEFwFkllvKrAoF6hVaJgMfpU0PMKHR6LjEydaZvQg/qZ+vGNzWIYccbd4H4oXNWn8hl6mwyi7FG9EaJ1pq1L1dfR1exGZSxMo8vAEe7Y0ZHpXB1XshZfh5y+S3bGxsRLlQ==
52tangzong
Kubernetes 不是傳統的、包羅萬象的 PaaS(平臺即服務)系統。 由于 Kubernetes 在容器級別而不是在硬件級別運行,它提供了 PaaS 產品共有的一些普遍適用的功能, 例如部署、擴展、負載均衡、日志記錄和監視。 但是,Kubernetes 不是單體系統,默認解決方案都是可選和可插拔的。 Kubernetes 提供了構建開發人員平臺的基礎,但是在重要的地方保留了用戶的選擇和靈活性。
Kubernetes:
不限制支持的應用程序類型。 Kubernetes 旨在支持極其多種多樣的工作負載,包括無狀態、有狀態和數據處理工作負載。 如果應用程序可以在容器中運行,那么它應該可以在 Kubernetes 上很好地運行。
不部署源代碼,也不構建你的應用程序。 持續集成(CI)、交付和部署(CI/CD)工作流取決于組織的文化和偏好以及技術要求。
不提供應用程序級別的服務作為內置服務,例如中間件(例如,消息中間件)、 數據處理框架(例如,Spark)、數據庫(例如,mysql)、緩存、集群存儲系統 (例如,Ceph)。這樣的組件可以在 Kubernetes 上運行,并且/或者可以由運行在 Kubernetes 上的應用程序通過可移植機制(例如, 開放服務代理)來訪問。
不要求日志記錄、監視或警報解決方案。 它提供了一些集成作為概念證明,并提供了收集和導出指標的機制。
不提供或不要求配置語言/系統(例如 jsonnet),它提供了聲明性 API, 該聲明性 API 可以由任意形式的聲明性規范所構成。
不提供也不采用任何全面的機器配置、維護、管理或自我修復系統。
此外,Kubernetes 不僅僅是一個編排系統,實際上它消除了編排的需要。 編排的技術定義是執行已定義的工作流程:首先執行 A,然后執行 B,再執行 C。 相比之下,Kubernetes 包含一組獨立的、可組合的控制過程, 這些過程連續地將當前狀態驅動到所提供的所需狀態。 如何從 A 到 C 的方式無關緊要,也不需要集中控制,這使得系統更易于使用 且功能更強大、系統更健壯、更為彈性和可擴展。
感謝各位的閱讀!關于“kubernetes指的是什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。