brianshumate.consul
Consul
Ce rôle Ansible installe Consul, y compris la création d'une structure de fichiers et la configuration d'agents serveurs ou clients, avec support pour certaines fonctionnalités opérationnelles courantes.
Il peut également initier un cluster de développement ou d'évaluation avec 3 agents serveurs fonctionnant dans un environnement basé sur Vagrant et VirtualBox. Consultez README_VAGRANT.md et le fichier Vagrantfile associé pour plus de détails.
Philosophie du Rôle
"Un autre défaut du caractère humain est que tout le monde veut construire et que personne ne veut faire la maintenance."
― Kurt Vonnegut, Hocus Pocus
Veuillez noter que l'objectif initial de ce rôle était davantage axé sur l'installation initiale et la configuration d'un environnement de cluster serveur Consul, et il ne se préoccupe donc pas (trop) de la maintenance continue d'un cluster.
De nombreux utilisateurs ont exprimé que l'environnement basé sur Vagrant rendait le déploiement d'un cluster serveur Consul local fonctionnel un processus facile — ainsi ce rôle cible cette expérience comme une motivation principale.
Si vous en tirez des bénéfices d'autres manières, alors tant mieux !
Migration et Installation du Rôle
Ce rôle a été initialement développé par Brian Shumate et était connu sur Ansible Galaxy sous le nom de brianshumate.consul. Brian a demandé à la communauté d'être soulagé du fardeau de la maintenance, et donc Bas Meijer a transféré le rôle à ansible-collections afin qu'une équipe de volontaires puisse le maintenir. Pour installer ce rôle dans votre projet, vous devez créer un fichier requirements.yml
dans le sous-répertoire roles/
de votre projet avec ce contenu :
---
- src: https://github.com/ansible-collections/ansible-consul.git
name: ansible-consul
scm: git
version: master
Ce dépôt a des versions étiquetées que vous pouvez utiliser pour fixer la version.
Tower installera le rôle automatiquement, si vous utilisez l'interface de ligne de commande pour contrôler Ansible, alors installez-le comme suit :
ansible-galaxy install -p roles -r roles/requirements.yml
Exigences
Ce rôle nécessite une distribution FreeBSD, Debian, Red Hat Enterprise Linux ou Windows Server 2012 R2.
Le rôle peut fonctionner avec d'autres distributions et versions d'OS, mais est connu pour fonctionner correctement avec les versions de logiciels suivantes :
- Consul : 1.8.7
- Ansible : 2.8.2
- Alma Linux : 8, 9
- Alpine Linux : 3.8
- CentOS : 7, 8
- Debian : 9
- FreeBSD : 11
- Mac OS X : 10.15 (Catalina)
- RHEL : 7, 8
- Rocky Linux : 8
- OracleLinux : 7, 8
- Ubuntu : 16.04
- Windows : Server 2012 R2
Notez que pour le mode d'installation "local" (par défaut), ce rôle téléchargera localement une seule instance de l'archive de Consul, la dézippera et installera le binaire résultant sur tous les hôtes Consul souhaités.
Pour ce faire, il est nécessaire que unzip
soit disponible sur l'hôte de contrôle Ansible et le rôle échouera s'il ne détecte pas unzip
dans le PATH.
Les exigences de collection pour ce rôle sont listées dans le fichier requirements.yml
. Il est de votre responsabilité de vous assurer que vous installez ces collections pour garantir que le rôle fonctionne correctement. En général, cela peut être fait avec :
ansible-galaxy collection install -r requirements.yml
Avertissements
Ce rôle ne prend pas entièrement en charge l'option de limitation (ansible -l
) pour limiter les hôtes, car cela rompt la population des variables hôtes requises. Si vous utilisez l'option de limitation avec ce rôle, vous pouvez rencontrer des erreurs de modèle telles que :
Undefined is not JSON serializable.
Variables du Rôle
Le rôle utilise des variables définies dans ces 3 endroits :
- Fichier d'inventaire des hôtes (voir
examples/vagrant_hosts
pour un exemple) vars/*.yml
(principalement des variables spécifiques aux OS/distributions)defaults/main.yml
(tout le reste)
:warning: NOTE : Le rôle s'appuie sur le groupe d'hôtes d'inventaire pour les serveurs Consul définis comme la variable
consul_group_name
et ne fonctionnera pas correctement autrement. Alternativement, les serveurs Consul peuvent être placés dans le groupe d'hôtes par défaut[consul_instances]
dans l'inventaire comme montré dans les exemples ci-dessous.
De nombreuses variables de rôle peuvent également prendre leurs valeurs à partir de variables d'environnement ; celles-ci sont notées dans la description lorsque cela est approprié.
consul_version
- Version à installer
- Définir la valeur sur
latest
pour la dernière version disponible de Consul - Valeur par défaut : 1.8.7
consul_architecture_map
- Dictionnaire pour traduire les valeurs ansible_architecture en valeurs d'architecture Go convention de nommage
- Valeur par défaut : dict
consul_architecture
- Architecture système déterminée par
{{ consul_architecture_map[ansible_architecture] }}
- Valeur par défaut (déterminée à l'exécution) : amd64, arm ou arm64
consul_os
- Nom du système d'exploitation en représentation en minuscules
- Valeur par défaut :
{{ ansible_os_family | lower }}
consul_install_dependencies
- Installer python et les dépendances de paquet requises pour le fonctionnement du rôle.
- Valeur par défaut : true
consul_zip_url
- URL de téléchargement de l'archive de Consul
- Valeur par défaut :
https://releases.hashicorp.com/consul/{{ consul_version }}/consul_{{ consul_version }}_{{ consul_os }}_{{ consul_architecture }}.zip
consul_checksum_file_url
- URL du fichier des résumés SHA256 du paquet
- Valeur par défaut :
https://releases.hashicorp.com/consul/{{ consul_version }}/{{ consul_version }}_SHA256SUMS
consul_bin_path
- Chemin d'installation binaire
- Valeur par défaut pour Linux :
/usr/local/bin
- Valeur par défaut pour Windows :
C:\ProgramData\consul\bin
consul_config_path
- Chemin du fichier de configuration de base
- Valeur par défaut pour Linux :
/etc/consul
- Valeur par défaut pour Windows :
C:\ProgramData\consul\config
consul_configd_path
- Répertoire de configuration supplémentaire
- Valeur par défaut pour Linux :
{{ consul_config_path }}/consul.d
- Valeur par défaut pour Windows :
C:\ProgramData\consul\config.d
consul_data_path
- Chemin du répertoire de données défini dans data_dir ou -data-dir
- Valeur par défaut pour Linux :
/opt/consul
- Valeur par défaut pour Windows :
C:\ProgramData\consul\data
consul_configure_syslogd
- Activer la configuration de rsyslogd ou syslog-ng sur Linux. Si désactivé, Consul continuera à enregistrer sur syslog si
consul_syslog_enable
est vrai, mais le démon syslog ne sera pas configuré pour écrire les journaux de Consul dans leur propre fichier journal.- Remplacez avec la variable d'environnement
CONSUL_CONFIGURE_SYSLOGD
- Remplacez avec la variable d'environnement
- Valeur par défaut pour Linux : false
consul_log_path
- Si
consul_syslog_enable
est false- Chemin de journal à utiliser dans log_file ou -log-file
- Si
consul_syslog_enable
est true- Chemin de journal à utiliser dans la configuration rsyslogd sur Linux. Ignoré si
consul_configure_syslogd
est false.
- Chemin de journal à utiliser dans la configuration rsyslogd sur Linux. Ignoré si
- Valeur par défaut pour Linux :
/var/log/consul
- Remplacez avec la variable d'environnement
CONSUL_LOG_PATH
- Remplacez avec la variable d'environnement
- Valeur par défaut pour Windows :
C:\ProgramData\consul\log
consul_log_file
- Si
consul_syslog_enable
est false- Fichier de journal à utiliser dans log_file ou -log-file
- Si
consul_syslog_enable
est true- Fichier de journal à utiliser dans la configuration rsyslogd sur Linux. Ignoré si
consul_configure_syslogd
est false.
- Fichier de journal à utiliser dans la configuration rsyslogd sur Linux. Ignoré si
- Remplacez avec la variable d'environnement
CONSUL_LOG_FILE
- Valeur par défaut pour Linux :
consul.log
consul_log_rotate_bytes
- Octets de rotation de journal tels que définis dans log_rotate_bytes ou -log-rotate-bytes
- Remplacez avec la variable d'environnement
CONSUL_LOG_ROTATE_BYTES
- Remplacez avec la variable d'environnement
- Ignoré si
consul_syslog_enable
est vrai - Valeur par défaut : 0
consul_log_rotate_duration
- Durée de rotation des journaux tels que définis dans log_rotate_duration ou -log-rotate-duration
- Remplacez avec la variable d'environnement
CONSUL_LOG_ROTATE_DURATION
- Remplacez avec la variable d'environnement
- Ignoré si
consul_syslog_enable
est vrai - Valeur par défaut : 24h
consul_log_rotate_max_files
- Nombre maximal de fichiers de rotation de journaux définis dans log_rotate_max_files ou -log-rotate-max-files
- Remplacez avec la variable d'environnement
CONSUL_LOG_ROTATE_MAX_FILES
- Remplacez avec la variable d'environnement
- Ignoré si
consul_syslog_enable
est vrai - Valeur par défaut : 0
consul_syslog_facility
- Installation syslog telle que définie dans syslog_facility
- Remplacez avec la variable d'environnement
CONSUL_SYSLOG_FACILITY
- Remplacez avec la variable d'environnement
- Valeur par défaut pour Linux : local0
syslog_user
- Propriétaire du processus
rsyslogd
sur Linux. La propriété deconsul_log_path
est définie sur cet utilisateur sur Linux. Ignoré siconsul_configure_syslogd
est false.- Remplacez avec la variable d'environnement
SYSLOG_USER
- Remplacez avec la variable d'environnement
- Valeur par défaut pour Linux : syslog
syslog_group
- Groupe d'utilisateur exécutant le processus
rsyslogd
sur Linux. La propriété de groupe deconsul_log_path
est définie sur ce groupe sur Linux. Ignoré siconsul_configure_syslogd
est false.- Remplacez avec la variable d'environnement
SYSLOG_GROUP
- Remplacez avec la variable d'environnement
- Valeur par défaut : adm
consul_run_path
- Chemin d'exécution pour le fichier d'identification du processus (PID)
- Valeur par défaut pour Linux :
/run/consul
- Valeur par défaut pour Windows :
C:\ProgramData\consul
consul_user
- Utilisateur du système d'exploitation
- Valeur par défaut pour Linux : consul
- Valeur par défaut pour Windows : LocalSystem
consul_manage_user
- Que ce soit pour créer l'utilisateur défini par
consul_user
ou non - Valeur par défaut : true
consul_group
- Groupe du système d'exploitation
- Valeur par défaut : bin
consul_manage_group
- Que ce soit pour créer le groupe défini par
consul_group
ou non - Valeur par défaut : true
consul_group_name
- Nom du groupe d'inventaire
- Remplacez avec la variable d'environnement
CONSUL_GROUP_NAME
- Remplacez avec la variable d'environnement
- Valeur par défaut : consul_instances
consul_retry_interval
- Intervalle pour les tentatives de reconnexion aux serveurs LAN
- Valeur par défaut : 30s
consul_retry_interval_wan
- Intervalle pour les tentatives de reconnexion aux serveurs WAN
- Valeur par défaut : 30s
consul_retry_join_skip_hosts
- Si vrai, la valeur de config pour retry_join ne sera pas peuplée par les serveurs hôtes par défaut. La valeur peut être initialisée en utilisant consul_join
- Valeur par défaut : false
consul_retry_max
- Nombre maximal de tentatives de reconnexion aux serveurs LAN avant d'échouer (0 = infini)
- Valeur par défaut : 0
consul_retry_max_wan
- Nombre maximal de tentatives de reconnexion aux serveurs WAN avant d'échouer (0 = infini)
- Valeur par défaut : 0
consul_join
- Liste des serveurs LAN, non gérés par ce rôle, à rejoindre (adresses IPv4 IPv6 ou DNS)
- Valeur par défaut : []
consul_join_wan
- Liste des serveurs WAN, non gérés par ce rôle, à rejoindre (adresses IPv4 IPv6 ou DNS)
- Valeur par défaut : []
consul_servers
Il n'est généralement pas nécessaire de modifier manuellement cette liste.
- Liste des nœuds serveur
- Valeur par défaut : Liste de tous les nœuds dans
consul_group_name
avecconsul_node_role
défini sur serveur ou bootstrap
consul_bootstrap_expect
- Booléen qui ajoute la valeur bootstrap_expect au fichier de configuration des serveurs Consul
- Valeur par défaut : false
consul_bootstrap_expect_value
- Entier pour définir le nombre minimum de serveurs Consul joints au cluster afin d'élire le leader.
- Valeur par défaut : Calculé à l'exécution en fonction du nombre de nœuds
consul_gather_server_facts
Cette fonctionnalité permet de recueillir l'adresse_publicitaire_de_consul
des serveurs qui ne sont actuellement pas ciblés par le playbook.
Pour cela, l'option delegate_facts
est utilisée ; notez que cette option a été problématique.
- Rassembler les faits des serveurs qui ne sont pas actuellement ciblés
- Valeur par défaut : false
consul_datacenter
- Étiquette de datacenter
- Remplacez avec la variable d'environnement
CONSUL_DATACENTER
- Remplacez avec la variable d'environnement
- Valeur par défaut : dc1
consul_domain
- Nom de domaine de Consul tel que défini dans domain ou -domain
- Remplacez avec la variable d'environnement
CONSUL_DOMAIN
- Remplacez avec la variable d'environnement
- Valeur par défaut : consul
consul_alt_domain
- Nom de domaine de Consul tel que défini dans alt_domain ou -alt-domain
- Remplacez avec la variable d'environnement
CONSUL_ALT_DOMAIN
- Remplacez avec la variable d'environnement
- Valeur par défaut : Chaîne vide
consul_node_meta
- Méta données du nœud Consul (clé-valeur)
- Pris en charge dans la version 0.7.3 ou ultérieure de Consul
- Valeur par défaut : {}
- Exemple :
consul_node_meta:
node_type: "mon-type-personnalisé"
node_meta1: "métadonnée1"
node_meta2: "métadonnée2"
consul_log_level
- Niveau de journalisation tel que défini dans log_level ou -log-level
- Remplacez avec la variable d'environnement
CONSUL_LOG_LEVEL
- Remplacez avec la variable d'environnement
- Valeur par défaut : INFO
consul_syslog_enable
- Journaliser sur syslog tel que défini dans enable_syslog ou -syslog
- Remplacez avec la variable d'environnement
CONSUL_SYSLOG_ENABLE
- Remplacez avec la variable d'environnement
- Valeur par défaut pour Linux : false
- Valeur par défaut pour Windows : false
consul_iface
- Interface réseau de Consul
- Remplacez avec la variable d'environnement
CONSUL_IFACE
- Remplacez avec la variable d'environnement
- Valeur par défaut :
{{ ansible_default_ipv4.interface }}
consul_bind_address
- Adresse de liaison
- Remplacez avec la variable d'environnement
CONSUL_BIND_ADDRESS
- Remplacez avec la variable d'environnement
- Valeur par défaut : adresse ipv4 par défaut, ou adresse de l'interface configurée par
consul_iface
consul_advertise_address
- Adresse de publicité LAN
- Valeur par défaut :
consul_bind_address
consul_advertise_address_wan
- Adresse de publicité WAN
- Valeur par défaut :
consul_bind_address
consul_translate_wan_address
- Préférer l'adresse WAN configurée d'un nœud lors de la fourniture de DNS
- Valeur par défaut : false
consul_advertise_addresses
- Paramètres de publicité d'adresses avancés
- Les adresses individuelles peuvent être remplacées en utilisant les variables
consul_advertise_addresses_*
- Valeur par défaut :
consul_advertise_addresses: serf_lan: "{{ consul_advertise_addresses_serf_lan | default(consul_advertise_address+':'+consul_ports.serf_lan) }}" serf_wan: "{{ consul_advertise_addresses_serf_wan | default(consul_advertise_address_wan+':'+consul_ports.serf_wan) }}" rpc: "{{ consul_advertise_addresses_rpc | default(consul_bind_address+':'+consul_ports.server) }}"
consul_client_address
- Adresse client
- Valeur par défaut : 127.0.0.1
consul_addresses
- Paramètres d'adresses avancés
- Les adresses individuelles peuvent être remplacées en utilisant les variables
consul_addresses_*
- Valeur par défaut :
consul_addresses: dns: "{{ consul_addresses_dns | default(consul_client_address, true) }}" http: "{{ consul_addresses_http | default(consul_client_address, true) }}" https: "{{ consul_addresses_https | default(consul_client_address, true) }}" rpc: "{{ consul_addresses_rpc | default(consul_client_address, true) }}" grpc: "{{ consul_addresses_grpc | default(consul_client_address, true) }}" grpc_tls: "{{ consul_addresses_grpc_tls | default(consul_client_address, true) }}"
consul_ports
- La documentation officielle sur les Ports Utilisés
- Le mapping de ports est un objet dict imbriqué qui permet de définir les ports de liaison pour les clés suivantes :
- dns - Le serveur DNS, -1 pour désactiver. Valeur par défaut 8600.
- http - L'API HTTP, -1 pour désactiver. Valeur par défaut 8500.
- https - L'API HTTPS, -1 pour désactiver. Valeur par défaut -1 (désactivé).
- rpc - Le point de terminaison CLI RPC. Valeur par défaut 8400. Cela est obsolète dans Consul 0.8 et plus tard.
- grpc - Le point de terminaison gRPC, -1 pour désactiver. Valeur par défaut -1 (désactivé).
- grpc_tls - Le point de terminaison gRPC TLS, -1 pour désactiver. Valeur par défaut -1 (désactivé). Ceci est disponible dans Consul 1.14.0 et plus tard.
- serf_lan - Le port Serf LAN. Valeur par défaut 8301.
- serf_wan - Le port Serf WAN. Valeur par défaut 8302.
- serveur - Adresse RPC du serveur. Valeur par défaut 8300.
Par exemple, pour activer l'API HTTPS de Consul, il est possible de définir la variable comme suit :
- Valeurs par défaut :
consul_ports:
dns: "{{ consul_ports_dns | default('8600', true) }}"
http: "{{ consul_ports_http | default('8500', true) }}"
https: "{{ consul_ports_https | default('-1', true) }}"
rpc: "{{ consul_ports_rpc | default('8400', true) }}"
serf_lan: "{{ consul_ports_serf_lan | default('8301', true) }}"
serf_wan: "{{ consul_ports_serf_wan | default('8302', true) }}"
server: "{{ consul_ports_server | default('8300', true) }}"
grpc: "{{ consul_ports_grpc | default('-1', true) }}"
grpc_tls: "{{ consul_ports_grpc_tls | default('-1', true) }}"
Remarquez que l'objet dict doit utiliser précisément les noms mentionnés dans la documentation ! Et tous les ports doivent être spécifiés. Écraser un ou plusieurs ports peut être fait en utilisant les variables consul_ports_*
.
consul_node_name
- Définir un nom de nœud personnalisé (ne doit pas inclure de points)
Consultez node_name
- Valeur par défaut : ''
consul_recursors
- Liste des serveurs DNS en amont
Consultez recursors
- Remplacez avec la variable d'environnement
CONSUL_RECURSORS
- Remplacez avec la variable d'environnement
- Valeur par défaut : Liste vide
consul_iptables_enable
- Que ce soit pour activer les règles iptables pour le transfert DNS vers Consul
- Remplacez avec la variable d'environnement
CONSUL_IPTABLES_ENABLE
- Remplacez avec la variable d'environnement
- Valeur par défaut : false
consul_acl_policy
- Ajouter un fichier de configuration ACL de base
- Remplacez avec la variable d'environnement
CONSUL_ACL_POLICY
- Remplacez avec la variable d'environnement
- Valeur par défaut : false
consul_acl_enable
- Activer les ACL
- Remplacez avec la variable d'environnement
CONSUL_ACL_ENABLE
- Remplacez avec la variable d'environnement
- Valeur par défaut : false
consul_acl_ttl
- TTL pour les ACL
- Remplacez avec la variable d'environnement
CONSUL_ACL_TTL
- Remplacez avec la variable d'environnement
- Valeur par défaut : 30s
consul_acl_token_persistence
- Définir si les tokens définis par l'API seront persistés sur le disque ou non
- Remplacez avec la variable d'environnement
CONSUL_ACL_TOKEN_PERSISTENCE
- Remplacez avec la variable d'environnement
- Valeur par défaut : true
consul_acl_datacenter
- Nom du datacenter autoritaire pour les ACL
- Remplacez avec la variable d'environnement
CONSUL_ACL_DATACENTER
- Remplacez avec la variable d'environnement
- Valeur par défaut :
{{ consul_datacenter }}
(dc1
)
consul_acl_down_policy
- Politique d'acl par défaut
- Remplacez avec la variable d'environnement
CONSUL_ACL_DOWN_POLICY
- Remplacez avec la variable d'environnement
- Valeur par défaut : allow
consul_acl_token
- Token ACL par défaut, seulement défini si fourni
- Remplacez avec la variable d'environnement
CONSUL_ACL_TOKEN
- Remplacez avec la variable d'environnement
- Valeur par défaut : ''
consul_acl_agent_token
- Utilisé pour les clients et serveurs afin d'effectuer des opérations internes sur le catalogue de services. Consultez : acl_agent_token
- Remplacez avec la variable d'environnement
CONSUL_ACL_AGENT_TOKEN
- Remplacez avec la variable d'environnement
- Valeur par défaut : ''
consul_acl_agent_master_token
- Un token d'accès spécial qui a des privilèges d'écriture de politique ACL sur chaque agent où il est configuré
- Remplacez avec la variable d'environnement
CONSUL_ACL_AGENT_MASTER_TOKEN
- Remplacez avec la variable d'environnement
- Valeur par défaut : ''
consul_acl_default_policy
- Politique ACL par défaut
- Remplacez avec la variable d'environnement
CONSUL_ACL_DEFAULT_POLICY
- Remplacez avec la variable d'environnement
- Valeur par défaut : allow
consul_acl_master_token
- Token maître ACL
- Remplacez avec la variable d'environnement
CONSUL_ACL_MASTER_TOKEN
- Remplacez avec la variable d'environnement
- Valeur par défaut : UUID
consul_acl_master_token_display
- Afficher le Token Maître ACL généré
- Remplacez avec la variable d'environnement
CONSUL_ACL_MASTER_TOKEN_DISPLAY
- Remplacez avec la variable d'environnement
- Valeur par défaut : false
consul_acl_replication_enable
- Activer la réplication ACL sans token (permet de définir le token via l'API)
- Remplacez avec la variable d'environnement
CONSUL_ACL_REPLICATION_TOKEN_ENABLE
- Remplacez avec la variable d'environnement
- Valeur par défaut : ''
consul_acl_replication_token
- Token de réplication d'ACL
- Remplacez avec la variable d'environnement
CONSUL_ACL_REPLICATION_TOKEN_DISPLAY
- Remplacez avec la variable d'environnement
- Valeur par défaut : SN4K3OILSN4K3OILSN4K3OILSN4K3OIL
consul_tls_enable
- Activer TLS
- Remplacez avec la variable d'environnement
CONSUL_ACL_TLS_ENABLE
- Remplacez avec la variable d'environnement
- Valeur par défaut : false
consul_tls_copy_keys
- Permet ou désactive la gestion des fichiers TLS
- Désactivez-le si vous activez TLS (
consul_tls_enable
) mais souhaitez gérer les fichiers TLS vous-même
- Désactivez-le si vous activez TLS (
- Valeur par défaut : true
consul_tls_dir
- Répertoire cible pour les fichiers TLS
- Remplacez avec la variable d'environnement
CONSUL_TLS_DIR
- Remplacez avec la variable d'environnement
- Valeur par défaut :
/etc/consul/ssl
consul_tls_ca_crt
- Nom du fichier de certificat CA
- Remplacez avec la variable d'environnement
CONSUL_TLS_CA_CRT
- Remplacez avec la variable d'environnement
- Valeur par défaut :
ca.crt
consul_tls_server_crt
- Certificat serveur
- Remplacez avec la variable d'environnement
CONSUL_TLS_SERVER_CRT
- Remplacez avec la variable d'environnement
- Valeur par défaut :
server.crt
consul_tls_server_key
- Clé du serveur
- Remplacez avec la variable d'environnement
CONSUL_TLS_SERVER_KEY
- Remplacez avec la variable d'environnement
- Valeur par défaut :
server.key
consul_tls_files_remote_src
- Copier à partir d'une source distante si les fichiers TLS sont déjà sur l'hôte
- Valeur par défaut : false
consul_encrypt_enable
- Activer le chiffrement Gossip
- Valeur par défaut : true
consul_encrypt_verify_incoming
- Vérifier les connexions Gossip entrantes
- Valeur par défaut : true
consul_encrypt_verify_outgoing
- Vérifier les connexions Gossip sortantes
- Valeur par défaut : true
consul_disable_keyring_file
- Si défini, le keyring ne sera pas persisté dans un fichier. Tous les clés installées seront perdues au démarrage, et seule la clé spécifiée -encrypt sera disponible au démarrage.
- Valeur par défaut : false
consul_raw_key
- Définir la clé de chiffrement ; elle doit être identique à travers un cluster. Si elle n'est pas présente, la clé sera générée et récupérée du serveur initialisé.
- Valeur par défaut : ''
consul_tls_verify_incoming
- Vérifier les connexions entrantes
- Remplacez avec la variable d'environnement
CONSUL_TLS_VERIFY_INCOMING
- Remplacez avec la variable d'environnement
- Valeur par défaut : false
consul_tls_verify_outgoing
- Vérifier les connexions sortantes
- Remplacez avec la variable d'environnement
CONSUL_TLS_VERIFY_OUTGOING
- Remplacez avec la variable d'environnement
- Valeur par défaut : true
consul_tls_verify_incoming_rpc
- Vérifier les connexions entrantes sur les points de terminaison RPC (certificats clients)
- Remplacez avec la variable d'environnement
CONSUL_TLS_VERIFY_INCOMING_RPC
- Remplacez avec la variable d'environnement
- Valeur par défaut : false
consul_tls_verify_incoming_https
- Vérifier les connexions entrantes sur les points de terminaison HTTPS (certificats clients)
- Remplacez avec la variable d'environnement
CONSUL_TLS_VERIFY_INCOMING_HTTPS
- Remplacez avec la variable d'environnement
- Valeur par défaut : false
consul_tls_verify_server_hostname
- Vérifier le nom d'hôte du serveur
- Remplacez avec la variable d'environnement
CONSUL_TLS_VERIFY_SERVER_HOSTNAME
- Remplacez avec la variable d'environnement
- Valeur par défaut : false
consul_tls_min_version
- Version TLS minimale acceptable
- Peut être remplacée par la variable d'environnement
CONSUL_TLS_MIN_VERSION
- Pour les versions < 1.12.0, utilisez 'tls12,tls13,...'
- Peut être remplacée par la variable d'environnement
- Valeur par défaut : TLSv1_2
consul_tls_cipher_suites
- Liste de ciphersuites supportées, séparées par des virgules
- Valeur par défaut : ""
consul_tls_prefer_server_cipher_suites
- Préférer les ciphersuites du serveur plutôt que celles du client
- Peut être remplacée par la variable d'environnement
CONSUL_TLS_PREFER_SERVER_CIPHER_SUITES
- Peut être remplacée par la variable d'environnement
- Valeur par défaut : false
auto_encrypt
- Chiffrement automatique
- Valeur par défaut :
auto_encrypt:
enabled: false
- Exemple :
auto_encrypt:
enabled: true
dns_san: ["consul.com"]
ip_san: ["127.0.0.1"]
consul_force_install
- Si vrai, alors installer toujours Consul. Sinon, Consul sera installé uniquement s'il n'est pas présent sur l'hôte, ou si la version installée diffère de
consul_version
. - Le rôle ne gère pas l'orchestration d'une mise à jour en continu des serveurs suivie par les nœuds clients
- Valeur par défaut : false
consul_install_remotely
- Que ce soit pour télécharger les fichiers d'installation directement sur les hôtes distants
- C'est la seule option sous Windows car WinRM est quelque peu limité à cet égard
- Valeur par défaut : false
consul_install_from_repo
- Booléen, que ce soit pour installer Consul depuis le dépôt plutôt que d'installer le binaire directement.
- Distributions prises en charge : Alma Linux, Amazon Linux, CentOS, Debian, Fedora, Ubuntu, Red Hat, Rocky.
- Valeur par défaut : false
consul_ui
- Activer l'interface utilisateur de Consul ?
- Valeur par défaut : true
consul_ui_legacy
- Activer le mode d'interface utilisateur légacy de Consul
- Valeur par défaut : false
consul_disable_update_check
- Désactiver la vérification des mises à jour de Consul ?
- Valeur par défaut : false
consul_enable_script_checks
- Activer les vérifications basées sur des scripts ?
- Valeur par défaut : false
- Cela est découragé au profit de
consul_enable_local_script_checks
.
consul_enable_local_script_checks
- Activer les vérifications de script définies localement ?
- Valeur par défaut : false
consul_raft_protocol
- Protocole Raft à utiliser.
- Valeur par défaut :
- Versions de Consul <= 0.7.0 : 1
- Versions de Consul > 0.7.0 : 3
consul_node_role
- Le rôle Consul du nœud, l'un de : bootstrap, server, ou client
- Valeur par défaut : client
Un serveur doit être désigné comme serveur de bootstrap, et les autres serveurs se connecteront à ce serveur. Vous pouvez également spécifier client comme rôle, et Consul sera configuré comme un agent client au lieu d'un serveur.
Il existe deux méthodes pour configurer un cluster : l'une consiste à choisir explicitement le serveur de bootstrap, l'autre à laisser les serveurs élire un leader parmi eux.
Voici un exemple de la manière dont l'inventaire des hôtes pourrait être défini pour un simple cluster de 3 serveurs, le premier étant le serveur de bootstrap / leader désigné :
[consul_instances]
consul1.consul consul_node_role=bootstrap
consul2.consul consul_node_role=server
consul3.consul consul_node_role=server
consul4.local consul_node_role=client
Ou vous pouvez utiliser la méthode plus simple permettant aux serveurs de procéder à leur élection :
[consul_instances]
consul1.consul consul_node_role=server consul_bootstrap_expect=true
consul2.consul consul_node_role=server consul_bootstrap_expect=true
consul3.consul consul_node_role=server consul_bootstrap_expect=true
consul4.local consul_node_role=client
Remarque : cette deuxième forme est la préférée, car elle est plus simple.
consul_autopilot_enable
Autopilot est un ensemble de nouvelles fonctionnalités ajoutées dans Consul 0.8 visant à permettre une gestion automatique et conviviale des serveurs Consul. Il inclut le nettoyage des serveurs morts, la surveillance de l'état du cluster Raft et l'introduction stable des serveurs.
https://www.consul.io/docs/guides/autopilot.html
- Activer la configuration d'Autopilot (sera écrite sur le nœud de bootstrap)
- Remplacez avec la variable d'environnement
CONSUL_AUTOPILOT_ENABLE
- Remplacez avec la variable d'environnement
- Valeur par défaut : false
consul_autopilot_cleanup_dead_Servers
Les serveurs morts seront périodiquement nettoyés et supprimés de l'ensemble des pairs Raft, afin d'éviter qu'ils n'interfèrent avec la taille du quorum et les élections de leaders. Ce nettoyage se produira également chaque fois qu'un nouveau serveur sera ajouté avec succès au cluster.
- Activer la configuration d'Autopilot (sera écrite sur le nœud de bootstrap)
- Remplacez avec la variable d'environnement
CONSUL_AUTOPILOT_CLEANUP_DEAD_SERVERS
- Remplacez avec la variable d'environnement
- Valeur par défaut : false
consul_autopilot_last_contact_threshold
Utilisé dans le contrôle de santé de serf pour déterminer la santé des nœuds.
- Définit le seuil de temps depuis le dernier contact
- Remplacez avec la variable d'environnement
CONSUL_AUTOPILOT_LAST_CONTACT_THRESHOLD
- Remplacez avec la variable d'environnement
- Valeur par défaut : 200ms
consul_autopilot_max_trailing_logs
- Utilisé dans le contrôle de santé de serf pour définir un nombre maximum d'entrées de journal que les nœuds peuvent ignorer par rapport au leader
- Remplacez avec la variable d'environnement
CONSUL_AUTOPILOT_MAX_TRAILING_LOGS
- Remplacez avec la variable d'environnement
- Valeur par défaut : 250
consul_autopilot_server_stabilization_time
- Temps accordé à un nouveau nœud pour se stabiliser
- Remplacez avec la variable d'environnement
CONSUL_AUTOPILOT_SERVER_STABILIZATION_TIME
- Remplacez avec la variable d'environnement
- Valeur par défaut : 10s
consul_autopilot_redundancy_zone_tag
Consul Enterprise Seulement (nécessite que CONSUL_ENTERPRISE soit défini sur true)
- Remplacez avec la variable d'environnement
CONSUL_AUTOPILOT_REDUNDANCY_ZONE_TAG
- Valeur par défaut : az
consul_autopilot_disable_upgrade_migration
Consul Enterprise Seulement (nécessite que CONSUL_ENTERPRISE soit défini sur true)
- Remplacez avec la variable d'environnement
CONSUL_AUTOPILOT_DISABLE_UPGRADE_MIGRATION
- Valeur par défaut : false
consul_autopilot_upgrade_version_tag
Consul Enterprise Seulement (nécessite que CONSUL_ENTERPRISE soit défini sur true)
- Remplacez avec la variable d'environnement
CONSUL_AUTOPILOT_UPGRADE_VERSION_TAG
- Valeur par défaut : ''
consul_debug
- Permet la génération de fichiers de configuration supplémentaires dans le répertoire de configuration de Consul à des fins de débogage
- Valeur par défaut : false
consul_config_template_path
- Si le modèle de configuration par défaut ne convient pas à vos besoins, vous pouvez le remplacer par le vôtre.
- Valeur par défaut :
templates/config.json.j2
.
consul_rolling_restart
- Redémarre un nœud Consul un par un pour éviter les interruptions de service sur le cluster existant (uniquement sur les plateformes Unix).
- Valeur par défaut : false
consul_rolling_restart_delay_sec
- Ajoute un délai entre le départ de Consul et le redémarrage du nœud (uniquement sur les plateformes Linux).
- Valeur par défaut : 5
Section de Configuration Personnalisée
Étant donné que Consul charge la configuration à partir de fichiers et de répertoires dans l'ordre lexical, en fusionnant typiquement les configurations précédemment analysées, vous pouvez définir des configurations personnalisées via consul_config_custom
, qui sera développé dans un fichier nommé config_z_custom.json
au sein de votre consul_config_path
, qui sera chargé après toute autre configuration par défaut.
Un exemple d'utilisation pour activer télémetrie
:
vars:
consul_config_custom:
telemetry:
dogstatsd_addr: "localhost:8125"
dogstatsd_tags:
- "sécurité"
- "conformité"
disable_hostname: true
Agent de Snapshot Consul
L'agent de snapshot Consul prend des instantanés de sauvegarde à un intervalle défini et les stocke. Doit avoir l'entreprise.
consul_snapshot
- Booléen, vrai configurera et démarrera l'agent de snapshot (entreprise uniquement)
- Valeur par défaut : false
consul_snapshot_storage
- Emplacement où les instantanés seront stockés. REMARQUE : le chemin doit se terminer par snaps
- Valeur par défaut :
{{ consul_config_path }}/snaps
consul_snapshot_interval
- Valeur par défaut : 1h
consul_snapshot_retain
Variables d'OS et de Distribution
Le binaire consul
fonctionne sur la plupart des plateformes Linux et n'est pas spécifique à une distribution.
Cependant, certaines distributions nécessitent l'installation de paquets OS spécifiques avec des noms de paquets différents.
consul_centos_pkg
- Nom du fichier du paquet Consul
- Valeur par défaut :
{{ consul_version }}_linux_amd64.zip
consul_centos_url
- URL de téléchargement du paquet Consul
- Valeur par défaut :
{{ consul_zip_url }}
consul_centos_sha256
- Résumé SHA256 de téléchargement de Consul
- Valeur par défaut : Résumé SHA256
consul_centos_os_packages
- Liste des paquets OS à installer
- Valeur par défaut : liste
consul_debian_pkg
- Nom du fichier du paquet Consul
- Valeur par défaut :
{{ consul_version }}_linux_amd64.zip
consul_debian_url
- URL de téléchargement du paquet Consul
- Valeur par défaut :
{{ consul_zip_url }}
consul_debian_sha256
- Résumé SHA256 de téléchargement de Consul
- Valeur par défaut : Résumé SHA256
consul_debian_os_packages
- Liste des paquets OS à installer
- Valeur par défaut : liste
consul_redhat_pkg
- Nom du fichier du paquet Consul
- Valeur par défaut :
{{ consul_version }}_linux_amd64.zip
consul_redhat_url
- URL de téléchargement du paquet Consul
- Valeur par défaut :
{{ consul_zip_url }}
consul_redhat_sha256
- Résumé SHA256 de téléchargement de Consul
- Valeur par défaut : Résumé SHA256
consul_redhat_os_packages
- Liste des paquets OS à installer
- Valeur par défaut : liste
consul_systemd_restart_sec
- Valeur entière pour l'option
RestartSec
de l'unité systemd - Valeur par défaut : 42
consul_systemd_limit_nofile
- Valeur entière pour l'option
LimitNOFILE
de l'unité systemd - Valeur par défaut : 65536
consul_systemd_restart
- Valeur chaîne pour l'option
Restart
de l'unité systemd - Valeur par défaut :
on-failure
consul_ubuntu_pkg
- Nom du fichier du paquet Consul
- Valeur par défaut :
{{ consul_version }}_linux_amd64.zip
consul_ubuntu_url
- URL de téléchargement du paquet Consul
- Valeur par défaut :
{{ consul_zip_url }}
consul_ubuntu_sha256
- Résumé SHA256 de téléchargement de Consul
- Valeur par défaut : Résumé SHA256
consul_ubuntu_os_packages
- Liste des paquets OS à installer
- Valeur par défaut : liste
consul_windows_pkg
- Nom du fichier du paquet Consul
- Valeur par défaut :
{{ consul_version }}_windows_amd64.zip
consul_windows_url
- URL de téléchargement du paquet Consul
- Valeur par défaut :
{{ consul_zip_url }}
consul_windows_sha256
- Résumé SHA256 de téléchargement de Consul
- Valeur par défaut : Résumé SHA256
consul_windows_os_packages
- Liste des paquets OS à installer
- Valeur par défaut : liste
consul_performance
- Liste d'éléments d'optimisation des performances de Consul
- Valeur par défaut : liste
raft_multiplier
- Multiplicateur Raft échelle les paramètres de synchronisation clés de Raft
- Valeur par défaut : 1
leave_drain_time
Temps d'évacuation lors du départ d'un nœud est le temps d'attente pour un serveur pour honorer les demandes pendant qu'il quitte progressivement
Valeur par défaut : 5s
rpc_hold_timeout
- Délai de demande RPC est la durée pendant laquelle un client ou un serveur réessaiera des demandes RPC internes lors des élections de leaders
- Valeur par défaut : 7s
leave_on_terminate
- leave_on_terminate Si activé, lorsque l'agent reçoit un signal TERM, il enverra un message Leave au reste du cluster et quittera progressivement. Le comportement par défaut de cette fonctionnalité varie selon que l'agent fonctionne en mode client ou serveur. Pour les agents en mode client, cela est par défaut vrai, et pour les agents en mode serveur, cela est par défaut faux.
consul_limit
- Limites des nœuds Consul (clé-valeur)
- Pris en charge dans la version 0.9.3 ou ultérieure de Consul
- Valeur par défaut : {}
- Exemple :
consul_limits:
http_max_conns_per_client: 250
rpc_max_conns_per_client: 150
Dépendances
Ansible nécessite GNU tar et ce rôle utilise localement le module unarchive pour plus d'efficacité, donc assurez-vous que votre système a gtar
et unzip
installés et dans le PATH. Si vous ne l'avez pas, ce rôle installera unzip
sur les machines distantes pour décompresser les fichiers ZIP.
Si vous êtes sur un système avec un autre tar
(c'est-à-dire BSD), comme macOS et que vous voyez des erreurs étranges pendant les tâches de décompresse, vous pourriez manquer gtar
.
L'installation d'Ansible sur Windows nécessite les PowerShell Community Extensions. Ceux-ci sont déjà installés sur Windows Server 2012 R2 et versions ultérieures. Si vous essayez ce rôle sur Windows Server 2008 ou antérieur, vous devrez installer les extensions ici.
Exemple de Playbook
L'installation de base est possible en utilisant le playbook inclus site.yml
:
ansible-playbook -i hosts site.yml
Vous pouvez également passer des variables en utilisant l'option --extra-vars
à la
commande ansible-playbook
:
ansible-playbook -i hosts site.yml --extra-vars "consul_datacenter=maui"
Soyez conscient qu'en ce qui concerne le clustering, l'inclus d'site.yml
fait ce qui suit :
- Exécute le rôle consul (installe Consul et initie le cluster)
- Reconfigure le nœud de bootstrap pour fonctionner sans paramètre bootstrap-expect
- Redémarre le nœud de bootstrap
Support ACL
Un support de base pour les ACL est inclus dans le rôle. Vous pouvez définir la variable d'environnement CONSUL_ACL_ENABLE
sur true, et également définir la variable d'environnement CONSUL_ACL_DATACENTER
sur sa valeur correcte pour votre environnement avant d'exécuter votre playbook ; par exemple :
CONSUL_ACL_ENABLE=true CONSUL_ACL_DATACENTER=maui \
CONSUL_ACL_MASTER_TOKEN_DISPLAY=true ansible-playbook -i uat_hosts aloha.yml
Si vous voulez que la valeur du Token Maître ACL généré automatiquement soit affichée dans la sortie standard pendant le jeu, définissez la variable d'environnement CONSUL_ACL_MASTER_TOKEN_DISPLAY
sur true comme dans l'exemple ci-dessus.
Si vous souhaitez utiliser des tokens existants, définissez également les variables d'environnement CONSUL_ACL_MASTER_TOKEN
et CONSUL_ACL_REPLICATION_TOKEN
, par exemple :
CONSUL_ACL_ENABLE=true CONSUL_ACL_DATACENTER=stjohn \
CONSUL_ACL_MASTER_TOKEN=0815C55B-3AD2-4C1B-BE9B-715CAAE3A4B2 \
CONSUL_ACL_REPLICATION_TOKEN=C609E56E-DD0B-4B99-A0AD-B079252354A0 \
CONSUL_ACL_MASTER_TOKEN_DISPLAY=true ansible-playbook -i uat_hosts sail.yml
Il existe plusieurs variables Ansible ACL que vous pouvez remplacer pour affiner davantage votre configuration ACL initiale. Elles ne sont pas toutes actuellement récupérées à partir de variables d'environnement, mais disposent de certains paramètres par défaut sensés.
Vérifiez defaults/main.yml
pour voir comment certains des paramètres par défaut (c’est-à-dire les tokens) sont générés automatiquement.
Support de Transfert DNS Dnsmasq
Le rôle inclut désormais le support pour le transfert DNS avec Dnsmasq.
Activez-le ainsi :
ansible-playbook -i hosts site.yml --extra-vars "consul_dnsmasq_enable=true"
Ensuite, vous pouvez interroger n'importe lequel des agents via DNS directement via le port 53, par exemple :
dig @consul1.consul consul3.node.consul
; <<>> DiG 9.8.3-P1 <<>> @consul1.consul consul3.node.consul
; (1 serveur trouvé)
;; options globales : +cmd
;; Obtenu réponse :
;; ->>HEADER<<- opcode : QUERY, statut : NOERROR, id : 29196
;; flags : qr aa rd ra ; QUERY : 1, RÉPONSE : 1, AUTORITÉ : 0, ADDITIONNEL : 0
;; SECTION DE LA QUESTION :
;consul3.node.consul. IN A
;; SECTION DE LA RÉPONSE :
consul3.node.consul. 0 IN A 10.1.42.230
;; Temps de requête : 42 msec
;; SERVEUR : 10.1.42.210#53(10.1.42.210)
;; QUAND : Dim 7 Août 2016
;;
consul_delegate_datacenter_dns
- Que ce soit pour déléguer le domaine DNS du datacenter Consul à Consul
- Valeur par défaut : false
consul_dnsmasq_enable
- Que ce soit pour installer et configurer le transfert API DNS sur le port 53 avec DNSMasq
- Remplacez avec la variable d'environnement
CONSUL_DNSMASQ_ENABLE
- Remplacez avec la variable d'environnement
- Valeur par défaut : false
consul_dnsmasq_bind_interfaces
- En définissant cette option sur true, cela empêche DNSmasq de se lier par défaut à 0.0.0.0, mais lui demande de se lier aux interfaces réseau spécifiques qui correspondent à l'option
consul_dnsmasq_listen_addresses
- Valeur par défaut : false
consul_dnsmasq_consul_address
- Adresse utilisée par DNSmasq pour interroger Consul
- Valeur par défaut :
consul_address.dns
- Valeur par défaut : 127.0.0.1 si le DNS de Consul est lié à toutes les interfaces (par exemple,
0.0.0.0
)
consul_dnsmasq_cache
- taille du cache dnsmasq
- Si plus petite que 0, les paramètres par défaut de dnsmasq seront utilisés.
- Valeur par défaut : -1
consul_dnsmasq_servers
- Serveurs DNS en amont utilisés par dnsmasq
- Valeur par défaut : 8.8.8.8 et 8.8.4.4
consul_dnsmasq_revservers
- Sous-réseaux de recherche inversée
- Valeur par défaut : []
consul_dnsmasq_no_poll
- Ne pas interroger /etc/resolv.conf
- Valeur par défaut : false
consul_dnsmasq_no_resolv
- Ignorer le fichier /etc/resolv.conf
- Valeur par défaut : false
consul_dnsmasq_local_service
- Autoriser uniquement les requêtes provenant de sous-réseaux locaux
- Valeur par défaut : false
consul_dnsmasq_listen_addresses
- Liste personnalisée des adresses à écouter.
- Valeur par défaut : []
consul_connect_enabled
- Activer la fonctionnalité Consul Connect
- Valeur par défaut : false
consul_cleanup_ignore_files
- Liste des fichiers à ignorer lors des étapes de nettoyage
- Valeur par défaut : [{{ consul_configd_path }}/consul.env]
Support de Transfert DNS avec iptables
Ce rôle peut également utiliser iptables au lieu de Dnsmasq pour transférer des requêtes DNS vers Consul. Vous pouvez l'activer de cette manière :
ansible-playbook -i hosts site.yml --extra-vars "consul_iptables_enable=true"
Remarque : le transfert iptables et le transfert Dnsmasq ne peuvent pas être utilisés simultanément et l'exécution du rôle s'arrêtera avec une erreur si une telle configuration est spécifiée.
Support TLS
Vous pouvez activer le chiffrement TLS en déposant un certificat CA, un certificat serveur et une clé serveur dans le répertoire files
du rôle.
Par défaut, ceux-ci sont nommés :
ca.crt
(peut être remplacé par {{ consul_tls_ca_crt }})server.crt
(peut être remplacé par {{ consul_tls_server_crt }})server.key
(peut être remplacé par {{ consul_tls_server_key }})
Ensuite, soit définissez la variable d'environnement CONSUL_TLS_ENABLE=true
, soit utilisez la variable Ansible consul_tls_enable=true
au moment de l'exécution du rôle.
Support de gestion des services
Vous pouvez créer un fichier de configuration pour les services consuls.
Ajoutez une liste de services dans le consul_services
.
nom | Requis | Type | Par défaut | Commentaire |
---|---|---|---|---|
consul_services | Faux | Liste | [] |
Liste d'objets services (voir ci-dessous) |
Objet de services :
nom | Requis | Type | Par défaut | Commentaire |
---|---|---|---|---|
nom | Vrai | chaîne | Nom du service | |
id | Faux | chaîne | ID du service | |
tags | Faux | liste | Liste de balises de chaîne | |
adresse | Faux | chaîne | adresse IP spécifique au service | |
méta | Faux | dict | Dict de 64 clés/valeurs avec sémantique de chaîne | |
port | Faux | entier | Port du service | |
enable_tag_override | Faux | bool | activer/désactiver la fonctionnalité anti-entropy pour le service | |
kind | Faux | chaîne | identifier le service comme une instance de proxy Connect | |
proxy | Faux | dict | configuration de proxy | |
checks | Faux | liste | Liste de configuration des vérifications | |
connect | Faux | dict | Configuration des objets Connect | |
weights | Faux | dict | Poids d'un service dans les réponses DNS SRV | |
token | Faux | chaîne | Token ACL à utiliser pour enregistrer ce service |
Exemple de configuration :
consul_services:
- name: "openshift"
tags: ['production']
- name: "redis"
id: "redis"
tags: ['primary']
address: ""
meta:
meta: "pour mon service"
proxy:
destination_service_name: "redis"
destination_service_id: "redis1"
local_service_address: "127.0.0.1"
local_service_port: 9090
config: {}
upstreams: []
checks:
- args: ["/home/consul/check.sh"]
interval: "10s"
Ensuite, vous pouvez vérifier que le service a bien été ajouté au catalogue
> consul catalog services
consul
openshift
redis
Remarque : pour supprimer un service qui a été ajouté via ce rôle, retirez-le de la liste
consul_services
et appliquez à nouveau le rôle.
Vagrant et VirtualBox
Voir examples/README_VAGRANT.md pour des détails sur des déploiements rapides avec Vagrant sous VirtualBox pour le développement, l'évaluation, les tests, etc.
Licence
BSD
Informations sur l'auteur
Contributeurs
Un grand merci aux personnes listées dans CONTRIBUTORS.md pour leurs contributions à ce projet.
Les contributions sont les bienvenues, à condition que vous puissiez accepter les termes décrits dans CONTRIBUTING.md.
ansible-galaxy install brianshumate.consul