ansible(自动化运维上)——ansible部署,添加主机组,连通性测试
ansible簡介
ansible是新出現的自動化運維工具,基于Python開發,集合了眾多運維工具(puppet、cfengine、chef、 func、fabric)的優點。實現了批量系統配置、批量程序部署、批量運行命令等功能。
工作原理
以上是從網上找到的兩張ansible工作原理圖,兩張圖基本都是在架構圖的基本上進行的拓展。從上面的圖上可以了解到:
1、管理端支持local 、ssh、zeromq 三種方式連接被管理端,默認使用基于ssh的連接---這部分對應基本架構圖中的連接模塊;
2、可以按應用類型等方式進行Host Inventory(主機群)分類,管理節點通過各類模塊實現相應的操作---單個模塊,單條命令的批量執行,我們可以稱之為ad-hoc;
3、管理節點可以通過playbooks 實現多個task的集合實現一類功能,如web服務的安裝部署、數據庫服務器的批量備份等。playbooks我們可以簡單的理解為,系統通過組合多條ad-hoc操作的配置文件 。
ansible部署
準備四臺虛擬機
1.ansible服務器
添加域名解析vim /etc/hosts
2.ansible客戶機,無需配置
yum安裝(如果沒有epel源,需要安裝)
安裝ansible
yum install -y ansible檢測部署是否完成
rpm -ql ansible #列出所有文件 rpm -qc ansible #查看配置文件 ansible --help #查看ansible幫助 ansible-doc -l #看所有模塊(A10,華為,docker,EC2,aws等等廣大廠商設備) ansible-doc -s yum #看yum模塊免密登錄(可選)
ssh-keygen ssh-copy-id host1 ssh-copy-id host2 ssh-copy-id host3取消免密登錄
刪除或者把/root/.ssh/authorized_keys內容注釋掉
定義主機清單
/etc/ansible/hosts #(系統默認路徑) host1 host2 host3連通性測試
ansible all -m ping -o #(測試所有主機的的連通性,如果是自創的主機清單在后面加上 -i+主機清單目錄) #-m 指定模塊。什么功能 #ping只是其中一個模塊。還有shell,yum等等如果沒有做免密,這里會報錯
host3 | UNREACHABLE!: Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with- mic,password).解決辦法ansible host3 -m ping -u root -k -o (增加用戶名選項,增加密碼選項)
增加主機組
/etc/ansible/hosts [webserver] host[1:3] ansible webserver -m ping -o未免密
添加主機組
vim /etc/ansible/hosts
添加用戶名密碼和端口
并對對密碼不同,端口不同的主機添加主機組
自定義主機列表
vim hostlist [dockers] host1 host2 [dockers:vars] ansible_ssh_user='root' ansible_ssh_pass='666666'加上-i參數,后面加上主機列表的文件名和主機組即可進行連通性測試
ansible -i hostlist dockers -m ping -o總結
以上是生活随笔為你收集整理的ansible(自动化运维上)——ansible部署,添加主机组,连通性测试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 大东方股票是做什么的 大东方公司业务范围
- 下一篇: t+3个工作日到账是什么意思