Kubernetes可以為容器編排做點什麼?
隨著微軟和亞馬遜高BIG加入雲原生計算基金會(簡稱「CNCF」),Kubernetes作為開源的容器編排產品正在成為業內管理容器環境的實實在在的標準。
Kubernetes是一個開源容器編排框架。它的功能很強大,不僅可以在運行Docker容器的同時確保它們不間斷運行,還可以做到在容器崩潰或主機崩潰時,重新啟動容器,就像VMware HA一樣,但以一種不同的方式來處理。Kubernetes支持許多不同的雲提供商和裸機部署,您可以在Linux操作系統內核進行部署,並在用戶層運行容器。
為什麼選擇Kubernetes?
大規模管理容器或容器管理。Kubernetes在希臘語中有領航員或舵手之意。Kubernetes的基本目的是確保您可以規模化管理所有容器。雖然容器本身使應用程序打包和部署過程更容易了,但是如此大規模地管理這些容器仍需要做很多的工作。Kubernetes的基本功能是讓我們可以將一個容器集群作為一個單一系統進行管理,這樣可以讓我們能夠正確輕鬆地開發同時簡化管理所有這些容器的操作。這種方法有助於開發團隊將應用程序編碼到容器中,並將其移交給Ops,並且Ops可以直接運行這些容器(而無需關心其他)。
讓我們回過頭來看容器本身,其實它本質上是一種封裝應用程序的方法,使應用程序易於在任何地方運行。然而,運營團隊需要管理系統來管理這些容器。而Kubernetes框架就可以管理大量的容器環境。
核心組件
一個容器是一個密封的應用,封裝成開發,運輸和部署的標準單元。一個容器鏡像包含代碼,運行時庫,依賴關係,配置——即將其作為輕量級包運行所需的所有內容。開發人員可以將其代碼及其依賴項打包到容器對象中,然後可以在任何環境中運行它,而且由於它們通常是小對象,所以可以將大量容器推送到單個機器上。Docker是當今世界最受歡迎的容器之一,並且它還很年輕截止目前才4+歲,但是最原始的容器技術卻可以追溯到古老的Unix時代。
Pods是多個協同工作容器單元的組合。一個節點(Pod)是可以使用Kubernetes創建,且易於發現和管理的最小的可部署運行的單元。
如果您想要運行多個容器——我們假設一個特定的Web伺服器的四個副本和一個資料庫——例如Kubernetes有一個技術來支持。這個技術被稱為副本(replication)控制器,它可以確保指定數量的pods副本正在您需要的特定服務上運行。
Kubernetes的一個基本前提是,我們可以執行一些名為「所需狀態管理」的內容,這意味著我們可以為集群服務提供一個特定的配置,並且可以由集群服務在基礎設施中執行這種配置。
如果您配置k8s(Kubernetes的簡稱),可以在物理主機中運行四個pod,並且由於某些原因,如果某些pod崩潰,那麼k8s將自動在任何可用的集群節點上啟動一個新的pod,以確保您具有所需的四個狀態副本可用。
API是在集群服務之前執行所需狀態管理的主要組件之一。這是系統的一個關鍵構件。系統的第二個關鍵構件是worker。一個worker真的只是一個容器主機。workers也作為與k8s集群服務進行通信的Kubelets(補充:Kubelets主要工作是管理Pod和容器的生命周期)。
Services 是一組協同工作的pods。它是一個包含容器的pod的邏輯結構。Services 將pods聚合在一起就像一個Web伺服器場所,例如,幾個pods(Web伺服器/內容倉庫)一起提供一個服務。您還可以考慮負載平衡器作為後端服務的示例。通常您會注意到,單獨的獨立服務需要多個單一的容器 - 他們通常需要一組共存容器,一個用於核心功能,其他更多用於支持分析,實時監控,資料庫服務,日誌記錄等活動。
標籤(Labels)常用於邏輯構造和組織一組對象。標籤也可以用於搜索不同邏輯或物理對象。
容器化環境中的基本構造:
Containers:在群集上運行的容器
Pods: 聚合容器,組合應用
Services: 協同工作的Pods
Labels: 用於組織服務,區分對象
Kubernetes承諾將雲原生基礎組件集中在一起,並提供將應用程序擴展到企業級的能力。基於對容器的廣泛支持,Kubernetes可根據您的應用需求提供更多的靈活性來選擇容器。
隨著Java,Go,.Net等廣泛的編程語言和框架支持,Kubernetes已經得到了開發社區的大力支持。Kubernetes內置支持各種資料庫,ETL系統和大數據分析。
集群可以在任何地方安裝和運行。Kubernetes完全與供應商無關,並得到Google Compute Engine,Vagrant,RackSpace,CoreOS,Fedore,Azure,AWS和vSphere等多個雲提供商的支持。它是GitHub最活躍的項目之一。
Kubernetes可以跨不同的雲平台,並提供快速有效地響應增長客戶需求的能力。應用程序可以按需擴展,應用程序的部署可以更快,更具預測性。在無需在公共或私有雲環境中使用大量資源的前提下,為開發人員提供了擴展更多增強功能和新功能的靈活性。
燒腦式Kubernetes實戰訓練營
本次培訓理論結合實踐,主要包括:Kubernetes架構和資源調度原理、Kubernetes DNS與服務發現、基於Kubernetes和Jenkins的持續部署方案 、Kubernetes網路部署實踐、監控、日誌、Kubernetes與雲原生應用、在CentOS中部署Kubernetes集群、Kubernetes中的容器設計模式、開發Kubernetes原生應用步驟介紹等,點擊識別下方二維碼加微信好友了解具體培訓內容。
TAG:Docker |
※容器編排之王Kubernetes贏了嗎?
※VMware將Kubernetes容器編排引入多個雲平台
※利用 Jenkins Pipline 來編排 DevOps 工具鏈
※岌岌可危:22000多個容器編排系統暴露在網上,如 Kubernetes、Docker Swarm……
※Terraform,自動化配置與編排必備利器
※Pica8推出白盒交換機編排軟體PicaPilot,進軍園區網
※內含《mother》舞韻編排
※Mesosphere完成1.25億美元D輪融資,進軍多雲編排市場
※舞韻瑜伽學習指南,內含《mother》成品編排
※除了冬奧會讓步NBA全明星賽,CCTV5還做了這些精心編排,用心良苦
※ZXR_PK3 組合編排的特點和誤區
※歌手2018最後決賽分組有玄機,節目編排有點針對JESSIA J
※VI的介紹和編排
※《偶像練習生》選手疑似抄襲EXO舞蹈,當問到時說是自己編排,張藝興不說破!
※李沁自拆與鄧倫CP並喊話:不要總編排緋聞男友,這樣更找不到!
※最小許可權的容器編排
※怎麼編排少兒舞蹈,這些能幫到你!
※圖文版式編排技巧!「版」中窾要
※版式編排設計與視覺習慣!有條不紊
※瑜伽老師編排課程的「套路」,學會了也可以自己練……