monté Ansible-livre de jeu Redis

Créez un répertoire:

###   Créer un répertoire de spécification de script:
 mkdir -p / etc / ansible / rôles / Redis / { fichiers , modèles, VARS, Tâches, par défaut, manutentionnaires}

 ### Contenu Introduction: 
VARS: stockage définition variable de 
tâches: une liste de toutes l'exécution des tâches principales tâches sont les étapes du répertoire .yaml trop script défini, peut être divisé en plusieurs étapes, et enfin aux mani.yaml inclure XXX.yaml l' intérieur .. 
par défaut: en utilisant ce paramètre , le répertoire variable par défaut 
gestionnaire: placer des tâches à l' intérieur après la configuration modifie la définition de « notifier » pour redémarrer le script 
meta: définir le rôle actuel des dépendances spéciales , d' autres documents requis dans le présent document - le comprennent 
*** Tout le répertoire ci - dessus doit être d' au moins un principaux fichiers .yaml dans le répertoire principal. contenu yaml classé selon la fonction d'écriture, ansible chargera automatiquement tous Manin dans tous les répertoires. yaml *** 

fichiers : scripts de copie de fichiers de stockage par défaut et le module appelé 
modèles: module modèles appelle la maladie pour trouver le fichier modèle de configuration

 ### cas :
[root @ redis-2 Redis] # arbre 
. 
├── par défaut 
│ └── principaux . YAML 
de fichiers 
│ └── principaux . YAML 
les gestionnaires de 
│ └── principaux . YAML 
tâches de 
│ └── principales . YAML 
├── modèles 
│ ├── Redis .conf. j2 
│ └── Redis .conf. j2_bak 
└── vars 
    └── principale . YAML

 6 répertoires, 7 fichiers

Préparation Redis profil:

Hôtes ### hôtes définis: 
[Web] 
T1 ansible_ssh_host = 10,10 . 4,209 ansible_ssh_port = 22 est ansible_ssh_user = la racine 

liste des paramètres d'hôtes ### peut être utilisé: 
  ansible_ssh_host 
  ansible_ssh_port 
  ansible_ssh_user 
  ansible_ssh_pass 
  ansible_python_interpreter . = / Usr / bin / python2 6.6 
  .... .. 

### prêts profil redis.conf (acquis auto-): 
cp /etc/redis.conf /etc/ansible/roles/redis/templates/redis.conf.j2

Prêt redis.yaml fichier d'entrée ansible-PlayBook:

### fichier script redis.yaml: 

cd / etc / ansible / 
vim redis.yaml

 - hôtes: # T1 en fonction de leurs besoins définir des hôtes ou groupes d'hôtes 
  de remote_user: racine 
  gather_facts: Vrai 
  les rôles:
   - Redis
  
 *** de telle manière après la liste des tâches ne peuvent pas être écrites dans le même fichier, conformément à la structure hiérarchique de répertoires standard et d'écriture. ***
  

Toutes les étapes de script de tâches:

vim main.yaml

 - Nom: Système groupe Ajouter {{}} redisgroup 
  groupe: gid = {{}} usergid name = {{}} redisgroup state = système actuel = oui

 - Nom: système Ajouter un utilisateur {{}} redisuser 
  utilisateur: 
    nom: ' {{redisuser}} ' 
    mot de passe: " 6 $ yIKPGtAX $ acGYiPD08gIwwnwGIN1LhUc9JKaN5sMHrJX6VrBNvcrPBwDdiX4yZrzbKX5D6ndQorX35MlCmYekFlkIYc / " 
    shell: / sbin / nologin 
    groupe: ' {{usergid}} ' 
    uid: ' {{useruid}} ' 
    CREATE_HOME: True 
    état: présent

 -Nom: créer Redis répertoire de base de données
   fichier : path = ' / data / redis_data ' state = mode répertoire = ' 0755 ' propriétaire = {{redisuser}} group = {{redisgroup}}

 - nom: créer le répertoire des journaux
   fichier : path = ' / données / logs / Redis ' state = mode répertoire = ' 0755 ' propriétaire = {{redisuser}} group = {{redisgroup}}

 - nom: yum  installer {{pkgname}}
   yum : name = {{pkgname}} state = présent

 -  nom: Définir le modèle {{}} pkgname les fichiers de configuration
  modèle: src = 'redis.conf.j2 ' dest = ' /etc/redis.conf ' propriétaire = {{}} redisuser group = {{}} redisgroup mode = ' 0755 ' 
  avertir:
     - redémarrage Redis services
    
 - Nom: set {{pkgname}} statut du service 
  service: name = {{item}} Etat = DEMARRE activé = oui 
  with_items:
   - Redis

vars définition de la variable:

Voici la définition d'une variable pour le contenu de cette exécution de script défini, vous pouvez utiliser une variable avec le module de configuration des variables système acquiert le ansible vient, vous pouvez également utiliser leur propre définition de contenu, en fonction des besoins personnalisés peuvent 

