管理技巧
警告:Kubernetes 對象應(yīng)該只使用一種技術(shù)進行管理丹皱±鹪啵混合使用不同的技術(shù),會導致相同對象出現(xiàn)未定義的行為猾愿。
管理技術(shù)操作 ? ? 推薦環(huán)境 ? ?支持撰寫 ? ?學習曲線
命令式的方式 ? ? 活動對象 ? ?開發(fā)項目 ? ? 1+最低
命令式對象配置 ?單文件 ? ? ? 生產(chǎn)項目 ? ? ?1中等
聲明式對象配置 ? 文件目錄 ? 生產(chǎn)項目 ? ? 1+最高
命令式的方式
當使用命令式的命令時蹋半,用戶直接對集群中的活動對象進行操作他巨。用戶提供kubectl命令的參數(shù)或標記進行操作。
例子
通過創(chuàng)建 Deployment 對象來運行 nginx 容器的實例:
kubectl run nginx --image nginx
使用不同的語法做同樣的事情:
kubectl create deployment nginx --image nginx
命令式對象配置
在命令式對象配置中减江,kubectl命令指定操作(創(chuàng)建染突,替換等),可選標志和至少一個文件名稱辈灼。指定的文件必須包含對象的完整定義以 YAML 或 JSON 格式
例子
創(chuàng)建對象定義配置文件:
kubectl create -f nginx.yaml
刪除兩個配置文件中定義的對象:
kubectl delete -f nginx.yaml -f redis.yaml
通過覆寫實時配置更新配置文件中定義的對象:
kubectl replace -f nginx.yaml
聲明式對象配置
當使用聲明式對象配置時份企,用戶對本地存儲的對象配置文件進行操作,但是用戶沒有定義要對文件執(zhí)行的操作巡莹。通過kubectl自動檢測每個對象進行創(chuàng)建司志、更新和刪除操作。這樣可以在目錄層級上工作降宅,因為不同的對象可能需要不同的操作骂远。
例子
處理configs目錄中的所有對象配置文件,創(chuàng)建或修補(patch)活動對象:
kubectl apply -f configs/
遞歸處理目錄:
kubectl apply -R -f configs/
對象管理的具體操作參見如下:
https://kubernetes.io/docs/tutorials/object-management-kubectl/object-management/
kubectl命令:
https://kubernetes.io/docs/user-guide/kubectl/v1.6/
kubernetes指南