沒有安裝ansible的可以看下我們的上一篇安裝ansible文章
首先我的ansible用戶是deploy
我先再ansible 服務器裏進入deploy用戶
su - deploy
加載python3.6的虛擬環境
source /home/deploy/.py3-a2.5-env/bin/activate
加載ansible2.5版本
source /home/deploy/.py3-a2.5-env/ansible/hacking/env-setup -q
驗證ansible-playbook加載效果
ansible-playbook --version
創建一個test_playbooks測試目錄,搭建playbook框架
mkdir test_playbooks
cd test_playbooks
mkdir inventory
mkdir roles
cd inventory/
創建testenv文件
vi testenv
編寫配置文件
[testservers]
test.example.com
[testservers:vars]
server_name=test.example.com
user=root
output=/root/test.txt
創建子任務測試任務
cd ..
cd roles/
mkdir testbox
cd testbox/
mkdir tasks
cd tasks
vi main.yml
建個在目標主機 打印一句話並保存到指定目錄裏
- name: Print server name and user to remote testbox
shell: "echo 'Currently {{ user }} is logining {{ server_name }}' > {{ output }}"
返回test_playbooks目錄
cd ../../..
創建任務入口文件
vi deploy.yml
- hosts: "testservers"
gather_facts: true
remote_user: root
roles:
- testbox
創建deploy ssh本地密鑰對,一路回車就好
ssh-keygen -t rsa
與目錄服務器創建ssh免密鑰登錄,按下enter,然後輸入密碼
ssh-copy-id -i /home/deploy/.ssh/id_rsa.pub [email protected]
測試下是否可以免密鑰登錄
ssh [email protected]
如果可以不用輸入密碼則成功
回到ansible服務器的test_playbook目錄
執行寫好的任務
ansible-playbook -i inventory/testenv ./deploy.yml
然後就可以在目標主機上看到/root/text.txt出現
ansible模塊任務介紹