Kubernetes 又稱 K8s,是一個容器叢集管理系統,可以自動化的部署及管理多台機器上的多個容器。
容器建構在最底層的作業系統 Linux 之上,而 Kubernetes 又建構在容器之上。也因此為這些容器提供管理的功能。
Kubernetes官網對於Kubernetes的服務描述為 :
Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications.
這段描述說明了他的主要功能 :
雖然每個容器獨立運行不受其他容器互相干擾,但是隨著時間及需求增加,所需要運行的服務和資料量就會增加,這時就會需要進行擴展容量。
Kubernetes 就可以做到為了多台機器進行擴展容量,他提供了非常良好的資源調度。
Docker 也有提供 Docker Swarm 來提供多台機器調度的能力,但是功能上相較 Kubernetes 來說相對遜色許多。
Kubernetes 屬於分布式系統,而其具有四種基本的元件,由小到大分別為 : Pod、Worker Node、Master Node、Cluster。
Pod 為 Kubernetes 運作的最小單位,一個 Pod 可以由一個或多個容器組成,而這些 Pod 具有以下幾個特點 :
yaml
檔。Worker Node 簡稱 Node,是 Kubernetes 運作的最小硬體單位,一個 Node 對應到一台機器。
每個 Node 都有三個組件 : kubelet、kube-Proxy、Container Runtime
kubelet
kube-Proxy
Container Runtime
Master Node 簡稱 Master,可以看成是一個特殊的 Node 負責管理其他的 Node。
Master 具有四個組件 : kube-apiserver、etcd、kube-scheduler、kube-controller-manager
kube-apiserver
etcd
kube-controller-manager
kube-scheduler
Kubernetes 中多個 Node 與 Master 的集合
本篇介紹了 Kubernetes 的基本概念以及架構,有了 Kubernetes 來幫忙管理 Container,在維護上就會更方便。下一篇我們就要來實際操作 Kubernetes。
[1]什麼是 Kubernetes?| Microsoft Azure
[2]Kubernetes 基礎教學(一)原理介紹
[3]帶動IT轉型與軟體開發革命的Kubernetes
[4]KUBERNETES 技術分享 –【CLOUDMILE X GCPUG.TW
[5]Kubernetes在夯什麼—K8S基礎介紹
[6]前言 & 介紹Kubernetes
[7] GKE 系列文章(一) – 為什麼使用 Kubernetes
[8] Kubernetes Basics | Microsoft Azure YouYube
Container
Kubernetes