命令 vs 配置文件
Kubernetes 支持兩種方式創建資源:
1. 用 kubectl 命令直接創建,比如:
kubectl run nginx-deployment --image=nginx:1.7.9 --replicas=2
在命令行中通過參數指定資源的屬性。
2. 通過配置文件和 kubectl apply
創建,要完成前面同樣的工作,可執行命令:
kubectl apply -f nginx.yml
nginx.yml 的內容為:
資源的屬性寫在配置文件中,文件格式為 YAML。
下面對這兩種方式進行比較。
基於命令的方式:
-
簡單直觀快捷,上手快。
-
適合臨時測試或實驗。
基於配置文件的方式:
-
配置文件描述了
What
,即應用最終要達到的狀態。 -
配置文件提供了創建資源的模板,能夠重復部署。
-
可以像管理代碼一樣管理部署。
-
適合正式的、跨環境的、規模化部署。
-
這種方式要求熟悉配置文件的語法,有一定難度。
后面我們都將采用配置文件的方式,大家需要盡快熟悉和掌握。
kubectl apply
不但能夠創建 Kubernetes 資源,也能對資源進行更新,非常方便。不過 Kubernets 還提供了幾個類似的命令,例如 kubectl create
、kubectl replace
、kubectl edit
和 kubectl patch
。
為避免造成不必要的困擾,我們會盡量只使用 kubectl apply
,
此命令已經能夠應對超過 90% 的場景,事半功倍。
下節我們來分析一個 Deployment 的配置文件。
書籍:
1.《每天5分鍾玩轉Docker容器技術》
https://item.jd.com/16936307278.html
2.《每天5分鍾玩轉OpenStack》
https://item.jd.com/12086376.html