国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

k8s之YAML文件書寫秘笈

這篇具有很好參考價值的文章主要介紹了k8s之YAML文件書寫秘笈。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

? ? ?k8s之YAML文件書寫秘笈,kubernetes,容器,云原生,docker,運維,json

? ? ? ?在kubernetes的江湖里,一直流傳YAML的傳說,它是Yet Another Markup Language的英文縮寫,用來配置k8s里的各類資源.。通常,你可以選擇YAML或JSON來完成聲明式的配置文件,這種方式便于復(fù)用和保存,但命令式的方式有一定的局限性,僅有部分kubernetes資源可以使用命令式方式。本秘笈將從招式(語法)和心法(思路)出發(fā),從四個方面闡述YAML文件的秘密,快速提高內(nèi)力,增強kubernetes學(xué)習(xí)信心。

第一式: 仙人指路

? ? ? ?永遠(yuǎn)不要嘗試記住所有API或命令,計算機技術(shù)重要的是理解和實踐。API、命令、類名等等只需在理解的基礎(chǔ)上,然后有目的的去查閱、調(diào)用,最終解決問題。在書寫Kubernetes的YAML文件時,同樣會遇到例如apiVersion,kind這樣的鍵,具體的值均不需要記憶,利用相關(guān)的命令即可快速查詢得到。先去

k8s之YAML文件書寫秘笈,kubernetes,容器,云原生,docker,運維,json

用kubectl api-resources查詢到的結(jié)果

? ? ? 從上圖可以看到kubernetes的資源名稱,快捷鍵,版本號,Kind等信息列表,在書寫YAML文件時,如果不知道具體的API版本或KIND可以用這個命令獲得。APIVERSION主要分為core,apps這兩個大組,像pod,secert,service,configmap等都是kubernetes的核心資源,因此在書寫與這類資源相關(guān)的Yaml文件時,僅需寫版本號。而對于像deployment,daemonset,statefulset,replicaset這類集合,與應(yīng)用部署強關(guān)聯(lián)的資源,需要先加上apps這個組,然后再寫版本號,例如:apiVersion:apps/v1。

k8s之YAML文件書寫秘笈,kubernetes,容器,云原生,docker,運維,json

用kubectl edit deploy nginx-deployment獲得所有參數(shù)

利用kubectl edit不僅可以修改原有的資源,還可以看到相關(guān)資源的所有參數(shù),用原來的文件來給我們指導(dǎo),正是仙人指路的本意。

第二式: 唯我獨尊

? ? ?對于Yaml文件后面的部分,同樣有規(guī)律可循。kubernetes的Yaml文件主要想表達(dá)兩種狀態(tài),一個是期望狀態(tài),一個是實際狀態(tài)。其中,期望狀態(tài)以結(jié)果為導(dǎo)向,比如replica副本的數(shù)量,用戶只需要告訴api-server自己希望的結(jié)果,很有一種唯我獨尊重的感覺。在yaml文件的spec部分,表達(dá)了這種期望。而真實狀態(tài)很多時候不需要用戶去寫,利用相關(guān)的命令可以查詢到。spec部分的內(nèi)容同樣不需要去記,可以用相關(guān)的命令查詢到。

k8s之YAML文件書寫秘笈,kubernetes,容器,云原生,docker,運維,json

用kubectl explain pod解釋pod資源

利用explain可以解釋kubernetes所有資源,上圖是以pod資源為例,可以告訴用戶pod資源具體的對象或類,其中就包括spec,讓我們乘勝追擊,看看spec具體可以包含哪些鍵。

k8s之YAML文件書寫秘笈,kubernetes,容器,云原生,docker,運維,json

kubectl explain pod.spec

在書寫yaml文件時,可以利用explain了解每個資源的細(xì)節(jié),摒棄死記硬背的同時也可以加深理解。

第三式: 凌波微步

k8s之YAML文件書寫秘笈,kubernetes,容器,云原生,docker,運維,json

所謂凌波微步,意思是yaml文件的書寫要挖掘縮進規(guī)律,從上圖這個Deployment的yaml文件可以看出。但凡是map的鍵均頂格來寫,而map的值均有兩格縮寫。yaml的數(shù)據(jù)結(jié)構(gòu)有兩種map和list,上圖只有containers是list,其余全是map.在yaml中,這兩種數(shù)據(jù)結(jié)構(gòu)自身通常嵌套,對于list的值,頂格寫,且要先加上-。

第四式: 虎鶴雙形

書寫kubernetes的配置文件,可以以yaml格式,也可以以json,這兩種方式通常可以互相轉(zhuǎn)換,但是yaml由于其語法可讀性更強,已取得支配地位。

k8s之YAML文件書寫秘笈,kubernetes,容器,云原生,docker,運維,jsonjson和yaml對比

k8s之YAML文件書寫秘笈,kubernetes,容器,云原生,docker,運維,json

用-o json把已有資源導(dǎo)成json格式

無論是yaml還是json,其實底層都只不過是go和kubernetes API的交互,比如下面的代碼

k8s之YAML文件書寫秘笈,kubernetes,容器,云原生,docker,運維,json

? 總之,yaml文件僅是用來與kubernetes api互動的一種方式,只要勤于練習(xí),定能從中發(fā)現(xiàn)規(guī)律,提高書寫效率。文章來源地址http://www.zghlxwxcb.cn/news/detail-799422.html

到了這里,關(guān)于k8s之YAML文件書寫秘笈的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包