既然要用 YAML 配置文件部署應用,現在就很有必要了解一下 Deployment 的配置格式,其他 Controller(比如 DaemonSet)非常類似。
還是以 nginx-deployment 為例,配置文件如下圖所示:

① apiVersion 是當前配置格式的版本。
② kind 是要創建的資源類型,這里是 Deployment。
③ metadata 是該資源的元數據,name 是必需的元數據項。
④ spec 部分是該 Deployment 的規格說明。
⑤ replicas 指明副本數量,默認為 1。
⑥ template 定義 Pod 的模板,這是配置文件的重要部分。
⑦ metadata 定義 Pod 的元數據,至少要定義一個 label。label 的 key 和 value 可以任意指定。
⑧ spec 描述 Pod 的規格,此部分定義 Pod 中每一個容器的屬性,name 和 image 是必需的。
此 nginx.yml 是一個最簡單的 Deployment 配置文件,后面我們學習 Kubernetes 各項功能時會逐步豐富這個文件。
執行 kubectl apply -f nginx.yml:

部署成功。同樣地,通過 kubectl get 查看 nginx-deployment 的各種資源:

Deployment、ReplicaSet、Pod 都已經就緒。如果要刪除這些資源,執行 kubectl delete deployment nginx-deployment 或者 kubectl delete -f nginx.yml。

下一節討論 Deployment 的 Scale Up/Down。
書籍:
1.《每天5分鍾玩轉Docker容器技術》
https://item.jd.com/16936307278.html
2.《每天5分鍾玩轉OpenStack》
https://item.jd.com/12086376.html
