104 lines
2.6 KiB
Plaintext
104 lines
2.6 KiB
Plaintext
---
|
||
- name: 配置Nomad客户端节点
|
||
hosts: target_nodes
|
||
become: yes
|
||
vars:
|
||
nomad_config_dir: /etc/nomad.d
|
||
|
||
tasks:
|
||
- name: 创建Nomad配置目录
|
||
file:
|
||
path: "{{ nomad_config_dir }}"
|
||
state: directory
|
||
owner: root
|
||
group: root
|
||
mode: '0755'
|
||
|
||
- name: 复制Nomad客户端配置
|
||
copy:
|
||
content: |
|
||
datacenter = "dc1"
|
||
data_dir = "/opt/nomad/data"
|
||
log_level = "INFO"
|
||
bind_addr = "0.0.0.0"
|
||
|
||
server {
|
||
enabled = false
|
||
}
|
||
|
||
client {
|
||
enabled = true
|
||
# 配置七姐妹服务器地址
|
||
servers = [
|
||
"100.116.158.95:4647", # bj-semaphore
|
||
"100.81.26.3:4647", # ash1d
|
||
"100.103.147.94:4647", # ash2e
|
||
"100.90.159.68:4647", # ch2
|
||
"100.86.141.112:4647", # ch3
|
||
"100.98.209.50:4647", # bj-onecloud1
|
||
"100.120.225.29:4647" # de
|
||
]
|
||
host_volume "fnsync" {
|
||
path = "/mnt/fnsync"
|
||
read_only = false
|
||
}
|
||
# 禁用Docker驱动,只使用Podman
|
||
options {
|
||
"driver.raw_exec.enable" = "1"
|
||
"driver.exec.enable" = "1"
|
||
}
|
||
}
|
||
|
||
# 配置Podman插件目录
|
||
plugin_dir = "/opt/nomad/plugins"
|
||
|
||
addresses {
|
||
http = "{{ ansible_host }}"
|
||
rpc = "{{ ansible_host }}"
|
||
serf = "{{ ansible_host }}"
|
||
}
|
||
|
||
advertise {
|
||
http = "{{ ansible_host }}:4646"
|
||
rpc = "{{ ansible_host }}:4647"
|
||
serf = "{{ ansible_host }}:4648"
|
||
}
|
||
|
||
consul {
|
||
address = "100.116.158.95:8500"
|
||
}
|
||
|
||
# 配置Podman驱动
|
||
plugin "podman" {
|
||
config {
|
||
volumes {
|
||
enabled = true
|
||
}
|
||
logging {
|
||
type = "journald"
|
||
}
|
||
gc {
|
||
container = true
|
||
}
|
||
}
|
||
}
|
||
dest: "{{ nomad_config_dir }}/nomad.hcl"
|
||
owner: root
|
||
group: root
|
||
mode: '0644'
|
||
|
||
- name: 启动Nomad服务
|
||
systemd:
|
||
name: nomad
|
||
state: restarted
|
||
enabled: yes
|
||
daemon_reload: yes
|
||
|
||
- name: 检查Nomad服务状态
|
||
command: systemctl status nomad
|
||
register: nomad_status
|
||
changed_when: false
|
||
|
||
- name: 显示Nomad服务状态
|
||
debug:
|
||
var: nomad_status.stdout_lines |