自動化運維Ansible安裝篇

2022-03-17 03:44:22 字數 3230 閱讀 9519

ansible自動化工具之--部署篇

ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具(puppet、cfengine、chef、func、fabric)的優點,實現了批量系統配置、批量程式部署、批量執行命令等功能。 ansible是基於模組工作的,本身沒有批量部署的能力。真正具有批量部署的是ansible所執行的模組,ansible只是提供一種框架。主要包括:

(1)、連線外掛程式connection plugins:負責和被監控端實現通訊;

(2)、host inventory:指定操作的主機,是乙個配置檔案裡面定義監控的主機;

(3)、各種模組核心模組、command模組、自定義模組;

(4)、借助於外掛程式完成記錄日誌郵件等功能;

(5)、playbook:劇本執行多個任務時,非必需可以讓節點一次性執行多個任務。

ansible中文學習權威**

如何安裝ansible

官網安裝ansible的幾種方式參考一下 ,接下來給大家的介紹的是通過pip的方式安裝ansible的2.3.2版本.

本次使用的是centos6.7版本作業系統,所以在安裝ansible之前需要把預設的python2.6.6版本公升級至python2.7.5版本

python公升級

安裝python2.7.5版本

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel gcc-c++

tar xf python-2.7.5.tar.gz

編譯與安裝python

cd python-2.7.5

./configure –prefix=/usr/local

make && make install

make clean

make distclean

將系統python命令指向python 2.7

mv /usr/bin/python /usr/bin/python2.6.6

ln -s /usr/local/bin/python2.7 /usr/bin/python

將yum需要執行的python指定為2.6.6

vi /usr/bin/yum

將檔案頭部的

#!/usr/bin/python

改成#!/usr/bin/python2.6.6

pip安裝ansible

更換映象源:opsx源站

根據系統版本選擇合適的源:

安裝pip: python get-pip.py

安裝ansible:

建立pip軟連線: ln -s /usr/local/bin/pip /usr/bin/pip

制定版本安裝ansible: pip install ansible==2.3.2.0

檢視ansible版本: ansible --version

ansible基本配置

ansible是輕量級的自動化批量管理工具,無需客戶端安裝agent就可以操作遠端主機,下面介紹兩種hosts配置方式,在介紹之前pip安裝的ansible是沒有配置檔案的,需要手動建立配置檔案目錄。

建立ansible目錄,預設是在/etc/目錄下

mkdir /etc/ansible

建立配置檔案

touch /etc/ansible/ansible.conf

基本配置資訊:

[defaults]

inventory = /etc/ansible/hosts

forks = 5

log_path=/var/log/ansible.log

host_key_checking = false

[accelerate]

accelerate_port = 5099

accelerate_timeout = 30

accelerate_connect_timeout = 5.0

基礎配置,根據需求自行新增配置檔案

ansible執行前的最後一次配置hosts

hosts配置引數

ansible_ssh_host   #用於指定被管理的主機的真實ip

ansible_ssh_port #用於指定連線到被管理主機的ssh埠號,預設是22

ansible_ssh_user #ssh連線時預設使用的使用者名稱

ansible_ssh_pass #ssh連線時的密碼

ansible_sudo_pass #使用sudo連線使用者時的密碼

ansible_sudo_exec #如果sudo命令不在預設路徑,需要指定sudo命令路徑 ansible_ssh_private_key_file #秘鑰檔案路徑,秘鑰檔案如果不想使用ssh-agent管理時可以使用此選項

ansible_shell_type #目標系統的shell的型別,預設sh

ansible_connection #ssh 連線的型別: local , ssh , paramiko,在 ansible 1.2 之前預設是 paramiko ,後來智慧型選擇,優先使用基於 controlpersist 的 ssh (支援的前提)

ansible_python_interpreter #用來指定python直譯器的路徑,預設為/usr/bin/python 同樣可以指定ruby 、perl 的路徑

ansible_*_interpreter #其他直譯器路徑,用法和ansible_python_interpreter類似,這裡"*"可以是ruby或才perl等其他語言

hosts配置檔案可用兩種方式配置:

1、ssh

2、金鑰

本次介紹使用ssh的方式配置hosts檔案來控制主機

vim /etc/ansible/hosts

[web-202]

10.244.78.202 ansible_ssh_user=root ansible_ssh_pass=qwe`123

[web-204]

10.244.78.204 ansible_ssh_user=root ansible_ssh_pass=qwe`123

[web-206]

10.244.78.206 ansible_ssh_user=root ansible_ssh_pass=qwe`123

[webserver:children]

web-202

web-204

web-206

自動化運維ansible

sever1 172.25.60.1 server2 172.25.60.2 server3 172.25.60.3 etc ansible ansible.cfg 主配置檔案,配置ansible工作特性 etc ansible hosts 主機清單 etc ansible roles 存放角色的目...

ansible 自動化運維工具

ansible 自動化運維工具 批量管理 python開發 無客戶端 基於ssh服務 22 安裝 1.ansible包在擴充套件源,epel release yum y install epel release yum repolist 2.安裝,ansible yum y install ansi...

自動化運維ansible解析

name version capacity centos 7 3.10.0 693.el7.x86 64 1 smp tue aug 22 21 09 27 utc 2017 x86 64 x86 64 x86 64 gnu linux ansible 不需要安裝客戶端,通過sshd去通訊 基於模組...