76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			76 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
| ---
 | |
| - name: 安装并配置新的 Nomad Server 节点
 | |
|   hosts: influxdb1
 | |
|   become: yes
 | |
|   gather_facts: no
 | |
|   
 | |
|   tasks:
 | |
|     - name: 更新包缓存
 | |
|       apt:
 | |
|         update_cache: yes
 | |
|         cache_valid_time: 3600
 | |
|       retries: 3
 | |
|       delay: 10
 | |
| 
 | |
|     - name: 安装依赖包
 | |
|       apt:
 | |
|         name:
 | |
|           - wget
 | |
|           - curl
 | |
|           - unzip
 | |
|           - podman
 | |
|           - buildah
 | |
|           - skopeo
 | |
|         state: present
 | |
|       retries: 3
 | |
|       delay: 10
 | |
| 
 | |
|     - name: 检查 Nomad 是否已安装
 | |
|       shell: which nomad || echo "not_found"
 | |
|       register: nomad_check
 | |
|       changed_when: false
 | |
| 
 | |
|     - name: 下载并安装 Nomad
 | |
|       block:
 | |
|         - name: 下载 Nomad 1.10.5
 | |
|           get_url:
 | |
|             url: "https://releases.hashicorp.com/nomad/1.10.5/nomad_1.10.5_linux_amd64.zip"
 | |
|             dest: "/tmp/nomad.zip"
 | |
|             mode: '0644'
 | |
| 
 | |
|         - name: 解压 Nomad
 | |
|           unarchive:
 | |
|             src: "/tmp/nomad.zip"
 | |
|             dest: "/usr/bin/"
 | |
|             remote_src: yes
 | |
|             owner: root
 | |
|             group: root
 | |
|             mode: '0755'
 | |
| 
 | |
|         - name: 清理临时文件
 | |
|           file:
 | |
|             path: "/tmp/nomad.zip"
 | |
|             state: absent
 | |
|       when: nomad_check.stdout == "not_found"
 | |
| 
 | |
|     - name: 验证 Nomad 安装
 | |
|       shell: nomad version
 | |
|       register: nomad_version_output
 | |
|       
 | |
|     - name: 显示安装结果
 | |
|       debug:
 | |
|         msg: |
 | |
|           ✅ 节点 {{ inventory_hostname }} 软件安装完成
 | |
|           📦 Podman: {{ ansible_facts.packages.podman[0].version if ansible_facts.packages.podman is defined else 'checking...' }}
 | |
|           🎯 Nomad: {{ nomad_version_output.stdout.split('\n')[0] }}          
 | |
| 
 | |
|     - name: 启用 Podman socket
 | |
|       systemd:
 | |
|         name: podman.socket
 | |
|         enabled: yes
 | |
|         state: started
 | |
|       ignore_errors: yes
 | |
| 
 | |
|     - name: 继续完整配置
 | |
|       debug:
 | |
|         msg: "软件安装完成,现在将运行完整的 Nomad 配置..." |