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

[经验分享] 自动化运维工具ansible--笔记一之简介安装/常用模块

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2017-1-16 18:17:30 | 显示全部楼层 |阅读模式
目录:
     简介安装
     常用模块
简介安装:
wKioL1h4T_Oz4OcRAAHQU5MdAwM786.png
yum -y install ansible

ssh-keygen -t rsa
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.xx.xx

ansible -m  模块  -a 指定向模块传递的参数  -f 并发书 -k 默认基于密钥,使用基于口令认证 -i PATH : 指明使用的host inventory文件路径

vim ansible.cfg
host_key_checking = False

cat hosts
[web]
192.168.50.101  ansible_ssh_pass=123456

常用模块:

command:命令模块 (不支持变量和管道)
ansible web   -m command -a 'date'
cron:周期性任务计划模块
ansible websrvs -m cron -a 'name="sync time" minute="*/3" job="/usr/sbin/ntpdate time.nist.gov &> /dev/null"'
ansible web   -m cron  -a 'name="sync time" state=absent'  ##删除     present/absent  生成/异常

user:管理用户

    name
    state    present  absent
    force   删除时删除家目录
    system   创建系统用户
    uid   
    shell
    home

openssl passwd -1 -salt `openssl rand -hex 4`    加密串
ansible web -m user -a 'name=xx password=$1$1ba6487f$gEZ7LEbftHcJo9lNoWY9p/'
ansible web -m user -a 'name=xx state=absent'

copy:复制文件

    src:本地源文件路径
    content:表示直接用此处 指定的内容 生成为目标文件内容
    dest: 远程目标文件路径
    force:当设置为yes时,如果目标主机存在该文件,但内容不同,会强制覆盖。默认为yes。
    backup:在覆盖之前备份源文件,yes/no


ansible all -m copy -a 'src=/root/test.ansible dest=/tmp/'
ansible all -m copy -a 'src=/root/test.ansible dest=/tmp/  owner=root group=root mode=644 backup=yes'

file:设定文件属性

    force:需要在两种情况下强制创建软链接,一种是源文件不存在但之后会建立的情况下;另一种是目标软链接已存在,需要先取消之前的软链,然后创建新的软链,有两个选项:yes|no

    group:定义文件/目录的属组

    mode:定义文件/目录的权限

    owner:定义文件/目录的属主

    path:必选项,定义文件/目录的路径

    recurse:递归的设置文件的属性,只对目录有效

    src:要被链接的源文件的路径,只应用于state=link的情况

    dest:被链接到的路径,只应用于state=link的情况

    state:

            directory:如果目录不存在,创建目录

            file:即使文件不存在,也不会被创建

            link:创建软链接

            hard:创建硬链接

            touch:如果文件不存在,则会创建一个新的文件,如果文件或目录已存在,则更新其最后修改时间
            absent:删除目录、文件或者取消链接文件
ansible all -m file -a 'src=/tmp/test.ansible path=/tmp/test.link state=link'


server: 控制服务的运行状态

    enabled 是否开机自动启动   true  false
    state   状态值  started  stopped  restarted  reloaded   


ansible web -m service -a 'name=httpd state=started enabled=true'

shell:  将本地脚本复制到远程主机  执行
ansible web -m shell -a 'echo $TERM'

ping:

ansible all -m ping

yum:

    name
    state= present  ,  latest   表示安装;  absent 表示卸载


ansible all -m yum -a 'name=httpd  state=absent'

setup:收集主机的facs
ansible  all -m setup -a 'filter=ansible_eth0'
template:设备变量

vim /root/httpd.conf
           ...
           ServerName {{ ansible_fqdn }}
ansible websrvs -m template -a 'src=/root/httpd.conf desc=/etc/httpd/conf/httpd.conf

synchronize: 指定目录推送

ansible all -m synchronize -a 'src=/usr/local/src/ dest=/usr/local/src/ delete=yes compress=yes'

get_url:远程主机上下载url 到本地
ansible all -m get_url -a 'url=http://ftp.linux.ncsu.edu/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm dest=/tmp'



运维网声明 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-329325-1-1.html 上篇帖子: Ansible自动化运维工具阐述及配置实现 下篇帖子: 运维工具ansible理论部分
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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