国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

pod 控制器 4

2023-07-04 23:11 作者:阿兵云原生  | 我要投稿


對(duì)于 pod 使用 yaml 文件或者 json 描述文件生成,之前都有提到過(guò),且對(duì) yaml 的每一個(gè)屬性都有介紹到

確實(shí)是屬性非常的多,但是我們知道如何去區(qū)分哪些是重要的部分,哪些是可有可無(wú)的部分之后,這些就變得簡(jiǎn)單了

pod 的主要組成部分

我們可以查看一下任意一個(gè)已經(jīng)運(yùn)行中的 pod

上面看到的屬性,大多都是通過(guò) yaml 文件來(lái)定義的

pod 定義是由這幾個(gè)部分組成的:

  • 使用 K8S 中 api 的版本和 yaml 描述的資源類(lèi)型

下面這 3 大塊,基本上在所有的 K8S 資源中都可以看到

  • metadata

包括名稱(chēng),命名空間,標(biāo)簽,該容器的其他信息

  • spec

對(duì)于 pod 的實(shí)際說(shuō)明,如該 pod 的容器是哪些,卷是哪些等等

  • status

創(chuàng)建 pod 的時(shí)候不寫(xiě)這一部分,這一部分是包含只讀的運(yùn)行時(shí)數(shù)據(jù),展示了資源該時(shí)刻的狀態(tài)

手動(dòng)創(chuàng)建 pod

之前我們有嘗試過(guò)通過(guò) kubectl run ... 的方式來(lái)直接通過(guò)拉取鏡像后創(chuàng)建 pod

很多時(shí)候后,我們是需要自己寫(xiě) yaml 后來(lái)運(yùn)行生成 pod 的

例如自動(dòng)創(chuàng)建:

kubectl run xmtkubia --image=xiaomotong888/xmtkubia --port=8080

咱們可以這樣來(lái)手動(dòng)創(chuàng)建一個(gè) pod

xmtkubia.yaml

apiVersion:?v1
kind:?Pod
metadata:
??name:?xmt-kubia
spec:
??containers:
??-?image:?xiaomotong888/xmtkubia
????name:?xmtkubia
????ports:
????-?containerPort:?8080
??????protocol:?TCP

這樣寫(xiě)起來(lái)就比較簡(jiǎn)單了,其實(shí)和之前我們使用 docker 來(lái)運(yùn)行成容器的做法原理是一樣的,此處是

  • 定義 Kubernates API 版本是 v1

  • 資源類(lèi)型是 Pod

  • 該 pod 是 基于 xiaomotong888/xmtkubia 鏡像的單個(gè)容器組成的

kubectl explain

我們可以使用 kubectl explain 來(lái)查看有哪些 API 對(duì)象,都是支持的那些屬性

我們期望查看 pods 的就可以這樣來(lái)查看

kubectl explain pods

我們期望查看 pod 里面的 spec 對(duì)象需要填寫(xiě)哪些字段,我們就可以這樣來(lái)查看

kubectl explain pod.spec

通過(guò)上述方式,就可以看到每一個(gè)對(duì)象的都有哪些屬性,以及如何使用等等

通過(guò)上述查看 explain,例如 container 對(duì)象后面就帶有 required 關(guān)鍵字,也就是說(shuō),我們編寫(xiě) spec 的時(shí)候, container 這個(gè)對(duì)象必須填寫(xiě)

當(dāng)然,也可以參看 ?github 文檔 , 這里面有詳細(xì)的說(shuō)明 , 我們對(duì)于每一個(gè)屬性都進(jìn)行深究意義并不大,主要是我們會(huì)用,后續(xù)能夠知道其底層原理

pod 的操作方式補(bǔ)充

創(chuàng)建一個(gè) pod

kubectl create -f xmtkubia.yaml

查看 pod

kubectl get pods

查看 pod 的更多信息

kubectl get pods -o wide

得到 pod 的完整描述文件,以 yaml 的方式

kubectl get pod xmt-kubia -o yaml

得到 pod 的完整描述文件,以 json 的方式

kubectl get pod xmt-kubia -o json

查看容器的日志

docker logs 容器id

查看 pod 的日志

kubectl logs pod名字

$?kubectl?logs?xmt-kubia
xmt?kubia?server?starting...

查看多容器的 pod 的日志

kubectl logs pod名字 -c 容器名字

$?kubectl?logs?xmt-kubia?-c?xmtkubia
xmt?kubia?server?starting...

查看 pod 的描述信息

kubectl describe pod pod名字,如:

kubectl?describe?pod?xmt-kubia

如何訪問(wèn) pod 里面的容器

之前我們有說(shuō)到過(guò),可以建 一個(gè) service,外部直接訪問(wèn) service 即可,關(guān)于 service 的進(jìn)階后面一起分享

在 pod 這一塊,我們想要在 本地機(jī)器訪問(wèn) ?pod 里面的容器,我們本地調(diào)試的時(shí)候可以使用端口轉(zhuǎn)發(fā)的方式來(lái)完成

上面的 pod ,我們知道容器里面的服務(wù)端口是 8080 , 這個(gè)端口對(duì)于在本機(jī),肯定是訪問(wèn)不到的,因?yàn)?pod 里面有自己獨(dú)立的文件系統(tǒng),地址,端口等等

我們將本機(jī)的 8088 轉(zhuǎn)發(fā)到 容器里面的 8080 端口,可以這樣通過(guò) ?port-forward 來(lái)完成

kubectl port-forward xmt-kubia 8088:8080

查看效果

我們打開(kāi)另一個(gè)終端,訪問(wèn) 8080 端口仍然是訪問(wèn)不通的,但是我們本機(jī)訪問(wèn) 8088 是可以通的

上述使用 port-forward 簡(jiǎn)單流程是這樣的

使用端口轉(zhuǎn)發(fā)的方式測(cè)試我們指定的 pod,這是一種有效的方法,當(dāng)然還有其他的方法,后續(xù)再分享

今天就到這里,學(xué)習(xí)所得,若有偏差,還請(qǐng)斧正

歡迎點(diǎn)贊,關(guān)注,收藏

朋友們,你的支持和鼓勵(lì),是我堅(jiān)持分享,提高質(zhì)量的動(dòng)力

好了,本次就到這里

技術(shù)是開(kāi)放的,我們的心態(tài),更應(yīng)是開(kāi)放的。擁抱變化,向陽(yáng)而生,努力向前行。

我是阿兵云原生,歡迎點(diǎn)贊關(guān)注收藏,下次見(jiàn)~


pod 控制器 4的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
郯城县| 扶余县| 綦江县| 恩平市| 河南省| 吉林省| 友谊县| 从化市| 斗六市| 故城县| 淄博市| 托克逊县| 七台河市| 绵竹市| 色达县| 永仁县| 东丽区| 新昌县| 新化县| 称多县| 渝北区| 南木林县| 桃园市| 望奎县| 枝江市| 宜川县| 宣武区| 宁城县| 准格尔旗| 临安市| 新昌县| 饶平县| 肇庆市| 福贡县| 渝中区| 大埔县| 衡南县| 西乌珠穆沁旗| 兴安县| 屏南县| 无锡市|