自动化运维工具-Ansible(3)-模块介绍

目录

  • Ansible命令格式
  • Ansible常用模块
  • Ansible模块如何搜索
  • Ansible模块保存位置

 

 

一、 Ansible命令格式:

Ansible(比喻为工人) + Servers (目标机器:单个机器或者机器组)  +  Module names (根据要干的活,选择特定的工具箱)  +  commands  scripts and programming (顺序执行的阐述性,生物行为编程。根据要达到的目的。如何一步一步执行操作命令,有容错,有判断。像是一个简洁的编程块)

例子: ansible    labservers      -m copy                       -a          'content="I am smart ansbile! \n"     backup=yes     dest=/data/name     mode=666'

             ansible   机器组                 copy模块                   先准备内容,备份原始文件,覆盖目标文件名,修改目标文件权限。

我们还可以添加  src,md5sum,gid,group,uid,owner,size,state 等等参数。每个命令以“=” 传参数值,如果有的话。每个命令之间以空格来分割。

我们也可以把这些命令按行来写入YAML扩展的PlayBook文件中,作为统一的模板,加快开发,或者运维的效率。

例如:

  copy:
                src: /srv/myfiles/foo.conf
                dest: /etc/foo.conf
                owner: foo
                group: foo
                mode: '0644'
二、Ansible常用模块:

Ansible 根据不同的操作对象,利用Python语言的健壮性和可扩展性,衍生出了很多功能模块。不但支持常规的系统操作,而且对流行的云环境也在无缝衔接。

cloud       公有云,虚拟化等。
commands    常用命令
database    mysql,mssql,pq,mongodb,proxysql,influxdb,postgresql.
identity    cyberark,ipa,keycloak,onepassword,opendj.
inventory   主机列表维护:添加主机,主机分组等。类似Windows的RDG文件。
monitoring  各种监控,通过各种设备或者系统日志,监控系统健康,部署上线,系统通信等等。
network      各种网络设备,网络终端:交换机,路由器,防火墙,LB设备等。
packaging    按编程语言和系统类型分两种。编程语言:pip,npm,yarn,pear,maven_artifact,gem,bower等;系统:yum,rpm,slackpkg,apk,dnf等。
remote_management  远程管理:ipmi,redfish,stacki,ucs,onwview,manageiq,lxca,intersight,imc,hpilo,foreman,dellemc,cpm,cobbler.
storage       按存储分:emc,glusterfs,hpe3par,ibm,infinidat,netapp,purestorage,vexata,zfs.
utilities
windows       Windows系统管理:有域,用户,权限,网络,存储,日志,功能等等相关的操作管理。一个Py文件,对应一个powershell转换的文件。
clustering    集群管理:k8s,openshift,pacemake_cluster,znode,etcd3,consul.
crypto        加密管理:acme,entrust,openssh,openssl,luks_device,get_certificate.
files         文件管理:acl,archive,assemble,blockinfile,copy,fetch,file,find,ini_file,iso_extract,lineinfile,patch,read_csv,replace,state,synchronize,tempfile,template,unarchive,xattr,xml.
messaging    rabbitmq  消息队列
net_tools     网络管理:get_url,uri,slurp,cloudflare_dns,dnsimple,dnsmadeeasy,haproxy,ip_netns,netbox,nios,nmcli,snmp_facts.
notification    通知:邮件,短消息,会话等。
source_control  版本控制:git,gitlab,hg,subversion,bzr,bitbucket.
system          系统管理:aix_devices,authorized_key,dconf,getent,java_keystore,make, openwrt_init,puppet, sefcontext, setup,timezone,
aix_filesystem,awall,debconf,group, kernel_blacklist,mksysb, osx_defaults,selinux_permissive,solaris_zone,ufw,aix_inittab,beadm,facter, hostname,known_hosts,modprobe,pamd, _python_requirements_facts,selinux,svc,user,
aix_lvg,capabilities,filesystem,listen_ports_facts,mount,pam_limits,python_requirements_info,selogin,sysctl, vdo,aix_lvol, cron, firewalld,interfaces_file,locale_gen, nosh, parted, reboot, seport, syspatch, xfconf,
alternatives,cronvar,gather_facts,iptables,lvg,ohai, pids, runit,service_facts,systemd,xfs_quota,at, crypttab, gconftool2,java_cert, lvol, open_iscsi,ping, seboolean,service,sysvinit

web_infrastructure   互联网架构类型管理:ansible,django,gunicorn,jenkins,nginx,rundeck,apache,deploy,ejabberd,htpasswd,jboss,jira,sophos,taiga.

三、Ansible模块如何搜索

Ansible支持的模块很多,支持的命令很多。不能一一记得明白,所以,可以通过以下命令查询,参考。迅速上手命令使用的方法。

列出所有的Ansible模块: ansible-doc   -l

查看指定模块的说明文档: ansible-doc   mysql_db

搜索指定模块中的某一个特定功能关键字:  ansible-doc mysql_db  | grep  login

四、Ansible模块保存位置

根据不同的操作系统,不同的Python系统版本,Ansible程序安装的模式不同,其模块保存的路径也不尽相同。但是我们可以根据在查询模块命令使用的时候找到模块默认的安装路径。

例如: [root@ansible modules]# ansible-doc get_url
                      > GET_URL    (/usr/lib/python3.6/site-packages/ansible/modules/net_tools/basics/get_url.py)

我们可以看到,此系统的Python版本是3.6, 安装路径在“/usr/lib/python3.6/site-packages/ansible/modules” 目录下。
 

 

 

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值