k8s簡介

參考:
https://www.cnblogs.com/menkeyi/p/7134460.html(k8s基礎概念
https://my.oschina.net/jamesview/blog/2994112(容器和k8s的區別
https://baijiahao.baidu.com/s?id=1609932946964681808&wfr=spider&for=pc(容器

簡單地說,k8s是容器的集羣管理工具。所以要了解k8s就必須要了解容器和集羣的概念。那什麼是容器呢?容器是一種輕量級的虛擬化技術,那什麼是虛擬化技術呢?這就說來話長了,所以讓我們長話短說。
假設一個我們想讓一個程序在各種平臺上測試運行,我們就必須先準備好每個平臺的環境,但是我們可能沒有那麼多的機器去搭建每個平臺的環境,所以虛擬化技術出現了。虛擬化技術可以在現有的平臺上模擬出另一個平臺的環境,最直白的就是虛擬機,我們可以在一臺電腦上裝各種操作系統的虛擬機,這樣就解決我們的問題。但是,虛擬機太笨重了(你必須虛擬出它的cpu,內存等等,而我可能僅僅想跑一個“hello world”程序),這個時候,容器出現了。容器之間共享同一個操作系統內核(就好比你想吃飯,虛擬機的做法是跟你配了一個廚房和各種廚具,你不僅可以煮飯也可以煮菜,容器的做法就是隻給你一個電飯鍋,你只能煮飯),只包含完整運行時環境,所以它非常輕量。
集羣大家都懂,這裏不多說。集羣編排軟件像ansible、puppet,它們能管理的是像虛擬機或者實體機這樣完整的環境,無法管理容器,所以當容器技術越來越成熟,數量越來越多,k8s也就應運而生了。

k8s是master/node架構,它的工作原理大概就是,一個總指揮(master)分派任務給員工(node)幹活。作爲總指揮,它要知道任務是什麼,該分派給誰,員工有沒有好好幹活,所以master有3個主要的組件:
    api server:操作入口,用來接收請求等等
    scheduler:負責分派任務給node(在k8s中是以pod爲單位,詳情看參考鏈接)
    Controller Manager:監控node的狀態,自動恢復業務等等

node就簡單了,主要的組件是Kubelet

Kubelet:負責本Node節點上的Pod的創建、修改、監控、刪除等全生命週期管理,同時Kubelet定時“上報”本Node的狀態信息到API Server裏。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章