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 配置..." |