上篇"Kubernetes-架構篇(三)-K8S架構"講到Master及Work node的架構,本篇講到有關Kubernetes的操作部分,Kubernetes簡單點說就是管理Container的工具,會透過一系列的Resource去控制Pods的Life Cycle,而Kubernetes在產生一個Pod時候,會需要一些後面的內容,例如:Registry Images的來源加上自行於Github的程式碼也就是(CI/CD)持續整合及開發,合成之後產生客制的Images,佈署到Kubernetes平台,進而發佈服務給使用者使用。
一般來說K8S在佈署一個Pods時均會使用yaml file的方式進行佈署,裡面定義了這個Pod的Resource Type,(例如pods的resource,service的resource),這個Pod的名稱,標籤(在K8S的世界中幾乎所有Resource與Pods的連結均是使用這種方式找到各個pod,當然也包括K8S平台所有Nodes之間的溝通),Images的來源(如果是OCP的話會配合Source to image(S2I)的功能進行佈署),如果是Service Type的Resource則會是定義暴露的port及Cluster IP、Pod IP(由CNI定義這裡的IP)
Kubernetes的幾個重要的Resource如下:
pods(pod)
Kubernetes執行程式的基本單位(可以有1~N個Containers),記錄了IP、Persistent storage volumes,例如從Podman上來看跑一個Pod裡面有一個叫XXXX-infra記錄這個Pod的資訊,他是用Kubernetes的pause程式跑起來的一個Container。
Service(svc)
在ip/port上的整合,讓Pod暴露出去可,讓外部主機去連線到Pod中Container的服務,例如httpd開80 port加上Pod的IP再連到cni-podman0 Bridge,最後再Combind到Node上的IP那樣。
Replication Controllers(rc)
簡單點說就是Pods的Cluster,可以管理增加或減少Pods到Nodes上執行,達到Pod的高可用性。
Persistent
Volume(pv)
Pod的永久儲存的空間,來源可以是NFS(+VDO)、Ceph、GFS。Persistent Volume 的功能是負責定義先劃好一個硬碟空間
Persistent
Volume Claims(pvc)
Pod在執行時對Storage的請求,就是在Configure Pod時,這個Pod要多少硬碟容量,跟提交申請單差不多意思啦,PVC會用Tag連結到PV,而PV也會用tag聯結到Pods。
Config
Maps(cm)
如果有些Resource的內容不想讓別人看到,預設是可以看到Resource的內容,這是用來對Resource加密用的一個功能,可以針對User來控制誰可以看,誰不能看。
參考資料 >
Resource type: https://reurl.cc/WERb2L
還有以前學習筆記
沒有留言:
張貼留言