2021年2月27日 星期六

Kubernetes-操作篇(一)-K8S的Resource

         上篇"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~NContainers),記錄了IPPersistent storage volumes,例如從Podman上來看跑一個Pod裡面有一個叫XXXX-infra記錄這個Pod的資訊,他是用Kubernetespause程式跑起來的一個Container

Service(svc)

        ip/port上的整合,讓Pod暴露出去可,讓外部主機去連線到PodContainer的服務,例如httpd80 port加上PodIP再連到cni-podman0 Bridge,最後再CombindNode上的IP那樣。

Replication Controllers(rc)

    簡單點說就是PodsCluster,可以管理增加或減少PodsNodes上執行,達到Pod的高可用性。

Persistent Volume(pv)

        Pod的永久儲存的空間,來源可以是NFS(+VDO)CephGFS。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

    還有以前學習筆記

沒有留言:

張貼留言