关于ansible的随笔

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于ansible的随笔相关的知识,希望对你有一定的参考价值。

闲来无事,写一下ansible相关的小知识吧。
1.ansible的 Ad-Hoc
什么是Ad-Hoc呢,很简单就是临时命令,就是相对于playbook直接可以执行的,简单举例。
ansible -i /tmp/host_test.txt -m command -a "hostname" -f 2
ansible -i /tmp/test.txt -f5 -m ping
这样就是最简单可以直接执行的,至于-i,-m,-f,-v,-s,-u等等这些参数指令,简单说几个,其他的自行查去吧。
-i --inventory=PATH 一般指定hosts位置,默认是在/etc/ansible/hosts
-m 指定使用的模块
-f 线程并发数
-v 输出更详细,-vvv 输出执行过程
-s --sudo执行sudo命令
-u --user 指定用户执行
这应该是很清楚了--------(懒得写了)
2.ansible的playbook
首先明确playbook采用yaml语法编写,数据结构通过缩进表示,连续的项目通过“-”来表示,key/value通过“:”来分隔,文件开头“---”,必须包含task,name
最简单shell可以转化为playbook,简单举个例子:
#!/bin/bash
yum install -y httpd httpd-devel
cp /tmp/httpd.conf /etc/httpd/conf/httpd.conf
service httpd restart
chkconfig httpd on
####################################


  • hosts: all
    sudo: yes
    tasks:
    • name: "安装apacher"
      yum: name={{ item }} state=present
      with_items:
  • httpd
  • httpd-devel
    • name: "复制配置文件"
      copy:
      src: "{{ item.src }}"
      dest: "{{ item.dest }}"
      owner: root
      group: root
      mode: 0644
      with_items:
  • {
    src: "/tmp/httpd.conf"
    dest: "/etc/httpd/conf/httpd.conf"}
    -{
    src: "/tmp/httpd-devel.conf"
    dest: "/etc/httpd/conf/httpd-devle.conf"}
    }
    -name: "检查开机自启"
    service: name=httpd state=present enabled=yes

#############################################
可以看到已经转化为标准的yaml的ansible-playbook,我们用到了几个模块。

以上是关于关于ansible的随笔的主要内容,如果未能解决你的问题,请参考以下文章

随笔-ansible-2

随笔-ansible

Ansible关于windows的管理

LINUX——关于ansible批量控制,批量命令及部署的使用

Ansible---关于yum奇葩问题记录

如何在ansible中实现关于修改文件的条件逻辑?