43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			YAML
		
	
	
	
---
 | 
						|
- name: 修复 Nomad 服务器 region 配置
 | 
						|
  hosts: nomad_servers
 | 
						|
  become: yes
 | 
						|
  vars:
 | 
						|
    nomad_config_dir: /etc/nomad.d
 | 
						|
  
 | 
						|
  tasks:
 | 
						|
    - name: 备份当前 Nomad 配置
 | 
						|
      copy:
 | 
						|
        src: "{{ nomad_config_dir }}/nomad.hcl"
 | 
						|
        dest: "{{ nomad_config_dir }}/nomad.hcl.backup.{{ ansible_date_time.epoch }}"
 | 
						|
        remote_src: yes
 | 
						|
      ignore_errors: yes
 | 
						|
 | 
						|
    - name: 更新 Nomad 配置文件以添加 region 设置
 | 
						|
      blockinfile:
 | 
						|
        path: "{{ nomad_config_dir }}/nomad.hcl"
 | 
						|
        insertafter: '^datacenter = '
 | 
						|
        block: |
 | 
						|
          region = "dc1"          
 | 
						|
        marker: "# {mark} Ansible managed region setting"
 | 
						|
      notify: restart nomad
 | 
						|
 | 
						|
    - name: 更新节点名称以移除 .global 后缀(如果存在)
 | 
						|
      replace:
 | 
						|
        path: "{{ nomad_config_dir }}/nomad.hcl"
 | 
						|
        regexp: 'name = "(.*)\.global(.*)"'
 | 
						|
        replace: 'name = "\1\2"'
 | 
						|
      notify: restart nomad
 | 
						|
 | 
						|
    - name: 确保 retry_join 使用正确的 IP 地址
 | 
						|
      replace:
 | 
						|
        path: "{{ nomad_config_dir }}/nomad.hcl"
 | 
						|
        regexp: 'retry_join = \[(.*)\]'
 | 
						|
        replace: 'retry_join = ["100.81.26.3", "100.103.147.94", "100.90.159.68", "100.116.158.95", "100.98.209.50", "100.120.225.29"]'
 | 
						|
      notify: restart nomad
 | 
						|
 | 
						|
  handlers:
 | 
						|
    - name: restart nomad
 | 
						|
      systemd:
 | 
						|
        name: nomad
 | 
						|
        state: restarted |