Ansible-libro de jugadas montado redis

Crear un directorio:

###   Crear un directorio especificación de secuencia de comandos:
 mkdir -p / etc / ansible / los Roles / Redis / { archivos , plantillas, VARS, Tareas, por defecto, los manipuladores}

 ### Contenido Introducción: 
VARS: almacenamiento de variables de definición de 
tareas: una lista de toda la ejecución de la tarea tareas principales son los pasos en el directorio .yaml como guión definido también, se puede dividir en varios pasos, y finalmente a los mani.yaml incluir XXX.yaml el interior .. 
por defecto: el uso de este ajuste, el directorio de variable por defecto 
manejador: tareas de colocación en el interior después de la configuración cambia la definición de "notificar" para reiniciar la secuencia de comandos 
meta: definir el papel actual de las dependencias especiales , otros documentos requeridos en este documento - el include 
*** Todo el directorio anterior debería haber al menos uno principales archivos .yaml dentro del directorio principal. yaml contenido clasificado de acuerdo con la función de escritura, ansible se cargará automáticamente todas Manin en todos los directorios. yaml *** 

archivos : archivos de almacenamiento de copias por defecto y scripts módulo llamado 
plantillas: plantillas módulo llama a la enfermedad para encontrar la plantilla del archivo de configuración

 ### casos :
[root @ redescubrir 2 Redis] # árbol 
. 
├── defecto 
│ └── principales . YAML 
├── archivos 
│ └── principales . YAML 
├── manipuladores 
│ └── principales . YAML 
├── tareas 
│ └── principales . yaml 
├── plantillas 
│ ├── Redis .conf. j2 
│ └── Redis .conf. j2_bak 
└── VARs 
    └── principal . yaml

 6, 7 directorios de archivos

Preparación REDIS perfil:

Host ### hosts definidos: 
[Web] 
T1 ansible_ssh_host = 10,10 . 4.209 ansible_ssh_port = 22 se ansible_ssh_user = la raíz 

lista de parámetros de ordenadores ### se puede utilizar: 
  ansible_ssh_host 
  ansible_ssh_port 
  ansible_ssh_user 
  ansible_ssh_pass 
  ansible_python_interpreter . = / Usr / bin / python2 6.6 
  .... .. 

### redis.conf perfil listo (auto-adquirida): 
cp /etc/redis.conf /etc/ansible/roles/redis/templates/redis.conf.j2

Listo redis.yaml archivo de entrada de ansible-libro de jugadas:

### archivo de script redis.yaml: 

cd / etc / ansible / 
vim redis.yaml

 - anfitriones: # T1 de acuerdo a sus necesidades definir los hosts o grupos de hosts 
  REMOTE_USER: Raíz 
  gather_facts: Los verdaderos 
  los Roles:
   - Redis
  
 ***, de tal manera después de la lista de tareas no se puede escribir en el mismo archivo, de acuerdo con la estructura jerárquica de directorios estándar y de escritura. ***
  

Todas las etapas de tareas de secuencias:

vim main.yaml

 - Nombre: Sistema Agregar grupo {{}} redisgroup 
  grupo: gid = {{}} usergid name = {{}} redisgroup estado actual sistema = = 

 - Nombre: Sistema Agregar usuario {{}} redisuser 
  usuario: 
    nombre: ' {{redisuser}} ' 
    contraseña: " $ 6 $ yIKPGtAX $ acGYiPD08gIwwnwGIN1LhUc9JKaN5sMHrJX6VrBNvcrPBwDdiX4yZrzbKX5D6ndQorX35MlCmYekFlkIYc / " 
    shell: / sbin / nologin 
    grupo: ' {{usergid}} ' 
    uid: ' {{useruid}} ' 
    create_home: Es cierto 
    estado: presente

 -Nombre: crear Redis directorio de base de datos de
   archivo : path = ' / data / redis_data ' estado = modo de directorio = ' 0755 ' dueño del grupo = {{redisuser}} = {{redisgroup}}

 - nombre: crear registros de directorio de
   archivo : path = " / / logs / Redis datos ' estado = modo de directorio = ' 0755 ' dueño del grupo = {{redisuser}} = {{redisgroup}}

 - nombre: yum  instalar {{pkgname}}
   yum : name = {{pkgname}} = estado presente

 - nombre: conjunto de plantillas {{}} pkgname archivos de configuración
  Plantilla: src = 'redis.conf.j2 ' dest = ' /etc/redis.conf ' propietario = {} {} redisuser grupo = {} {} redisgroup mode = ' 0755 ' 
  notificar:
     - reinicio Redis servicio
    
 - nombre: conjunto {{}} pkgname estado del servicio 
  del servicio: nombre = {{elemento}} estatales = comenzado enabled = yes 
  with_items:
   - Redis

vars definición de variable:

Esta es la definición de una variable de los contenidos de esta ejecución del script definido, puede utilizar una variable con el módulo de configuración de las variables del sistema adquiere el ansible viene, también puede utilizar su propia definición de contenidos, de acuerdo con los requerimientos del cliente puede 

pkgname: ' Redis ' # iotop, iftop, H TOP '
 bindip: ' 127.0.0.1 ' 
