我正在嘗試自動化以下操作:
- 應用物理卷
- kubectl apply -f food-pv.yaml
- kubectl apply -f bar-pv.yaml
- 應用物理卷宣告
- kubectl apply -f foo.yaml
- kubectl apply -f bar.yaml
- 應用服務
- kubectl apply -f this-service.yaml
- kubectl apply -f that-nodeport.yaml
- 應用部署
- kubectl apply -f something.yaml
現在我可以將 cmds 作為 shell 命令運行,但我認為這不是正確的方法。我一直在閱讀 Ansible 檔案,但我沒有看到我需要為此做些什么。有沒有更好的方法來應用這些 yaml 檔案而不使用一系列 shell cmd?
提前致謝
uj5u.com熱心網友回復:
最好的方法是使用 ansible kubernetes.core 集合https://github.com/ansible-collections/kubernetes.core
檔案示例:
- name: Create a Deployment by reading the definition from a local file
kubernetes.core.k8s:
state: present
src: /testing/deployment.yml
因此,您可以從包含物件的 yaml 定義的不同檔案夾中回圈使用 state: present
uj5u.com熱心網友回復:
我目前沒有一個正在運行的 kube 集群來測驗它,但你基本上應該能夠使用模塊在一個回圈中運行所有這些kubernetes.core.k8s
這是我認為應該滿足您的要求的內容(前提是您對 kube 實體的訪問權限已在您的環境中配置并正常,并且您按照檔案中的說明安裝了上述集合)
- name: install my kube objects
hosts: localhost
gather_facts: false
vars:
obj_def_path: /path/to/your/obj_def_dir/
obj_def_list:
- food-pv.yaml
- bar-pv.yaml
- foo.yaml
- bar.yaml
- this-service.yaml
- that-nodeport.yaml
- something.yaml
tasks:
- name: Install all objects from def files
k8s:
src: "{{ obj_def_path }}/{{ item }}"
state: present
apply: true
loop: "{{ obj_def_list }}"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/405319.html
標籤:
