最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
新巴尔虎右旗| 苍溪县| 灵宝市| 家居| 温宿县| 宜兰市| 东乌| 威信县| 綦江县| 衡东县| 浦江县| 汉阴县| 茂名市| 沭阳县| 印江| 芦山县| 宁陵县| 维西| 庆安县| 弥渡县| 江安县| 文登市| 璧山县| 吴堡县| 密云县| 竹溪县| 山东| 三明市| 西吉县| 将乐县| 牟定县| 南京市| 祁阳县| 久治县| 正镶白旗| 恩平市| 泸水县| 多伦县| 凤凰县| 宁南县| 永昌县|