设为首页 收藏本站
查看: 1380|回复: 0

[经验分享] Ansible 基础

[复制链接]

尚未签到

发表于 2018-1-2 12:36:58 | 显示全部楼层 |阅读模式
Ansible目录结构
  配置文件目录 /etc/ansible/
  执行文件目录 /usr/bin/
  Lib库依赖目录 /usr/lib/pythonx/site-packages/ansible/
  ansible配置文件ansible.cfg
  配置文件路径  /etc/ansible/ansible.cfg
[ssh_connection] pipelining = True 管道加速功能,可提升文件传输效率

  ansible inventory配置文件hosts
  配置文件路径 /etc/ansible/hosts  ansible默认读取该inventory
  语法格式:
  

#定义单个server  
192.168.20.100
  
controller.openstack.com
  
controller.openstack.com:222 #默认端口22
  

  
定义group
  
[openstack]
  
controller.openstack.com
  
compute[1:10].openstack.com
  

  
定义主机变量
  
controller.openstack.com http_port=8080
  

  
定义group变量
  
[openstack:vars]
  
ntp_server=ntp.openstack.com
  

  

  ansible变量(非常重要)
  变量通常从如下4个位置检索:
  1. Inventory配置文件hosts
  2. Playbook中定义的vars
  3. Roles中的vars目录下的文件
  4. Roles同级目录group_vars和hosts_vars目录下的文件

Ansible命令
  注意:在执行ansible命令以前,需要将所有被管理主机配置好公私钥认证
  注意:ansible命令支持正则
  ansible
  语法格式: ansible <host-pattern> [options]
  示例1: ping模块来验证连通性
  

root@ubuntu:~# ansible openstack -m ping  

192.168.20.180 | SUCCESS => {"changed": false,"ping": "pong"  
}
  

192.168.20.182 | SUCCESS => {"changed": false,"ping": "pong"  
}
  
root@ubuntu:
~#   

  示例2:copy模块文件复制
  

root@ubuntu:~# ansible openstack -m copy -a "src=/tmp/python-memcached-1.58.tar.gz dest=/tmp/python-memcached"  
192.168.20.182 | SUCCESS => {
  "changed": true,
  "checksum": "66265a2b806fb5ecce1767b72239ac863912f355",
  "dest": "/tmp/python-memcached",
  "gid": 0,
  "group": "root",
  "md5sum": "23b258105013d14d899828d334e6b044",
  "mode": "0644",
  "owner": "root",
  "size": 30562,
  "src": "/root/.ansible/tmp/ansible-tmp-1491028332.23-112412748689813/source",
  "state": "file",
  "uid": 0
  
}
  
192.168.20.180 | SUCCESS => {
  "changed": true,
  "checksum": "66265a2b806fb5ecce1767b72239ac863912f355",
  "dest": "/tmp/python-memcached",
  "gid": 0,
  "group": "root",
  "md5sum": "23b258105013d14d899828d334e6b044",
  "mode": "0644",
  "owner": "root",
  "size": 30562,
  "src": "/root/.ansible/tmp/ansible-tmp-1491028332.22-93298111994658/source",
  "state": "file",
  "uid": 0
  
}
  
root@ubuntu:~#
  

  ansible-playbook
  语法格式:ansible-playbook playbook.yml
  ansible-vault
  语法格式:ansible-vault encrypt playbook.yml
  ansible并发
  ansible和ansible-playbook默认fork5个线程。
  可以通过-f 选项来指定需要fork的线程数。
  也可以在ansible.cfg配置文件中修改,这里我们修改为 forks 20个线程
  

[defaults]  

  
# some basic
default values...  

  
#inventory
= /etc/ansible/hosts  
#library
= /usr/share/my_modules/  
#remote_tmp
= $HOME/.ansible/tmp  
forks
= 20  
#poll_interval
= 15  
#sudo_user
= root  
#ask_sudo_pass
= True  
#ask_pass
= True  
#transport
= smart  
#remote_port
= 22  
#module_lang
= C  

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

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-430792-1-1.html 上篇帖子: ansible普通用户su切换问题 下篇帖子: ansible+docker
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表