65 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
| ---
 | |
| - name: 部署Nomad配置到所有节点
 | |
|   hosts: nomad_cluster
 | |
|   become: yes
 | |
|   
 | |
|   tasks:
 | |
|     - name: 检查节点类型
 | |
|       set_fact:
 | |
|         node_type: "{{ 'server' if inventory_hostname in groups['nomad_servers'] else 'client' }}"
 | |
|     
 | |
|     - name: 部署Nomad服务器配置文件
 | |
|       template:
 | |
|         src: nomad-server.hcl.j2
 | |
|         dest: /etc/nomad.d/nomad.hcl
 | |
|         backup: yes
 | |
|         owner: root
 | |
|         group: root
 | |
|         mode: '0644'
 | |
|       when: node_type == 'server'
 | |
|     
 | |
|     - name: 部署Nomad客户端配置文件
 | |
|       get_url:
 | |
|         url: "https://gitea.tailnet-68f9.ts.net/ben/mgmt/raw/branch/main/nomad-configs/nodes/{{ inventory_hostname }}.hcl"
 | |
|         dest: /etc/nomad.d/nomad.hcl
 | |
|         backup: yes
 | |
|         owner: root
 | |
|         group: root
 | |
|         mode: '0644'
 | |
|       when: node_type == 'client'
 | |
|     
 | |
|     - name: 重启Nomad服务
 | |
|       systemd:
 | |
|         name: nomad
 | |
|         state: restarted
 | |
|         enabled: yes
 | |
|     
 | |
|     - name: 等待Nomad服务启动
 | |
|       wait_for:
 | |
|         port: 4646
 | |
|         host: "{{ ansible_host }}"
 | |
|         timeout: 30
 | |
|       when: node_type == 'server'
 | |
|     
 | |
|     - name: 等待Nomad客户端服务启动
 | |
|       wait_for:
 | |
|         port: 4646
 | |
|         host: "{{ ansible_host }}"
 | |
|         timeout: 30
 | |
|       when: node_type == 'client'
 | |
|     
 | |
|     - name: 显示Nomad服务状态
 | |
|       systemd:
 | |
|         name: nomad
 | |
|       register: nomad_status
 | |
|     
 | |
|     - name: 显示服务状态
 | |
|       debug:
 | |
|         msg: "{{ inventory_hostname }} ({{ node_type }}) Nomad服务状态: {{ nomad_status.status.ActiveState }}"
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 |