bindip_eth0: " {{}} ansible_eth0.ipv4.address " 
MODO: ' ' 
redislog: ' /data/logs/redis/redis.log ' 
datadb: ' 30 ' 
DATADIR: ' / datos / redis_data ' 
redispass: ' 666666 ' 
MAXNUM: ' 1024 ' 
appendo:'' 
redisuser: ' Redis ' 
redisgroup: ' Redis ' 
usergid: ' 600 ' 
useruid: ' 600 '

plantillas definidas redis.conf.j2 archivo de plantilla:

*** sección de configuración de la aplicación, las principales variables de demostración y de la plantilla en el libro de jugadas aquí sólo para mostrar. Las variables vars / main.yaml variable definida en el uso de llamar ' {{}} nombre de variable '    *** 
*** dentro de Tareas escribió tamplates: automáticamente después de este directorio para encontrar *** 
[root @ Redis - 2 Redis] # egrep -ve ' ^ # | ^ $ ' Plantillas / redis.conf.j2 
el enlace}} {{bindip 
el enlace {{bindip_eth0 }} 
protegido - MODO Sí 
puerto 6379 
de TCP -backlog 511 
tiempo de espera de 0 
TCP -keepalive 300 
a daemonize {} {} MODO 
Supervisado NO 
PidFile / var / run / redis_6379.pid
aviso de nivel de registro 
del archivo de registro {{}} redislog 
bases de datos {{}} datadb 
ahorro 900  1 
Guardar 300  10 
Guardar 60  10000 
parada -escribe-en-bgsave- de error si 
rdbcompression sí 
rdbchecksum sí 
dbfilename dump.rdb 
dir {{}} datadir 
esclavo -Serve -stale- Sí datos 
esclavo -read- solamente sí 
repl -diskless- sincronización sin 
repl -diskless- sincronización -delay 5 
repl -disable-TCP- nodelay ningún 
esclavo -priority 100
requirepass {{redispass}} 
maxclients {{}} MAXNUM 
1024m MaxMemory 
appendOnly {{}} appendo 
appendfilename " appendonly.aof " 
appendfsync everysec 
no -appendfsync-ON- reescribir no 
auto -aof-rewrite-porcentaje 100 
auto -aof-rewrite- min- 64mb tamaño 
AOF -load- truncada sí 
lua - tiempo -Limit 5000 
slowlog -log-lento-que 10.000 
slowlog -max-len 128 
latencia -monitor umbral 0 
notificar-keyspace-eventos "" 
de hash -max-ZipList-entradas 512 
de hash -max-ZipList-valor 64 
lista -max-ZipList-size - 2 
lista -compress profundidad 0 
conjunto -max-intset-entradas 512 
zConfigurar -max-ZipList -Los trabajos 128 
zConfigurar -max-ZipList valor 64 
HLL opción -sparse-max-bytes 3000 
activerehashing sí 
cliente -output-buffer-límite normal 0  0  0 
cliente -output-buffer-límite de 256mb esclavo 64mb 60 
cliente -output-buffer-límite pubsub 8 MB 32 MB60 
Hz 10 
AOF sí -rewrite-incremental fsync

manipuladores de directorio, cuando el archivo de configuración ha cambiado, las tareas dentro de notificar a la reanudación de la aplicación de las medidas:

Nota: después de la tarea descrita en este documento para nombrar y tareas / . Cambios posteriores plantillas plazo que entran dentro main.yaml, descripción coherente de la llamada notificar a 

Vim main.yaml

 - Nombre: el reinicio Redis-Service 
  -Servicio: nombre = {{}} pkgname Estado = reiniciado

Ejecutar la secuencia de comandos para iniciar la instalación:

 

[root @ redescubrir 2 ansible] # ansible- libro de jugadas redis.yaml 

PLAY [t2] ******************************* ************************************************** ****************************************** 

[Datos] Gathering TAREA *** ************************************************** ************************************************** ******* 
ok: [T2] 

de la tarea [Redis: grupo Añadir sistema ReDiS] ***************************** ************************************************** **************** 
ok: [T2] 

de la tarea [Redis: Sistema Agregar usuario ReDiS] ******************** ************************************************** ************************** 
bien: [t2]

La tarea [Redis: crear Redis directorio de la base] ***************************************** ********************************************* 
bien: [t2] 

la tarea [Redis: crear directorio de registros] ****************************************** ************************************************** **** 
bien: [t2] 

TAREA [Redis: yum  instalar Redis] ********************************* ************************************************** ***************** 
ok: [T2] 

de la tarea [Redis: conjunto de plantillas ReDiS archivos Config] ****************** ************************************************** ****************** 
bien: [T2] 

de la tarea [Redis: conjunto ReDiS estado del servicio]************************************************** ******************************************* 
bien: [t2] => (item = redis) 

RECAP JUEGO ******************************************* ************************************************** ***************************** 
t2: ok = 8     cambió = 0     inalcanzable = 0     failed = 0     saltamos = 0     rescatado = 0     ignorados = 0 

 

Supongo que te gusta

Origin www.cnblogs.com/zhenxing06/p/12634125.html
Recomendado
Clasificación