K8S-服務編排YAML


5.1 編寫YAML注意事項

YAML 是一種簡潔的非標記語言。

語法格式:

  • 縮進表示層級關系

  • 不支持制表符“tab”縮進,使用空格縮進

  • 通常開頭縮進 2 個空格

  • 字符后縮進 1 個空格,如冒號、逗號等

  • “---” 表示YAML格式,一個文件的開始

  • “#”注釋

5.2 YAML內容解析

在K8S部署一個應用的YAML內容大致分為兩部分:

 

 

控制器定義:定義控制器屬性

被控制對象:Pod模板,定義容器屬性

具體字段意義:

| apiVersion | API版本    |
| ---------- | ---------- |
| kind       | 資源類型   |
| metadata   | 資源元數據 |
| spec       | 資源規格   |
| replicas   | 副本數量   |
| selector   | 標簽選擇器 |
| template   | Pod模板    |
| metadata   | Pod元數據  |
| spec       | Pod規格    |
| containers | 容器配置   |

 

5.3 資源字段太多,記不住怎么辦?

很多同學YAML不會寫!主要原因還是用的少,里面都是由於各個資源組成,熟悉了每個資源應用,自然就會寫了,但也不用等到熟悉各種資源,這里教你幾個技巧,幫助快速上手。

  • 用run命令生成部署模板

    kubectl create deployment nginx --image=nginx:1.14 -o yaml --dry-run> my-deploy.yaml

  • 用get命令將已有部署的應用yaml導出

    kubectl get my-deploy/nginx -o=yaml --export > my-deploy.yaml

  • 如果某個字段單詞不記得了,可以通過explain查看更詳細的幫助文檔獲得

    kubectl explain pods.spec.containers

 

關於YAML鏡像策略一般有3種:

1.Always: 默認值,每次創建POD 都會重新拉取鏡像
2.IfNotPresent: 鏡像在宿主機不存在時拉取
3.Never: POd永遠不會主動拉取這個鏡像

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM