ansible compose工具部署

目录结构

hosts
deployment
    - compose.yml
roles
    - compose
        - tasks
              -main.yml
        - templater
        - files

vim hosts

[compose]
192.168.106.130 hostname=rocky90-106-130
[docker]
192.168.106.130 hostname=rocky90-106-130
[timesyncclient]
192.168.106.130 hostname=rocky90-106-130
[aliyuan]
192.168.106.130 hostname=rocky90-106-130
[init]
192.168.106.130 hostname=rocky90-106-130

[all:vars]
ansible_ssh_user=root
ansible_ssh_pass=kc@123456
ansible_ssh_port=22

vim deployment/compose.yml

---
- hosts: compose
  roles: 
    - ../roles/compose

vim roles/compose/tasks/main.yml

---
# 提前执行脚本下载文件compose/files/download_compose.sh)
# bash /path/ansible-playbiook/roles/compose/files/download_compose.sh 
# 分发docker-compose-Linux-x86_64 到主机组
- name: Copy_docker-compose_to_hosts
  copy: src=docker-compose  dest=/usr/local/bin/docker-compose owner=root group=root mode=0755

vim roles/compose/files/download_compose.sh

#!/bin/bash
D_C_V="1.29.2"
script_dir=`dirname $(realpath $0)`
wget \
-O ${script_dir}/docker-compose \
https://github.com/docker/compose/releases/download/${D_C_V}/docker-compose-Linux-x86_64

测试

# 提前下载 dockercompose 因为gitee上单个最大20M
bash roles/compose/files/download_compose.sh
# 执行playbook
ansible-playbook -i hosts deployment/compose.yml

posted on 2025-11-04 10:17  luokeli  阅读(2)  评论(0)    收藏  举报

导航