配置文件:/etc/ansible/ansible.cfg

主机列表:/etc/ansible/hosts 

安装anslibe 

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum -y install ansible

配置文件先备份

修改配置文件hosts添加主机组 (分组)

如果要远程连接需要配置用户名和密码或密钥(两种方式都可以)

用户密码:

[webtest]
192.168.32.132 ansible_ssh_user=root ansible_ssh_pass=登录密码
192.168.32.131 ansible_ssh_user=root ansible_ssh_pass=登录密码

密钥:

生成私钥和公钥 ssh-keygen -t rsa -P ''

注意文件权限:

[root@localhost .ssh]# cp id_rsa.pub authorized_keys
[root@localhost .ssh]# ll
total 16
-rw-r--r-- 1 root root 408 Mar 14 22:32 authorized_keys
-rw------- 1 root root 1679 Mar 14 22:32 id_rsa
-rw-r--r-- 1 root root 408 Mar 14 22:32 id_rsa.pub
-rw-r--r-- 1 root root 352 Mar 14 22:20 known_hosts
[root@localhost .ssh]# chmod 600 authorized_keys
[root@localhost .ssh]# ll authorized_keys
-rw------- 1 root root 408 Mar 14 22:32 authorized_keys

公钥分别发送到被管理的主机:

scp authorized_keys 192.168.32.132:/root/.ssh/
scp authorized_keys 192.168.32.131:/root/.ssh/

测试OK:

常用模块:

注意:command和shell模块的核心参数直接为命令本身;而其它模块的参数通常为“key=value”格式

-m  command   (如下没写-m command 是因为默认模式是 command)

ansible测试:ping模块测试连通性

第一个要做的就是时间同步:

首先使用ansible的yum模块批量安装ntpdate服务

ansible all -m yum -a "state=present name=ntpdate"

批量删除两种方式:

ansible all -m yum -a "state=removed name=ntpdate"
ansible all -m yum -a "state=absent name=ntpdate"

指定节点安装及删除:

安装:ansible 192.168.32.131 -m yum -a "state=present name=ntpdate"

删除:ansible 192.168.32.131 -m yum -a "state=remove name=ntpdate"

时间同步:

ansible all -a 'ntpdate ntp1.aliyun.com'

获取模块列表:ansible-doc -l

获取指定模块的使用帮助:ansible-doc -s MOD_NAME

创建用户:

copy模块:复制文件到远程主机

用法:

(1) 复制文件

-a "src=原地址 dest=目标地址   mode=644 权限 "

(2) 给定内容生成文件

-a "content=  dest=  "

复制文件:

src原地址   dest目标地址  mode权限

注:如果文件存在将覆盖原文件,并没有提示操作需小心。

ansible all -m copy -a "src=/etc/ansible/hosts.bak dest=/opt/ mode=600"

file模块:

用法:

(1) 创建目录:

-a "path=  state=directory"

(2) 创建链接文件:

-a "path=  src=\'#\'" /p>

(3) 删除文件:

-a "path=  state=absent“

修改文件用户组属性:

ansible all -m file -a "path=/tmp/hosts.bak mode=644 owner=root group=root"

创建目录及修改属性:

创建目录
ansible webtest -m file -a "path=/opt/work state=directory"
修改组属性
ansible webtest -m file -a "path=/opt/work mode=755 owner=root group=root"

创建软链:

ansible all -m file -a "src=/opt/hosts.bak path=/tmp/hosts.link state=link"

删除软链:

ansible all -m file -a "path=/tmp/hosts.link state=absent"

fetch模块:从远程主机取文件

批量取:
ansible all -m fetch -a "src=/opt/hosts.bak dest=/root"
指定主机取:
ansible 192.168.32.131 -m fetch -a "src=/opt/hosts.bak dest=/root"

cron模块:管理计划任务条目

用法:

-a ""

minute=

hour=

day=

month=

weekday=

job=

name=

user=

        state={present|absent}

创建一个同步时间的计划任务,每5分钟同步一下服务器的时间

ansible all -m cron -a "minute='*/5' job='/usr/sbin/ntpdate ntp1.aliyun.com &> /dev/null' name='时间同步'"

删除计划任务:

ansible all -m cron -a "name='时间同步' state=absent"

hostname模块:管理主机名

用法:

name=

ansible 192.168.32.131 -m hostname -a "name=CentOS_7"

yum模块:使用yum命令完成程序包管理

用法:首先,确定主机的yum源是可用的 yum info samba

-a ""

(1) name=  state={present|latest}

(2) name=  state=absent

批量安装samba
ansible all -m yum -a "name=samba" 或 ansible all -m yum -a "name=samba state=present | latest"
查看安装状态
ansible all -a "yum info samba"
删除samba
ansible all -m yum -a "name=samba state=absent"

service模块:服务管理

用法:

-a ""

name=

state=

started

stopped

restarted

enabled=

runlevel=

安装httpd

ansible all -m yum -a "name=httpd"

启动httpd

ansible all -m service -a "name=httpd state=started enabled=true"

关闭httpd服务

ansible all -m service -a "name=httpd state=stopped enabled=false"

group模块:增加或删除组

