2023 iT邦鐵人賽 Day 29 - Kubernetes K8S
前言
今天我們要來介紹的容器管理系統是 Kubernetes
,又稱 k8s
。他是一套由 Google 創造的開源系統。被用來處理自動化部屬和管理容器化應用程式,是當今熱門的工具。
節點與叢集
我們不多說安裝的部分,直接來介紹 K8S。我們現在知道 K8S 是容器管理系統,而前一天我們也說明了何謂容器管理。那我們就來認識 K8S 是如何管理容器的。
主要節點 ( master node ) vs 工作節點 ( worker node )
在 K8S 的世界裡,是上下階級非常鮮明的社會。有一位叫做主要節點 ( master node )的大學長,老是出一張嘴,叫底下的工作節點 ( worker node ) 學弟們好好做事,努力盡力全力管理容器。
主要節點主要是負責監督工作節點的工作內容,工作節點則是負責執行被主要節點分派的任務,就是管理好各自該管理的容器。
那主要節點則是透過我們開發人員來設定 K8S 裡所謂的定義檔,來得知該做什麼事情,知道做什麼事情後就交給工作節點來處理。
所以, 身為開發人員的我們
—> 編寫定義檔 —> 主要節點
—> 發號施令 —> 工作節點
—> 管理容器。
在主要節點中,並不需要安裝 Docker Engine,而工作節點則需要 Docker Engine,畢竟兩者負責的事項不同。
叢集 ( cluster )
像這樣一個主要節點,底下有好幾個工作節點,這樣的組合就是一個叢集,所以如果系統夠龐大,就會有多個主要節點與更多個工作節點。
定義檔
上面有提到定義檔,定義檔就是用來設定主要節點的 yml
檔。K8S 有許多用來編寫定義檔的資源,其資源就是指最上層定義指令。
其中最基本,新手需要先知道的是 Pod
、 Service
、 Deployment
。這裡就先不多做介紹,有興趣可以再去找找,因為在目前階段要碰到 K8S 的機會其實不大,只要稍微有概念即可。
總結
我們終於結束了這趟旅程,希望透過這 30 天,大家都能夠認識 Docker 。今天第 29 天? 對啦,但因為明天主要是將之前提到,會將使用得到的指令彙整出來,所以明天主要就是針對這部分來發文。聽起來毫無價值!? 不會不會,裡面還會有我在前面都沒提到的指令跟 options
,所以還是值得一看的。