ansible部署(pip安裝)


centos7 pip安裝 ansible

首先ansible基於python2.X 環境
默認centos都已經安裝好了python2環境

安裝可選性

ansible可以通過源碼,yum,pip等方式安裝
本文采用pip安裝方式

centos默認沒有安裝pip,這里我們要安裝pip

參考文獻:傳送門

1 curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
2 
3 python get-pip.py 4 
5 [root@localhost ~]# pip -V 6 pip 19.0.2 from /usr/lib/python2.7/site-packages/pip (python 2.7)

安裝基礎環境

yum install gcc glibc-devel zlib-devel rpm-build openssl-deve -y yum install -y python-devel

安裝ansible

[root@localhost ~]# pip install ansible 
[root@localhost ~]# ansible --version
ansible 2.7.7
  config file = None
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]
pip安裝是沒有config file文件的 我們可以將官網的默認文件上傳到服務器
官方文檔:傳送門 mkdir /etc/ansible touch /ect/ansible.cfg

創建后ansible會自動搜索,無需操作

[root@localhost ~]# ansible --version ansible 2.7.7 config file = /etc/ansible/ansible.cfg configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules'] ansible python module location = /usr/lib/python2.7/site-packages/ansible executable location = /usr/bin/ansible python version = 2.7.5 (default, Oct 30 2018, 23:45:53) [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

到這里pip安裝ansible就算完成了,接下來來實現一些具體的操作

ansible操作

主機說明
控制主機:10.0.15.59   用於控制其它機器的主機 
管理主機:10.0.15.60      被控制的主機
管理主機:10.0.15.66      被控制的主機
A.在控制主機創建秘鑰
    ssh-keygen -t rsa
    在root/.ssh目錄下存在兩個文件
    id_rsa是私鑰(不能外泄),id_rsa.pub這個是公鑰
B.將控制主機的公鑰遠程傳輸到管理主機
    ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.15.60
    ssh-copy-id -i ~/.ssh/id_rsa.pub 10.0.15.66
    輸入密碼后查看管理主機的.ssh目錄下是否出現authorized_keys
C.測試免密是否成功
    ssh root@10.0.15.60
    ssh root@10.0.15.66
配置免密登錄

配置管理主機

vim /etc/ansible/hosts
[group1] 10.0.15.60:2222 10.0.15.66
[group2]
10.0.15.66

A.方括號[]中是組名,用於對系統進行分類,便於對不同系統進行個別的管理.

B.一個系統可以屬於不同的組

C.如果有主機的SSH端口不是標准的22端口,可在主機名之后加上端口號,用冒號分隔

等等一些詳細的說明可以查看:官方文檔

測試

[root@localhost ~]# ansible group1 -m ping
10.0.15.66 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}
10.0.15.60 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

磁盤檢測
[root@localhost ~]# ansible all -m shell -a "df -hP|awk 'NR>1 && int(\$5) '"
10.0.15.60 | CHANGED | rc=0 >>
/dev/mapper/centos-root  9.8G  5.0G  4.9G   51% /
tmpfs                    488M  7.7M  480M    2% /run
/dev/mapper/centos-home  8.1G  2.6G  5.5G   32% /home
/dev/sda1                197M  120M   77M   61% /boot

10.0.15.66 | CHANGED | rc=0 >>
/dev/mapper/centos-root   17G  1.1G   16G    7% /
tmpfs                    488M  7.7M  480M    2% /run
/dev/sda1               1014M  130M  885M   13% /boot


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM