63 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
| ---
 | |
| - name: Configure Nomad Dynamic Host Volumes for NFS
 | |
|   hosts: nomad_clients
 | |
|   become: yes
 | |
|   vars:
 | |
|     nfs_server: "snail"
 | |
|     nfs_share: "/fs/1000/nfs/Fnsync"
 | |
|     mount_point: "/mnt/fnsync"
 | |
| 
 | |
|   tasks:
 | |
|     - name: Stop Nomad service
 | |
|       systemd:
 | |
|         name: nomad
 | |
|         state: stopped
 | |
| 
 | |
|     - name: Update Nomad configuration for dynamic host volumes
 | |
|       blockinfile:
 | |
|         path: /etc/nomad.d/nomad.hcl
 | |
|         marker: "# {mark} DYNAMIC HOST VOLUMES CONFIGURATION"
 | |
|         block: |
 | |
|           client {
 | |
|             # 启用动态host volumes
 | |
|             host_volume "fnsync" {
 | |
|               path = "{{ mount_point }}"
 | |
|               read_only = false
 | |
|             }
 | |
|             
 | |
|             # 添加NFS相关的节点元数据
 | |
|             meta {
 | |
|               nfs_server = "{{ nfs_server }}"
 | |
|               nfs_share = "{{ nfs_share }}"
 | |
|               nfs_mounted = "true"
 | |
|             }
 | |
|           }          
 | |
|         insertafter: 'client {'
 | |
| 
 | |
|     - name: Start Nomad service
 | |
|       systemd:
 | |
|         name: nomad
 | |
|         state: started
 | |
|         enabled: yes
 | |
| 
 | |
|     - name: Wait for Nomad to start
 | |
|       wait_for:
 | |
|         port: 4646
 | |
|         delay: 10
 | |
|         timeout: 60
 | |
| 
 | |
|     - name: Check Nomad status
 | |
|       command: nomad node status
 | |
|       register: nomad_status
 | |
|       ignore_errors: yes
 | |
| 
 | |
|     - name: Display Nomad status
 | |
|       debug:
 | |
|         var: nomad_status.stdout_lines
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 |