iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 5
0
自我挑戰組

Cloud/SDN/SFC...菜鳥的學習筆記系列 第 5

Day5 菜鳥的Kubernetes紀錄-介紹Kubernetes

Kubernetes是Google的開源項目中容器叢集架構管理系統,也可以簡稱為k8s(字不用打多,找資料好找)。Kubernetes提供了應用部署、輕量級、維護、擴展機制等功能,這些功能在之後會在說明如何使用。之所以Kubernetes是因為它就是為了Docker所出來的,它主要是在管理Docker的存在。

使用Kubernetes的原因

Kubernetes的優點:

  • 它是一個開源的專案。
  • 可以很輕鬆、方便的管理容器版本,可以使用滾動更新(Rolling Update)和回滾(Rollback),不管是更新還是降版都不會停止正在運作的系統當前提供的服務。
  • 可以容易控制流量。
  • 它會在容器內的應用程式出現Crash時,會自動重啟服務。
  • 可以在任意位置部署,包括混合式部署。

Kubernetes的架構


Kubernetes的架構
圖片擷取自

  • Master:負責管理所有其他Node,所以當我們想要去使用指令管理時都會在這台機器內做動作,因為是負責管理的,所以Master不能部屬任何其他服務(後續會講例外情況與使用方式)。
  • Nodes:際運行容器化應用程式和應用程式服務的地方,之後再看docker的時候可以再這個地方查到有建立那些容器,Node會自行回報最新狀態資訊到Master。因此我們也可以在Master查詢其他的node的情況。

Master的元件

etcd:用來存放所有Cluster的當前設定和運行狀態。當Master故障時,會通過這些資料去還原。
kube-apiserver:提供了资源操作的部分,也是唯一的入口,我們使用的指令部分便是從這個元件開始溝通其他元件(kubectl就是從這裡開始)。
kube-controller-manager:負責維護Cluster的狀態。
kube-scheduler:負責資源的分配、調度,將Pod分配到目前的機器上。
cloud controller manager:負責將Cluster與Cloud的API連結部分,並將與該Cloud溝通的部分與僅與Cluster溝通的部分分開。

Node的元件

kubelet:負責管理容器、Volumes和CNI等等容器相關的作業,其操作方式是由master命令操作。
kube-proxy:每一個node中運行的網路代理,實現Service的部分,也就是負責服務探索和負載平衡的工作。

關於Pod和Service的部分我們將會之後再做介紹和範例。


上一篇
Day4 淺談Docker-Docker指令集
下一篇
Day6 菜鳥的Kubernetes紀錄-安裝Kubernetes
系列文
Cloud/SDN/SFC...菜鳥的學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言