ansible 服务器批量管理

选择ansible的原因

不需要安装安装客户端,采用ssh连接,小规模服务器方便无压力

安装ansible

本次采用docker的方式安装ansible,这样跨平台部署方便,windows,linux,mac 都可以快速的安装部署。 已经写好了配置文件,只需要执行以下命令既可安装和启动ansible

cd ansible
# build 镜像
docker-compose build
# 启动container
docker-compose up -d

# 进入container 并执行ansible 命令
cary@caoleideMacBook-Pro:~/Code/ansible$ docker-compose exec ansible bash
bash: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8)
/bin/sh: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8)
[console]# ansible-playbook app.yml  -k
sh: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8)
sh: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8)
SSH password:

PLAY [ansible playbook] ***********************************************************************************************************************************************
sh: warning: setlocale: LC_ALL: cannot change locale (zh_CN.UTF-8)

TASK [Gathering Facts] ************************************************************************************************************************************************
ok: [192.168.33.12]
ok: [192.168.33.11]
ok: [192.168.33.13]

TASK [copy file] ******************************************************************************************************************************************************
changed: [192.168.33.12]
changed: [192.168.33.11]
changed: [192.168.33.13]

RUNNING HANDLER [up status] *******************************************************************************************************************************************
changed: [192.168.33.13]
changed: [192.168.33.11]
changed: [192.168.33.12]

RUNNING HANDLER [restart docker] **************************************************************************************************************************************
changed: [192.168.33.12]
changed: [192.168.33.11]
changed: [192.168.33.13]

PLAY RECAP ************************************************************************************************************************************************************
192.168.33.11              : ok=4    changed=3    unreachable=0    failed=0
192.168.33.12              : ok=4    changed=3    unreachable=0    failed=0
192.168.33.13              : ok=4    changed=3    unreachable=0    failed=0

[console]#

次命令执行了文件的拷贝,拷贝完成后执行程序的启动并判断状态

定义一组任务

输入图片说明 上图的配置文件定义了一组任务,

  • hosts 是指所需要管理的服务器组, all 代表所有,也可以指定组名
  • remote_user 是通过ssh远程连接使用的用户名
  • become 参数是指是否启用sudo 来提高权限,如果是root用户此参数就没有意义
  • tasks 定义一组任务 一个name是一个任务的名称,其中copy是ansible的文件拷贝模块(实际上是rsync)只同步有变化的文件,src是指源文件,dest是指远程服务器上的目录。
  • handlers 是一些命令,tasks中可以通过notify通知它里面的一个或多个命令,等tasks执行完后再执行handlers中的命令。

输入图片说明

定义被管理的服务器

hosts 配置文件定义的是被管理服务器的ip地址或主机名 [swarm]是组名的写法,可以通过指定组名批量管理组中的服务器

执行任务组

 ansible-playbook app.yml  -k

执行一组命令使用 ansible-playbook 并指定定义命令的配置文件(采用yml)格式

  • 参数 -k 是指使用密码 因为在app.yml中已经指定用户,所有这里输入的密码是此用户的密码

转载于:https://my.oschina.net/u/134732/blog/1519678

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值