Ansible安裝及簡單使用備注
1、安裝epel源;
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
2、安裝:
yum install ansible -y
完成后執行:ansible --version
ansible 2.3.1.0
config file = /etc/ansible/ansible.cfg
configured module search path = Default w/o overrides
python version = 2.7.5 (default, Nov 6 2016, 00:28:07) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]
3、生成節點用的秘鑰:
ssh-keygen
拷貝秘鑰至節點服務器:
ssh-copy-id -i root@115.XXX.XXX.XXX
4、修改/etc/ansible/hosts文件,增加被控節點的IP地址, [test-nodes]為用戶組
[test-nodes]
115.XXX.XXX.XXX
測試環境:
ansible -m ping 'test-nodes'
返回:
115.XXX.XXX.XXX | SUCCESS => {
"changed": false,
"ping": "pong"
}
5、常用命令:
5.0 概述
ansible -m MOD_NAME -a MOD_ARGS
MOD_NAME 代表模塊名稱 MOD_ARGS 代表傳入模塊的參數
5.1 執行命令
備注:shell支持管道,command不支持
ansible 'test-nodes' -m command -a 'ifconfig'
ansible 'test-nodes' -m shell -a 'ifconfig|grep eth0'
5.2 拷貝文件
ansible 'test-nodes' -m copy -a 'src=./node.yaml dest=/home mode=664 backup=yes'
備注:backup代表拷貝前將原文件備份
5.3 定時操作
ansible 'test-nodes' -m cron -a 'name="make dir" minute="3" hour="11" job="mkdir /home/test01 > /dev/null"'
備注:11:03分時執行一個名為make dir的任務,執行任務為:mkdir /home/test01
5.4 服務管理
ansible 'test-nodes' -m service -a 'name=tomcat state=restart enabled=no'
5.5 rsync命令
ansible 'test-nodes' -m synchronize -a ' src=/home dest=/home'
6、ansible-palybook
- hosts: test-nodes
remote_user: root
tasks:
- name: install nginx
yum: name=nginx state=latest
tags: install
執行命令:ansible-playbook test.yml,目標機器將安裝nginx,playbook支持的語法能夠滿足較復雜運維需求,如下發配置文件等,本文不做贅述。

浙公網安備 33010602011771號