安裝和配置 ansible 環境

2021-10-06 08:02:42 字數 2109 閱讀 5570

ansible是一款簡潔、高效的運維自動化工具。只需要將ansible安裝在主控機器上,就可以通過ssh協議實現針對大量受管伺服器的批量化、劇本化的管理。

1)ansible安裝

軟體包:ansible、sshpass、python3-jinja2、python3-pyramiko等

# yum  -y  install  ansible   //裝包

# ansible --version     //確認版本相關資訊

2)ansible環境配置檔案

全域性配置:/etc/ansible/ansible.cfg

預設主機清單:/etc/ansible/hosts     //存放受管主機列表

預設角色目錄:/etc/ansible/roles     //存放預設的各種任務角色資料

預設使用者身份:root

擴充套件配置:

~/.ansible.cfg          //使用者配置,會覆蓋全域性配置

./ansible.cfg          //工作目錄配置(本文採用這種配置方式),會覆蓋全域性、使用者配置

3)sudo提權設定

受管機接受控制的方式:

++ a. 受管機提供root使用者+密碼

++ b. 受管機提供已授sudo特權的普通使用者(比如alice)

# visudo

alice   all=(all)       nopasswd:all

主控機常規設定(可以新增同名sudo授權使用者):

[alice@control ~]$ mkdir  ansible &&  cd  ansible

[alice@control ansible]$ vim  ansible.cfg     //內容可參考全域性配置檔案

[defaults]

inventory = inventory       //主機清單檔名

remote_user = alice         //連接受管機的遠端使用者名稱

roles_path = roles         //角色目錄名

[privilege_escalation]       //設定使用者 sudo 提權

become=true         //自動提權

become_method=sudo       //提權方式

become_user=root         //提權目標使用者

become_ask_pass=false       //無需密碼

4)主機清單(inventory)

主機清單的作用:

++ 為接受ansible管理的大批量主機設定位址列表、分組

++ 清單位址 localhost 表示本機,無需定義

++ 清單位址 all 表示清單中所有主機,也無需定義

主機清單位址的一般寫法:

[alice@control ansible]$ vim  inventory   //建立清單檔案   

172.25.254.101       //可以指定單個ip

172.25.254.102

172.25.254.[103:105]     //可以指定ip位址範圍

[websvrs]       //可以定義分組websvrs

web1.example.com      //可以指定單個可查詢的fqdn名稱

node1       //也可以指定主機別名(/etc/hosts中對映的位址)

[dbsvrs]       //可以定義分組dbsvrs

db1.example.com

db2.example.com

db3  ansible_ssh_host=192.168.1.3   ansible_ssh_port=2222      //適用於非標主機

db4  ansible_ssh_user="zhsan"  ansible_ssh_pass="1234567"     //適用於非標使用者

[tedu:children]     //組tedu可以包含其他組(websvrs、dbsvrs)

websvrs

dbsvrs

[alice@control ~]$ ansible all --list-hosts   //列出所有可控主機

.. ..

ansible安裝及配置

ansible安裝及準備 yum install epel release y 安裝依賴工具 yum install git python python pip y yum y install ansible 配置ansible ssh金鑰登陸 ssh keygen t rsa b 2048 回車 ...

ansible 安裝配置

安裝 yum install y ansible 關閉selinux 建立乙個ssh 放置主機資訊 mkdir p etc ansible ssh cd 建立hosts centos7修改主機名 hostnamectl set hostname baidu 然後reboot 把私鑰上傳到 etc a...

Ansible 一 配置安裝

puppet ruby開發 salt python開發,有客戶端,使用rabbitmq訊息佇列,支援併發,在機器數量很多時效果比ansible好。ansible python開發,沒有客戶端,基於ssh,同時只能建立乙個隧道,不支援併發,適於維護數量不是很多的機器。m 指定模組 command 只支...