不须要安装安装客户端,采用ssh链接,小规模服务器方便无压力linux
本次采用docker的方式安装ansible,这样跨平台部署方便,windows,linux,mac 均可以快速的安装部署。 已经写好了配置文件,只须要执行如下命令既可安装和启动ansibledocker
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]#
次命令执行了文件的拷贝,拷贝完成后执行程序的启动并判断状态windows
上图的配置文件定义了一组任务,bash
hosts 配置文件定义的是被管理服务器的ip地址或主机名 [swarm]是组名的写法,能够经过指定组名批量管理组中的服务器服务器
ansible-playbook app.yml -k
执行一组命令使用 ansible-playbook 并指定定义命令的配置文件(采用yml)格式app