1:安裝ansible ,選擇的是yum 安裝,簡單,ansible的管理端必須是Linux系統
YUM是一個shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關系,並且一次安裝所有依賴的軟件包。
首先得安裝EPRL源,然后才能安裝ansible。EPEL是一個軟件倉庫項目,為RHEL和Centos提供它們默認提供的軟件包
yum -y install epel-release
yum -y install ansible
yum源用163源的可以安裝
epel-release,用鏡像掛載的沒有這個包,自己寫的一個簡單的163yum源執行腳本
vim update_yum.sh
#!/bin/bash mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup cd /etc/yum.repos.d user_id=`rpm -q centos-release | awk -F"-" '{print $3}'` if [ $user_id -eq 7 ] ;then wget http://mirrors.163.com/.help/CentOS7-Base-163.repo elif [ $user_id -eq 6 ] ;then wget http://mirrors.163.com/.help/CentOS6-Base-163.repo elif [ $user_id -eq 5 ] ;then wget http://mirrors.163.com/.help/CentOS5-Base-163.repo fi yum clean all yum makecache
2:查看是否安裝成功
ansible --version
3:ansible命令執行的方式有兩種
1)Ad-Hoc 相當於shell命令
2)Ansible-playbook 相當於腳本
4:對主機進行驗證,有兩種方法,
基於口令驗證,基於鑰匙驗證
1)
鑰匙驗證
管理端的pubilc SSH key必須在主機的authorized_keys中,也就是管理端登錄哪些主機的時候,不需要密碼
ssh-keygen 創建密鑰對
ssh-copy-id -i /root/.ssh/id_rsa.pub 10.2.0.84 把公鑰拷貝給主機 (這里是拷貝給10.2.0.84的root用戶下)
這樣就可以直接執行命令了
ansible 10.2.0.84 -m ping
2)口令驗證
也可以進行口令驗證,但是我覺得單個命令執行的時候用這個還行
ansible 10.2.0.84 -m ping -k 加上-k參數,運行的時候會問密碼
5:ansible 10.2.0.84 -m ping 執行這些指令的時候,IP地址必須在Inventory中有,才能執行,默認的Inventory指定的文件是/etc/ansible/hosts
有幾個網站: