如何使用Asible提高工作效率
工作场景描述
大部分的运维小哥在实际的应用场景中经常会有一些重复的动作是需要耗时费力的去完成,比如今天交付一个环境,明天一个需求出来又要交付一个重复的环境或者相似的环境,看似相同的环境,但是需要投入相同的时间成本去实现,那此时ansible或者shell就可以实现一个效果,交付标准流程化,相同或者相似的需求按原定的脚本或者规则去自动运行即可实现交付。下面选用一个named服务进行定义一个playbook编写
实现方式
实现思想
将部署过程交给playbook来实现
playbook内容
playbook如下所示,所用到的ansible模块 copy 、shell 、yum 、service
内容开始:
---
- hosts: dns ##提前到/etc/ansible/hosts 定义主机组
remote_user: root
tasks:
- name: copy yum.repo
#配置与ansible节点同样的源文件,提前配置好ansible节点的源文件,直接复制使用
copy: src=/etc/yum.repos.d/ dest=/etc/yum.repos.d/
- name: yum clean all
shell: yum clean all
- name: yum makecache
shell: yum makecache
- name: yum update
shell: yum update -y
- name: yum install bind
yum: name=bind state=present
- name: service start
service: name=named state=started enabled=yes
#配置name服务配置文件
- name: copy conf.file
copy: src=/ansible/bind/named.conf dest=/etc/named.conf
- name: copy zone.file
copy: src=/ansible/bind/test.com.zone dest=/var/named/test.com.zone
- name: chown named
shell: chown root:named /var/named/test.com.zone
- name: copy rzone.file
copy: src=/ansible/bind/192.168.2.202.zone dest=/var/named/192.168.2.202.zone
- name: chown named
shell: chown root:named /var/named/192.168.2.202.zone
- name: service restart
service: name=named state=reloaded
结语
工作中还有非常多的重复的交付实施工作其他均可通过ansible的方式来实现,真的是大大的提高工作效率