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

原文地址:https://www.cnblogs.com/blogscc/p/10805219.html

时间: 2024-09-29 23:50:08

ansible roles 自动化安装的相关文章

详解Ansible(Roles)自动化部署配置LAMP架构

Roles简介Ansible为了层次化.结构化地组织Playbook,使用了角色(roles).Roles能够根据层次型结构自动装载变量文件.task以及handlers等.简单来讲,roles就是通过分别将变量.文件.任务.模块及处理器放置于单独的目录中,并可以便捷地include它们,roles一般用于基于主机构建服务的场景中,但也可以用于构建守护进程等场景中.? 创建Roles 创建roles时一般需要以下步骤:首先创建以roles命名的目录.然后在roles目标下分别创建以个角色名称命令

剧本---Ansible实现自动化安装MariaDB

创建剧本 构建思路,生成目录树 [[email protected] ansible]# tree . ├── ansible.cfg ├── hostname.yml ├── hosts ├── mariadb.yml ├── role_mariadb.retry ├── role_mariadb_threng.yml ├── role_mariadb.yml └── roles ├── mariadb │?? ├── files │?? │?? └── mariadb.tar.gz │??

Kubernetes 和 Swarm 两种docker集群,基于ansible的自动化安装部署(已测)

Git repo: https://git.oschina.net/yonchin/k8s-x86_64/tree/master/x86?dir=1 注:系统是基于CentOS_7.2,ansible:2.1 简介: kube-ansible-install: 除了安装Kubernetes的主从外,还包括Kubernetes的addons(如dashboard.dns.fluentd-elasticsearch-kibana.heapster-influxdb-grafana等),还包含zabb

ansible roles实践——安装java

1.tasks/main.yml ---- name: mkdir necessary directory file: path=/usr/java/ state=directory mode=0755 - name: unzip jdk unarchive: src={{ jdk_package_name }} dest=/usr/java/ - name: set env lineinfile: dest={{ env_file }} insertafter={{ item.position

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

html { font-family: sans-serif } body { margin: 0 } article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary { display: block } audio,canvas,progress,video { display: inline-block; vertical-align: baseline } audio:not([co

ansible实现lnamp自动化安装

简介 ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet.cfengine.chef.func.fabric)的优点,实现了批量系统配置.批量程序部署.批量运行命令等功能.ansible是基于模块工作的,本身没有批量部署的能力.真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架. ansible特点: 模块化,调用特定的模块,完成特定的任务: 基于Python语言实现,由Paramiko.PyYAML和Jinja2三个关键模

ansible 自动化安装apache

ansible 自动化配置安装apache 一.准备工作 1.下载httpd.php.mysql ,我本次实验使用的版本如下: http     2.4.17 php      5.6.15 mysql    5.6.19  二进制版本 apr      1.5.2 apr-util 1.5.4 libiconv 1.14 2.在ansible服务端开始安装 编译安装apr #cd /usr/local/src #tar xf apr-1.5.2.tar.gz #cd apr-1.5.2 #./

ansible自动化安装nginx

1.安装ansible 参考:运维自动化工具之Ansible 2.ansible相关配置 cat /etc/ansible/hosts [webserver] 192.168.1.101 192.168.1.102 3.在/etc/ansible/roles中创建nginx目录结构 [[email protected] roles]# mkdir -p/etc/ansible/roles/nginx/{defaults,files,handlers,meta,tasks,templates,va

04.playbook应用和roles自动化批量安装示例

playbook是ansible实现批量自动化最重要的手段.在其中可以使用变量.引用.循环等功能,相比ad-hoc而言,其功能要强大的多. 1.1 yaml简单示例 ansible的playbook采用yaml语法.以下是一个yaml格式的文件: --- # Members in Bob's family name: Bob age: 30 gender: Male wife: name: Alice age: 27 gender: Female children: - name: Jim ag