ansible roles 自动化安装

Posted blogscc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ansible roles 自动化安装相关的知识,希望对你有一定的参考价值。

 

例:  ansible roles 自动化安装memcached

文件目录结构如下:

技术图片

 

cat memcached_role.yml

- hosts: memcached
  remote_user: root
  
  roles:
    - memcached

 

cat roles/memcached/vars/main.yml

username: memcached
groupname: memcached
memcached_port: 11211

 

cat roles/memcached/templates/memcached.j2

PORT="{{ memcached_port }}"
USER="{{ username }}"
MAXCONN="1024"
CACHESIZE="{{ ansible_memtotal_mb//4 }}"
OPTIONS=""

 

cat roles/memcached/handlers/main.yml

- name: restart service
  service: name=memcached state=restarted

 

cat roles/memcached/tasks/main.yml

- import_tasks: group.yml
- import_tasks: user.yml
- import_tasks: yum.yml
- import_tasks: templ.yml
- import_tasks: copyfile.yml
- import_tasks: start.yml

 

cat roles/memcached/tasks/group.yml

- name: create group
  group: name={{ username }} system=yes gid=11211

 

cat roles/memcached/tasks/user.yml

- name: create user
  user: name={{ username }} group={{ groupname }} uid=11211 system=yes shell=/sbin/nologin

 

cat roles/memcached/tasks/yum.yml

- name: install service
  yum: name=memcached

 

cat roles/memcached/tasks/templ.yml

- name: copy templ
  template: src=memcached.j2 dest=/etc/sysconfig/memcached
notify: restart service

 

cat roles/memcached/tasks/copyfile.yml

- name: copy file
  copy: src=memcached.log dest=/data/ owner={{ username }}

 

cat roles/memcached/tasks/start.yml

- name: start service
  service: name=memcached enabled=yes state=started

 

测试:

ansible-playbook -C memcached_role.yml

执行:

ansible-playbook  memcached_role.yml

 

以上是关于ansible roles 自动化安装的主要内容,如果未能解决你的问题,请参考以下文章

Ansible系列:playbook应用和roles自动化批量安装示例

ansible自动化安装nginx

Ansible自动化部署之ROLES

ansible编排部署lamp安装discuz

ansible-playbook基于role的配置一键安装zabbix客户端以及拉取自定义监控脚本

ansible-playbook roles 安装zabbix-agent 监控 php