ansible playbook初探

ansible all --list-hosts #看有几台主机
ansible-doc -l |grep service #查看所有带service关键字的命令
ansible-doc copy #查看copy命令说明,用法
ansible-playbook --syntax-check package.yml
ansible-playbook -C package.yml
tail -f /var/log/messages #可以看ansible playbook 运行日志
rpm -qa |grep httpd #检测httpd是否安装好
rpm -qa |grep php #检测php是否安装好

---
- name: Create users
  hosts: webservers
  tasks:
    - name: create alice user # -
      user: # 模块名称, ad-hoc中的参数定义
        name: alice
        state: present
        
    - name: create it group
      group:
        name: it
        state: present
---
- name: install packages
  host: prod
  tasks:
    - name: install httpd and php
      yum: #一共安装三个包
        name:
          - httpd 
          - php
          - mysql-server
      state: present
    - name: copy index.html to /var/www/html # 将index.html拷贝到httpd服务器中
      copy:
        src: /home/admin/index.html
        dest: /var/www/html/index.html
        owner: root
        group: root
        mode: 0644
    - name: started httpd service #用service 模块启动httpd服务
      service:
        name: httpd
        state: started
        enabled: yes

- name: install package group
  hosts: webservers
  tasks:
    - name: install development tools
      yum:
        name: "@Development tools" #加@相当于yum group install,单引号双引号都可以,不加@是安装单个包
      state: present #只安装当前版本,对比latest 安装最新版本
  
- name: upgrade all packages
  hosts: all
  tasks:
    - name: upgrade all package and all hosts
      yum:
        name: '*' #单引/双引都可
      state: latest
- name: copy index.html
    copy:
    

为何用playbook , 而不用command/ shell去做?
因为playbook 可以重复运行,执行过的它会有自动检测的功能,
而且ansible中尽量不要用cmd, shell, script 命令,显得不高级

ansible playbook 顺序执行,前边错了后边不会执行,
最终会传个py 脚本过去,会生成py 程序
会有一个 .ansible 隐藏文件,.ansible/tmp/ansible-temp-XXX.XXX-XXX/xxx.py 中就是生成的py脚本
所以这就是为何你执行ssh 命令执行yml到远程机器,对方机器一定要安装python的原因,客户端机器中会生成py脚本去执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值