68 lines
1.8 KiB
YAML
68 lines
1.8 KiB
YAML
---
|
|
- name: 在 master 和 ash3c 节点安装 Consul
|
|
hosts: master,ash3c
|
|
become: yes
|
|
vars:
|
|
consul_version: "1.21.5"
|
|
consul_arch: "arm64" # 因为这两个节点都是 aarch64
|
|
|
|
tasks:
|
|
- name: 检查节点架构
|
|
command: uname -m
|
|
register: node_arch
|
|
changed_when: false
|
|
|
|
- name: 显示节点架构
|
|
debug:
|
|
msg: "节点 {{ inventory_hostname }} 架构: {{ node_arch.stdout }}"
|
|
|
|
- name: 检查是否已安装 consul
|
|
command: which consul
|
|
register: consul_check
|
|
failed_when: false
|
|
changed_when: false
|
|
|
|
- name: 显示当前 consul 状态
|
|
debug:
|
|
msg: "Consul 状态: {{ 'already installed' if consul_check.rc == 0 else 'not installed' }}"
|
|
|
|
- name: 删除错误的 consul 二进制文件(如果存在)
|
|
file:
|
|
path: /usr/local/bin/consul
|
|
state: absent
|
|
when: consul_check.rc == 0
|
|
|
|
- name: 更新 APT 缓存
|
|
apt:
|
|
update_cache: yes
|
|
ignore_errors: yes
|
|
|
|
- name: 安装 consul 通过 APT
|
|
apt:
|
|
name: consul={{ consul_version }}-1
|
|
state: present
|
|
|
|
- name: 验证 consul 安装
|
|
command: consul version
|
|
register: consul_version_check
|
|
changed_when: false
|
|
|
|
- name: 显示安装的 consul 版本
|
|
debug:
|
|
msg: "安装的 Consul 版本: {{ consul_version_check.stdout_lines[0] }}"
|
|
|
|
- name: 确保 consul 用户存在
|
|
user:
|
|
name: consul
|
|
system: yes
|
|
shell: /bin/false
|
|
home: /opt/consul
|
|
create_home: no
|
|
|
|
- name: 创建 consul 数据目录
|
|
file:
|
|
path: /opt/consul
|
|
state: directory
|
|
owner: consul
|
|
group: consul
|
|
mode: '0755' |