mlczhg 发表于 2018-1-2 21:11:38

Char02 Ansible 安装与配置

  Char02 Ansible 安装与配置
  Ansible 配置管理系统由 控制主机和被管理节点组成
  控制主机,目前不支持windows OS
  1 Install
  1.1 源码安装
  Tar包安装方式
  制作rpm包安装方式
  1.2 包管理安装
  2 Ubuntu :
  

sudo apt-gett install software-properties-common  
sudo apt-add-repository ppa:ansible/ansible
  
sudo apt-get udpate
  
sudo apt-get install ansible
  

  

  3 Homebrew ( Mac OSX )安装方式
  4 PIP
  2.3 配置运行环境
  1 ANSIBLE_CONFIG
  ./ansible.cfg -> ~/.ansible.cfg -> /etc/ansible.cfg   
  2 使用公钥认证
  2.3.3 配置linux 主机ssh 无密码访问
  step 1 : ansbie control 上创建秘钥:
  

root@Ly:~# ssh-keygen -t rsa -C "YL@XXX"  
Generating public/private rsa key pair.
  
Enter file in which to save the key (/root/.ssh/id_rsa):
  
Enter passphrase (empty for no passphrase):
  
Enter same passphrase again:

  
Your>  
Your public key has been saved in /root/.ssh/id_rsa.pub.
  
The key fingerprint is:
  
2a:c8:b2:7a:13:94:81:a9:e4:fe:5f:ac:7c:4b:b6:24 YL@XXX
  
The key's randomart image is:
  
+--[ RSA 2048]----+
  
| o               |
  
|o..            |
  
|+o             |
  
|..o            |
  
|..      S      |
  
| o....         |
  
|. +..E.*         |
  
| oo...B..      |
  
|+. ..+.o.      |
  
+-----------------+
  

  

  setp 2 : 下发密钥:
  控制主机将公钥id_rsa.pub下发到被管理节点上用户的.ssh目录
  

# ssh-copy-id -i ~/.ssh/id_rsa.pub jenkins@TestSlave5  
The authenticity of host 'testslave5 (172.17.150.21)' can't be established.
  
ECDSA key fingerprint is 5e:a9:90:86:c8:73:4f:05:e1:7d:05:d3:1c:53:b0:d9.
  
Are you sure you want to continue connecting (yes/no)? yes
  
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
  
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
  
jenkins@testslave5's password:
  

  
Number of key(s) added: 1
  

  
Now try logging into the machine, with:   "ssh 'jenkins@TestSlave5'"
  
and check to make sure that only the key(s) you wanted were added.
  

  

  2.4 Ansible 测试
  2.4.1 主机连通性测试
  step 1 : 修改主机与组配置 , ansible_hosts 格式为ini
  

# cat ansible_hosts  
127.0.0.1
  

  
TestSlave
  

  

  step 2 :
  

# ansible -i ansible_hostsTestSlavesMonkey -m ping -u jenkins  
TestSlave6 | success >> {
  "changed": false,
  "ping": "pong"
  
}
  

  
TestSlave5 | success >> {
  "changed": false,
  "ping": "pong"
  
}
  

  

  2.4.2 在被管理节点上批量执行
  

# ansible -i ansible_hostsTestSlavesMonkey -u jenkins -m shell -a 'echo hello ansible'  
TestSlave5 | success | rc=0 >>
  
hello ansible
  

  
TestSlave6 | success | rc=0 >>
  
hello ansible
  

  

  2.5 获取帮助信息
  

# ansible-doc -h  
Usage: ansible-doc
  

  
Show Ansible module documentation
  

  
Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -M MODULE_PATH, --module-path=MODULE_PATH
  Ansible modules/ directory
  -l, --list            List available modules
  -s, --snippet         Show playbook snippet for specified module(s)
  -v                  Show version number and exit
  

  

  ansible-doc -l 列出了Ansible 系统支持的模块,Ansible 安装后能够列出259个模块
页: [1]
查看完整版本: Char02 Ansible 安装与配置