--- - 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