pkgname: « Redis » # iotop, iftop, htop '
 bindip: ' 127.0.0.1 ' 
bindip_eth0: " {{}} ansible_eth0.ipv4.address " 
MODE: ' Oui ' 
redislog: ' /data/logs/redis/redis.log ' 
datadb: ' 30 ' 
DATADIR: ' / données / redis_data ' 
redispass: ' 666666 ' 
maxnum: ' 1024 ' 
appendo:'oui ' 
redisuser: ' Redis de 
la redisgroup: « Redis de 
la usergid: ' 600 ' 
useruid: ' 600 '

modèles définis redis.conf.j2 fichier modèle:

*** section de configuration de l' application, la démonstration des variables principales et modèle dans le livre de jeux ici juste pour montrer. Les variables vars / main.yaml variable définie dans l'appelant utilisation « {{nom de la variable}} »    *** 
*** Tâches à l' intérieur il a écrit tamplates: automatiquement après ce répertoire pour trouver *** 
[root @ Redis - 2 Redis] # egrep -vE ' ^ # | ^ $ ' Modèles / redis.conf.j2 
la liaison}} {{bindip 
la liaison {{bindip_eth0 }} 
protégé - MODE Oui 
Port 6379 
TCP -backlog 511 
délai d' attente 0 
TCP -keepalive 300 
à daemonize {} {} MODE 
Supervisé NO 
PidFile / var / RUN / redis_6379.pid
loglevel avis 
logfile {{}} redislog 
bases de données {{}} datadb 
Enregistrer 900  1 
save 300  10 
sauver 60  10000 
arrêt -writes-sur-bgsave- erreur oui 
rdbcompression oui 
rdbchecksum oui 
dbfilename dump.rdb 
dir {{datadir}} 
esclave -Servir -stale- oui de données 
asservissent -Read- uniquement oui 
repl -diskless- synchronisation sans 
repl -diskless- synchronisation -delay 5 
repl -disable-tcp- nodelay aucun 
esclave -priority100 
requirepass {{redispass}} 
maxclients {{}} maxnum 
1024m MaxMemory 
appendOnly {{}} appendo 
appendfilename " appendonly.aof " 
appendfsync everysec 
pas -appendfsync-on- récrire pas 
auto -aof-rewrite pourcentage 100 
auto -aof-rewrite -Min- taille 64mb 
aof -load- tronquée oui 
lua - temps -limit 5000 
slowlog -log-lente que 10000 
slowlog -max-lEN 128 
latence -monitor seuil 0 
notifier-keyspace-événements "" 
hachage -max-ZipList-entrées 512 
hachage -max-ZipList valeur 64 
liste -max-ZipList-size - 2 
liste -compress profondeur 0 
set -max-IntSet-entrées 512 
Zset -max-ZipList -entries 128 
Zset -max-ZipList valeur 64 
HLL -sparse-max-octets 3000 
activerehashing oui 
client -output-tampon limite normale 0  0  0 
client -output-limite tampon 256 esclave 64mb 60 
client -output-tampon limite PubSub 32mb 8MB60 
hz 10 
aof oui -rewrite-incrémentielle fsync

les gestionnaires d'annuaire, lorsque le fichier de configuration a changé, les tâches informent à l'intérieur du redémarrage sur la mise en œuvre des étapes:

Remarque: une fois la tâche décrite ici pour nommer et tâches / . Modèles arrière terme des changements qui entrent dans main.yaml, description cohérente de l'appel aviser 

Vim main.yaml

 - nom: le redémarrage Redis-service 
  -Service: nom = {{}} pkgname État = redémarré

Exécutez le script pour démarrer l'installation:

 

[root @ redis- 2 ansible] # ansible- PlayBook redis.yaml 

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

TASK [Faits Gathering] *** ************************************************** ************************************************** ******* 
ok: [t2] 

tâche [Redis: groupe System Ajouter Redis] ***************************** ************************************************** **************** 
ok: [t2] 

tâche [Redis: système utilisateur Ajouter Redis] ******************** ************************************************** ************************** 
ok: [t2]

[TASK Redis: créer Redis répertoire de base de données] ***************************************** ********************************************* 
ok: [t2] 

[TASK Redis: créer le répertoire des journaux] ****************************************** ************************************************** **** 
ok: [t2] 

TASK [Redis: yum  installer Redis] ********************************* ************************************************** ***************** 
ok: [t2] 

tâche [Redis: Définir le modèle Redis les fichiers de configuration] ****************** ************************************************** ****************** 
ok: [t2] 

tâche [Redis: ensemble Redis état de service]************************************************** ******************************************* 
ok: [t2] => (item = Redis) 

LECTURE RECAP ******************************************* ************************************************** ***************************** 
t2: ok = 8     changé = 0     injoignable = 0     failed = 0     SKIPPED = 0     secouru = 0     ignoré = 0 

 

Je suppose que tu aimes

Origine www.cnblogs.com/zhenxing06/p/12634125.html
conseillé
Classement