定義配置時,指定最新穩定版api;
api版本可以通過命令kubectl api-versions
檢視到
配置檔案應該儲存在集群之外的版本控制倉庫中。如果需要,可以快速回滾配置、重新建立和恢復;
例如git。應該使用yaml格式編寫配置檔案,而不是json。儘管這些格式都可以使用,但yaml對使用者更加友好;
命令kubectl get pod [pod name] -o json
可以看到json化的pod編排內容
可以將相關物件組合成單個檔案,通常會更容易管理;
不要沒必要的指定預設值,簡單和最小配置減少錯誤;
在注釋中說明乙個物件描述更好維護。
和shell一樣,# 表示注釋。例如建立
nginx-deployment.yaml
來編排nginx服務:
kind: deployment
metadata:
name: nginx-deployment
namespace:default
labels:
web:nginx
spec:
replicas: 3
selector:
matchlabels:
template:
metadata:
labels:
spec:
containers:
- name: nginx
image: nginx:1.10
ports:
- containerport: 80
kind: deployment
:指定資源型別
metadata:
name: nginx-deployment
namespace:default
labels:
web:nginx
源資料部分,name指定了資源的名稱,namespace指定了命令空間(預設為default可以不指定),labels指定標籤
spec:
replicas: 3
selector:
matchlabels:
template:
metadata:
labels:
spec:
containers:
-name: nginx
image: nginx:1.10
ports:
-containerport:
80
控制器和容器的選項,replicas指定了副本數,selector表示選擇器,matchlabels表示控制器匹配pod的標籤。還需要建立乙個template指定了建立pod的引數,其中metadata是元資料。spec是容器的選項,containers定義容器引數,name指定容器名稱,image指定使用的映象,containerport指定容器埠。
nginx-service.yaml
檔案來發布服務(當然這兩個檔案也可以合併為乙個檔案)
通過命令kubectl create -f nginx-deployment.yaml
來建立資源。(服務發布的檔案同樣執行一下)
YAML配置檔案讀取
yaml格式的檔案拓展名包括 yml和.yaml,兩個都表示yaml檔案 xml格式的檔案拓展名為 xml 基本語法規則 資料結構 string foo integer 1234 float 1234.5 boolean true list 1.0,mixed list dictionary 引用 ...
yaml做配置檔案
yaml是 yaml ain t a markup language yaml不是一種置標語言 的遞迴縮寫。可以做多種用途 指令碼語言,序列化,配置檔案 我們常見的是config.yaml做配置檔案 可以看出,同乙個縮排屬於同乙個級別的,可以理解為和window的資料夾一樣,當前面有 就是乙個陣列。...
Yaml 配置檔案讀寫包
yaml 在python中的配置應用 yaml 是專門用來寫配置檔案的語言,和json相近,都是對字典做規範化檔案輸出的 yaml 語言 發音 j m l 的設計目標,就是方便人類讀寫。它實質上是一種通用的資料序列化格式。它的基本語法規則如下 1 大小寫敏感 2 使用縮排表示層級關係 3 縮排時不允...