不須要安裝安裝客戶端,採用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