ansible基础 ad-hoc命令

ansible基本使用playbook入门playbook进阶ansible最佳实践roles

ansible核心组成

Inventory: 定义 Ansible 被管理主机的清单

Modules: 包括 Ansible 自带的核心模块及自定义模块

Playbooks: 剧本,定义 Ansible 多任务配置文件,由Ansible 自动执行

API: python接口,提供二次开发及系统整合能力

Plugins: 完成模块功能的补充,包括连接插件、 邮件插件等

ansible Ad-Hoc命令

Ad-Hoc命令是,完成实时的、一次性的、简单的工作

Ad-Hoc命令语法规则

常用的参数

-i 指定inventory文件

-m 指定模块

-a 参数命令

-u 指定访问用户

-k 输入密码

-K 输入sudo密码

-f 指定并发数量(默认并发数 5)

ansible常用模块

ping: 用于检测远程主机是否存活

shell:在远程主机上执行shell命令

script:在远端机器执行本地脚本

yum/apt:用于安装软件包

service:用于管理服务

file:用于配置文件属性

copy:复制文件到远程主机

setup:查看远程主机的基本信息

定义主机和主机组

Ansible 通过读取默认的主机清单配置 ,可以同时连接到多个远程主机上执行任务,也可以同时使用多个清单文件,甚至可以动态地或者从云资源中拉取清单。

定义主机变量

定义多个主机

定义组变量

常用模块的使用案例

ping模块

检测text组内主机是否存活

shell模块

在目标主机执行shell命令

chdir: 运行shell之前cd到某个目录

script模块

在目标机器上执行本地脚本

chdir:先进入目标文件夹再执行脚本

yum/apt模块

apt、 yum 模块分表用于管理Ubuntu 系列和RedHat 系列系统软件包

name: 软件包名

state:软件包的状态(present/installed/absent/removed)

注意:包管理模块指定安装软件版本时,必须本地yum源有对应的版本才行;否则执行报错

service模块

管理目标机器服务的状态

name:必选项,服务名称

state:对当前服务执行启动,停止、 重启、 重新加载等操(started,stopped,restarted,reloaded)

enabled:是否开机启动 yes|no

runlevel:运行级别

arguments:给命令行提供一些选项

file模块

操作目标机器文件属性,新建/删除文件,文件夹及链接文件

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

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

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

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

state:定义文件状态(directory/link/absent/touch/hard)

copy模块

将文件从ansible管理机拷贝到目标机器

src:源文件

dest:目标路径

backup:覆盖之前,是否备份原文件

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

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

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

setup模块

搜集系统信息

搜集主机的所有系统信息

ansible all -m setup

模块帮助

获取所有模块列表,使用:

获取模块的详细信息,请使用:

在线帮助:http://docs.ansible.com/ansible/latest/modulesbycategory.html

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180630G02PS800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券