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
[TestSlavesMonkey]
TestSlave[5:6]
step 2 :
# ansible -i ansible_hosts TestSlavesMonkey -m ping -u jenkins
TestSlave6 | success >> {
"changed": false,
"ping": "pong"
}
TestSlave5 | success >> {
"changed": false,
"ping": "pong"
}
2.4.2 在被管理节点上批量执行
# ansible -i ansible_hosts TestSlavesMonkey -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 [options] [module...]
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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com