用法:

-a ""

name=

state=

system=

gid=

创建组
ansible all -m group -a "name=ggg system=true"
删除组
ansible all -m group -a "name=ggg state=absent"

user模块:用户管理

使用格式:

name= : 创建的用户名

state= : present新增,absent删除

force= : 删除用户的时候删除家目录

system= : 创建系统用户

uid= : 指定UID

shell= : 指定shell

home= : 指定用户家目录

创建用户
ansible all -m user -a "name=ggg system=true"
查看
ansible all -a "id ggg"
删除用户
ansible all -m user -a "name=ggg state=absent"

setup模块:收集主机里面的各种信息

信息太多,指定一台收集
ansible 192.168.32.131 -m setup

Ansible安装及常用模块的更多相关文章

  1. ANSIBLE安装和常用模块模块使用详细教程

    目录 ANSIBLE安装和各种模块应用功能 安装配置ANSIBLE ANSIBLE使用 ansible-galaxy工具 ansible-pull工具 ansible-playbook ansible ...

  2. Ansible简介及常用模块

    一.基础介绍 1.简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置. ...

  3. Ansible 入门指南 - 常用模块

    介绍 module 文档: 官宣-模块分类的索引 官宣-全部模块的索引 在playbook脚本中,tasks 中的每一个 action都是对 module的一次调用.在每个 action中: 冒号前面 ...

  4. Ansible指令和常用模块使用

    这里文章记录一下ansible的指令选项和常用的模块使用 ansible指令选项 -m:要执行的模块,默认为command -a:模块的参数 -u:ssh连接的用户名,默认用root,ansible. ...

  5. mage Ansible学习1 常用模块

    一.Ansible特点 二.Ansible架构 1.core modules实现常用模块 2.Custom modules实现自定义模块 3.Connection Plugins 连接插件,可通过SS ...

  6. Ansible Ad-Hoc与常用模块

    ansible 执行结果信息–各颜色说明:ansible Ad-Hoc 说明:ansible 如何查看帮助文档与常用模块详解 主机规划 添加用户账号 说明: 1. 运维人员使用的登录账号: 2. 所有 ...

  7. Saltstack 安装与常用模块

    一.介绍 saltstack是基于C/S服务模式,在该架构中,服务器端叫做Master,客户端叫做Minion.传统的C/S模式我们这样理解,客户端发送请求给服务器端,服务器端接受到来自客户端的请求并 ...

  8. 一次性安装python常用模块

    链接:https://pan.baidu.com/s/1fuIxRUnkJJfzgrbQ8kIgvw 提取码:d1r6 电脑必须是win64才可以安装 Anaconda3安装完成后,不需要自己添加环境 ...

  9. ansible使用,常用模块

    使用ansible管理其他主机有两种方式: 1.命令行执行ansible ad-hoc命令 2.把要做的动作行为写入一个文件[playbook脚本],ansible读取脚本自动完成相应的任务. Ans ...

随机推荐

  1. 微信内置浏览器不支持 onclick 如何解决?(原因是因为内面中的内容或者标签大部分是动态生成的)

    使用了很多onclick事件,但是在Android的微信内置浏览器中,onclick是不能被执行的. 开始的写法是: // $(".contentPic").click(funct ...

  2. Hibernate 初体验

    为什么会产生 Hibernate Mybatis 这类的dao层框架 传统的jdbc 虽然执行速度很快,但是开发效率很低,随着面向对象开发的设计思想,在面向对象编程中 将对象 进行持久化,存入关系型的 ...

  3. Vue.js实现分页

    效果图 代码 <!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/1999/ ...

  4. 21个CSS3 / JS 时钟

    收集了21个酷炫的CSS / JS实现的时钟效果https://oktools.net/clocks 预览 :https://clocks.oktools.net/0/ 源码 :https://cod ...

  5. Codeforces 911 三循环数覆盖问题 逆序对数结论题 栈操作模拟

    A #include <bits/stdc++.h> #define PI acos(-1.0) #define mem(a,b) memset((a),b,sizeof(a)) #def ...

  6. @PostContruct 连接数据库的问题

    在@PostContruct中连接数据库取数据会报错,因为spring的lazy loading机制,不一定所有的bean都已经实例化好了.可以使用ApplicationListener,通过Cont ...

  7. React-Redux 总结

    一.定义与功能 React-Redux 将所有组件分成两大类:UI 组件(presentational component)和容器组件(container component) 1.UI 组件特征: ...

  8. u-boot中bss段的使用

    近日在调试uboot时,发现了一个现象,即在relocate_code前如果给未初始化或者初始化值为0的变量赋值的话,则在relocate_code后程序无法正常执行.经过学习,恶补如下知识 BSS段 ...

  9. SSH加密传输

    数据传输安全的要满足的要求: (1)消息的发送方能够确定消息只有预期的接收方可以解密(不保证第三方无法获得,但保证第三方无法解密) (2)消息的接收方可以确定消息是由谁发送的(消息的接收方可以确定消息 ...

  10. selenium操作下拉选和网页提示框

    import time from selenium import webdriver from selenium.webdriver.support.select import Select#处理下拉 ...