运维开发网

关于ansible的随笔

运维开发网 https://www.qedev.com 2020-10-25 13:16 出处:51CTO 作者:18001306553
闲来无事,写一下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,我们用到了几个模块。

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号