1.Ansible的常用模块
ping:检查受管主机的网络是否能够连通yum:安装、更新及卸载软件包yum_repository:管理主机的软件仓库配置文件template:复制模板文件到受管主机copy:新建、修改及复制文件user:创建、修改及删除用户group:创建、修改及删除用户组service:启动、关闭及查看服务状态get_url:从网络中下载文件file:设置文件权限及创建快捷方式cron:添加、修改及删除计划任务command:直接执行用户指定的命令shell:直接执行用户指定的命令(支持特殊字符)debug:输出调试或报错信息mount:挂载硬盘设备文件filesystem:格式化硬盘设备文件lineinfile:通过正则表达式修改文件内容setup:收集受管主机上的系统及变量信息firewalld:添加、修改及删除防火墙策略lvg:管理主机的物理卷及卷组设备lvol:管理主机的逻辑卷设备ping:检查受管主机的网络是否能够连通 yum:安装、更新及卸载软件包 yum_repository:管理主机的软件仓库配置文件 template:复制模板文件到受管主机 copy:新建、修改及复制文件 user:创建、修改及删除用户 group:创建、修改及删除用户组 service:启动、关闭及查看服务状态 get_url:从网络中下载文件 file:设置文件权限及创建快捷方式 cron:添加、修改及删除计划任务 command:直接执行用户指定的命令 shell:直接执行用户指定的命令(支持特殊字符) debug:输出调试或报错信息 mount:挂载硬盘设备文件 filesystem:格式化硬盘设备文件 lineinfile:通过正则表达式修改文件内容 setup:收集受管主机上的系统及变量信息 firewalld:添加、修改及删除防火墙策略 lvg:管理主机的物理卷及卷组设备 lvol:管理主机的逻辑卷设备ping:检查受管主机的网络是否能够连通 yum:安装、更新及卸载软件包 yum_repository:管理主机的软件仓库配置文件 template:复制模板文件到受管主机 copy:新建、修改及复制文件 user:创建、修改及删除用户 group:创建、修改及删除用户组 service:启动、关闭及查看服务状态 get_url:从网络中下载文件 file:设置文件权限及创建快捷方式 cron:添加、修改及删除计划任务 command:直接执行用户指定的命令 shell:直接执行用户指定的命令(支持特殊字符) debug:输出调试或报错信息 mount:挂载硬盘设备文件 filesystem:格式化硬盘设备文件 lineinfile:通过正则表达式修改文件内容 setup:收集受管主机上的系统及变量信息 firewalld:添加、修改及删除防火墙策略 lvg:管理主机的物理卷及卷组设备 lvol:管理主机的逻辑卷设备
2.ansible命令常用语法格式为“ansible受管主机节点-m模块名称[-a模块参数]”,常见的参数如下:
-k:手动输入SSH 协议的密码-i:指定主机清单文件-m:指定要使用的模块名-M:指定要使用的模块路径-S:使用su 命令-T:设置SSH 协议的连接超时时间-a:设置传递给模块的参数--version:查看版本信息-h:帮助信息-k:手动输入SSH 协议的密码 -i:指定主机清单文件 -m:指定要使用的模块名 -M:指定要使用的模块路径 -S:使用su 命令 -T:设置SSH 协议的连接超时时间 -a:设置传递给模块的参数 --version:查看版本信息 -h:帮助信息-k:手动输入SSH 协议的密码 -i:指定主机清单文件 -m:指定要使用的模块名 -M:指定要使用的模块路径 -S:使用su 命令 -T:设置SSH 协议的连接超时时间 -a:设置传递给模块的参数 --version:查看版本信息 -h:帮助信息
3.ansible-doc命令~列举出当前Ansible服务所支持的所有模块信息
[root@dsrw ~]# ansible-doc -la10_server Manage A10 Ne...a10_server_axapi3 Manage A10 Ne...a10_service_group Manage A10 Ne...a10_virtual_server Manage A10 Ne...aci_aaa_user Manage AAA us...[root@dsrw ~]# ansible-doc -l a10_server Manage A10 Ne... a10_server_axapi3 Manage A10 Ne... a10_service_group Manage A10 Ne... a10_virtual_server Manage A10 Ne... aci_aaa_user Manage AAA us...[root@dsrw ~]# ansible-doc -l a10_server Manage A10 Ne... a10_server_axapi3 Manage A10 Ne... a10_service_group Manage A10 Ne... a10_virtual_server Manage A10 Ne... aci_aaa_user Manage AAA us...
4.ansible-doc命令~查看一个模块的详细信息
[root@dsrw ~]# ansible-doc a10_server> A10_SERVER (/usr/lib/python3.6/site-packages/ansible/modules/network/a10/a>Manage SLB (Server Load Balancer) server objects on A10Networks devices via aXAPIv2.[root@dsrw ~]# ansible-doc a10_server > A10_SERVER (/usr/lib/python3.6/site-packages/ansible/modules/network/a10/a> Manage SLB (Server Load Balancer) server objects on A10 Networks devices via aXAPIv2.[root@dsrw ~]# ansible-doc a10_server > A10_SERVER (/usr/lib/python3.6/site-packages/ansible/modules/network/a10/a> Manage SLB (Server Load Balancer) server objects on A10 Networks devices via aXAPIv2.
5.ansible-doc命令~对所有主机调用ping命令
[root@dsrw ~]# ansible all -m ping192.168.1.12 | SUCCESS => {"ansible_facts": {"discovered_interpreter_python": "/usr/libexec/platform-python"},"changed": false,"ping": "pong"[root@dsrw ~]# ansible all -m ping 192.168.1.12 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/libexec/platform-python" }, "changed": false, "ping": "pong"[root@dsrw ~]# ansible all -m ping 192.168.1.12 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/libexec/platform-python" }, "changed": false, "ping": "pong"
6.ansible-doc命令~yum_repository模块的作用是管理主机的软件仓库,能够添加、修改及删除软件仓库的配置信息。
[root@dsrw ~]# ansible-doc yum_repository> YUM_REPOSITORY (/usr/lib/python3.6/site-packages/ansible/modules/packaging>Add or remove YUM repositories in RPM-based Linuxdistributions. If you wish to update an existing repositorydefinition use [ini_file] instead.EXAMPLES:- name: Add repositoryyum_repository:name: epeldescription: EPEL YUM repobaseurl: https://download.fedoraproject.org/pub/epel/$releasever/$basearch/[root@dsrw ~]# ansible-doc yum_repository > YUM_REPOSITORY (/usr/lib/python3.6/site-packages/ansible/modules/packaging> Add or remove YUM repositories in RPM-based Linux distributions. If you wish to update an existing repository definition use [ini_file] instead. EXAMPLES: - name: Add repository yum_repository: name: epel description: EPEL YUM repo baseurl: https://download.fedoraproject.org/pub/epel/$releasever/$basearch/[root@dsrw ~]# ansible-doc yum_repository > YUM_REPOSITORY (/usr/lib/python3.6/site-packages/ansible/modules/packaging> Add or remove YUM repositories in RPM-based Linux distributions. If you wish to update an existing repository definition use [ini_file] instead. EXAMPLES: - name: Add repository yum_repository: name: epel description: EPEL YUM repo baseurl: https://download.fedoraproject.org/pub/epel/$releasever/$basearch/
7.新增软件仓库
仓库名称:EX294_BASE仓库描述:EX294 base software仓库地址:file:///media/cdrom/BaseOSGPG签名:启用GPG密钥文件:file:///media/cdrom/RPM-GPG-KEY-redhat-release[root@dsrw ~]# ansible all -m yum_repository -a 'name="EX294_BASE" description="EX294 base software" baseurl="file:///media/cdrom/BaseOS" gpgcheck=yes enabled=1 gpgkey="file:///media/cdrom/RPM-GPG-KEY-redhat-release"'192.168.1.12 | CHANGED => {"ansible_facts": {"discovered_interpreter_python": "/usr/libexec/platform-python"},"changed": true,"repo": "EX294_BASE","state": "present"}仓库名称:EX294_BASE 仓库描述:EX294 base software 仓库地址:file:///media/cdrom/BaseOS GPG签名:启用 GPG密钥文件:file:///media/cdrom/RPM-GPG-KEY-redhat-release [root@dsrw ~]# ansible all -m yum_repository -a 'name="EX294_BASE" description="EX294 base software" baseurl="file:///media/cdrom/BaseOS" gpgcheck=yes enabled=1 gpgkey="file:///media/cdrom/RPM-GPG-KEY-redhat-release"' 192.168.1.12 | CHANGED => { "ansible_facts": { "discovered_interpreter_python": "/usr/libexec/platform-python" }, "changed": true, "repo": "EX294_BASE", "state": "present" }仓库名称:EX294_BASE 仓库描述:EX294 base software 仓库地址:file:///media/cdrom/BaseOS GPG签名:启用 GPG密钥文件:file:///media/cdrom/RPM-GPG-KEY-redhat-release [root@dsrw ~]# ansible all -m yum_repository -a 'name="EX294_BASE" description="EX294 base software" baseurl="file:///media/cdrom/BaseOS" gpgcheck=yes enabled=1 gpgkey="file:///media/cdrom/RPM-GPG-KEY-redhat-release"' 192.168.1.12 | CHANGED => { "ansible_facts": { "discovered_interpreter_python": "/usr/libexec/platform-python" }, "changed": true, "repo": "EX294_BASE", "state": "present" }
8.到主机清单中的机器上查看新建成功的软件仓库配置文件
[root@dsrw ~]# cat /etc/yum.repos.d/EX294_BASE.repo[EX294_BASE]baseurl = file:///media/cdrom/BaseOSenabled = 1gpgcheck = 1gpgkey = file:///media/cdrom/RPM-GPG-KEY-redhat-releasename = EX294 base software[root@dsrw ~]# cat /etc/yum.repos.d/EX294_BASE.repo [EX294_BASE] baseurl = file:///media/cdrom/BaseOS enabled = 1 gpgcheck = 1 gpgkey = file:///media/cdrom/RPM-GPG-KEY-redhat-release name = EX294 base software[root@dsrw ~]# cat /etc/yum.repos.d/EX294_BASE.repo [EX294_BASE] baseurl = file:///media/cdrom/BaseOS enabled = 1 gpgcheck = 1 gpgkey = file:///media/cdrom/RPM-GPG-KEY-redhat-release name = EX294 base software
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
请登录后查看评论内容