brianshumate.nomad
Ansible-Nomad
Ce rôle était auparavant maintenu par Brian Shumate et est maintenant géré par @ansible-community/hashicorp-tools.
Ce rôle Ansible permet d'effectuer une installation de base de Nomad, y compris la structure du système de fichiers et un exemple de configuration.
Il va également créer un cluster minimal de 3 nœuds serveur, et cela peut se faire dans un environnement de développement basé sur Vagrant et VirtualBox. Consultez README_VAGRANT.md pour plus de détails sur la configuration de Vagrant.
Exigences
Ce rôle nécessite une distribution Arch Linux, Debian, RHEL ou Ubuntu ; le rôle est testé avec les versions spécifiques de logiciels suivantes :
- Ansible : 2.7.10
- nomad : 0.12.1
- Arch Linux
- CentOS : 7
- Debian : 8
- RHEL : 7
- Ubuntu : >= 20.04
- unzip pour le module unarchive
Variables du Rôle
Le rôle définit la plupart de ses variables dans defaults/main.yml
:
nomad_debug
- Mode de débogage de Nomad
- Valeur par défaut : non
nomad_skip_ensure_all_hosts
- Permet d'exécuter le rôle même si toutes les instances ne sont pas connectées
- Valeur par défaut : non
nomad_allow_purge_config
- Autorise la suppression des fichiers de configuration obsolètes. Par exemple, supprimer la configuration du serveur si l'instance n'est plus un serveur
- Valeur par défaut : non
nomad_version
- Version de Nomad à installer
- Valeur par défaut : 1.1.1
nomad_architecture_map
- Cette variable n'a pas besoin d'être modifiée dans la plupart des cas
- Valeur par défaut : Dictionnaire traduisant
ansible_architecture
en convention de nommage de l'architecture HashiCorp
nomad_architecture
- Architecture de l'hôte
- Valeur par défaut : déterminée par
{{ nomad_architecture_map[ansible_architecture] }}
nomad_pkg
- Nom du fichier du paquet Nomad
- Valeur par défaut :
nomad_{{ nomad_version }}_linux_{{ nomad_architecture }}.zip
nomad_zip_url
- URL de téléchargement de Nomad
- Valeur par défaut :
https://releases.hashicorp.com/nomad/{{ nomad_version }}/nomad_{{ nomad_version }}_linux_{{ nomad_architecture }}.zip
nomad_checksum_file_url
- URL du fichier de somme de contrôle de Nomad
- Valeur par défaut :
https://releases.hashicorp.com/nomad/{{ nomad_version }}/nomad_{{ nomad_version }}_SHA256SUMS
nomad_bin_dir
- Chemin d'installation du binaire Nomad
- Valeur par défaut :
/usr/local/bin
nomad_config_dir
- Chemin du fichier de configuration de Nomad
- Valeur par défaut :
/etc/nomad.d
nomad_data_dir
- Chemin des données de Nomad
- Valeur par défaut :
/var/nomad
nomad_lockfile
- Chemin du fichier de verrouillage de Nomad
- Valeur par défaut :
/var/lock/subsys/nomad
nomad_run_dir
- Chemin d'exécution de Nomad
- Valeur par défaut :
/var/run/nomad
nomad_manage_user
- Gérer l'utilisateur Nomad ?
- Valeur par défaut : oui
nomad_user
- Nom d'utilisateur du système d'exploitation pour Nomad
- Valeur par défaut : root
nomad_manage_group
- Gérer le groupe Nomad ?
- Valeur par défaut : non
nomad_group
- Groupe OS pour Nomad
- Valeur par défaut : bin
nomad_region
- Région par défaut
- Valeur par défaut : global
nomad_datacenter
- Étiquette de centre de données Nomad
- Valeur par défaut : dc1
nomad_log_level
- Niveau de journalisation
- Valeur par défaut : INFO
nomad_syslog_enable
- Journaux vers syslog
- Valeur par défaut : vrai
nomad_iface
- Interface réseau Nomad
- Valeur par défaut :
{{ ansible_default_ipv4.interface }}
nomad_node_name
- Nom du nœud Nomad
- Valeur par défaut :
{{ inventory_hostname_short }}
nomad_node_role
- Rôle du nœud Nomad
- options : client, server, both
- Valeur par défaut : client
nomad_leave_on_terminate
- Envoyer un départ lors de la terminaison
- Valeur par défaut : oui
nomad_leave_on_interrupt
- Envoyer un départ lors d'une interruption
- Valeur par défaut : non
nomad_disable_update_check
- Désactiver la vérification des mises à jour
- Valeur par défaut : non
nomad_retry_max
- Nombre maximal de tentatives de réessai
- Valeur par défaut : 0
nomad_retry_join
- Activer le réessai de connexion ?
- Valeur par défaut : non
nomad_retry_interval
- Intervalle de réessai pour se joindre
- Valeur par défaut : 30s
nomad_rejoin_after_leave
- Rejoindre après un départ ?
- Valeur par défaut : non
nomad_enabled_schedulers
- Liste des planificateurs activés
- Valeur par défaut : service, batch, system
nomad_num_schedulers
- Nombre de planificateurs
- Valeur par défaut :
{{ ansible_processor_vcpus }}
nomad_node_gc_threshold
- Seuil de collecte des ordures des nœuds
- Valeur par défaut : 24h
nomad_job_gc_threshold
- Seuil de collecte des ordures des travaux
- Valeur par défaut : 4h
nomad_eval_gc_threshold
- Seuil de collecte des ordures d'évaluation
- Valeur par défaut : 1h
nomad_deployment_gc_threshold
- Seuil de collecte des ordures de déploiement
- Valeur par défaut : 1h
nomad_encrypt_enable
- Activer le chiffrement Gossip même si
nomad_encrypt
n'est pas défini - Valeur par défaut : faux
nomad_encrypt
- Définir la clé de chiffrement ; doit être la même pour tous les nœuds d'un cluster. Si elle n'est pas présente et que
nomad_encrypt_enable
est vrai, la clé sera générée et récupérée depuis le serveur bootstrapé. - Valeur par défaut : ""
nomad_raft_multiplier
- Spécifie le multiplicateur de raft à utiliser
- Valeur par défaut : 1
nomad_raft_protocol
- Spécifie la version du protocole raft, utilisée par les serveurs Nomad pour communiquer
- Valeur par défaut : 2
nomad_authoritative_region
- Spécifie la région autoritaire, qui fournit une source unique de vérité pour des configurations globales telles que les politiques ACL et les jetons ACL globaux.
- Valeur par défaut : ""
nomad_node_class
- Classe de nœud Nomad
- Valeur par défaut : ""
nomad_node_pool
- Utilisé pour restreindre quels nœuds clients sont éligibles pour recevoir quelles charges de travail. Par défaut, les tâches sont exclues des pools de nœuds non par défaut. Cela signifie que les auteurs de tâches n'ont pas à ajouter répétitivement les mêmes contraintes à chaque tâche juste pour éviter certains nœuds.
- Valeur par défaut : ""
nomad_no_host_uuid
- Forcer le UUID généré par le client à être généré aléatoirement
- Valeur par défaut : non
nomad_max_kill_timeout
- Délai d'attente maximal pour tuer
- Valeur par défaut : 30s
nomad_network_interface
- Le planificateur Nomad choisira parmi les adresses IP de cette interface pour l'allocation des tâches
- Valeur par défaut : aucune
nomad_network_speed
- Écraser la vitesse du lien réseau (0 = pas d'écrasement)
- Valeur par défaut : 0
nomad_cpu_total_compute
- Écraser le calcul CPU (0 = pas d'écrasement)
- Valeur par défaut : 0
nomad_gc_interval
- Intervalle de collecte des ordures du client
- Valeur par défaut : 1m
nomad_gc_max_allocs
- Nombre maximum d'allocations qu'un client suivra avant de déclencher une collecte des ordures
- Valeur par défaut : 50
nomad_gc_disk_usage_threshold
- Seuil d'utilisation du disque en pourcentage pour la collecte des ordures
- Valeur par défaut : 80
nomad_gc_inode_usage_threshold
- Seuil d'utilisation des inodes en pourcentage pour la collecte des ordures
- Valeur par défaut : 70
nomad_gc_parallel_destroys
- Nombre maximal de destructions parallèles lors de la collecte des ordures
- Valeur par défaut : 2
nomad_reserved
- Ressources réservées pour le client
- Valeur par défaut :
cpu: {{ nomad_reserved_cpu }}, memory: {{ nomad_reserved_memory }}, disk: {{ nomad_reserved_disk }}, ports: {{ nomad_reserved_ports }}
nomad_reserved_cpu
- CPU réservé pour le client
- Valeur par défaut : 0
nomad_reserved_memory
- Mémoire réservée pour le client
- Valeur par défaut : 0
nomad_reserved_disk
- Disque réservé pour le client
- Valeur par défaut : 0
nomad_reserved_ports
- Ports réservés pour le client
- Valeur par défaut : 22
nomad_host_volumes
- Liste des volumes d'hôte utilisés pour rendre les volumes disponibles pour des travaux (charges de travail avec état). Par défaut, un répertoire est créé. Spécifiez le paramètre
state
pour le modifier. - Valeur par défaut : []
- Exemple :
nomad_host_volumes:
- name: data
path: /var/data
owner: root
group: bin
mode: 0755
read_only: false
- name: config
path: /etc/conf
owner: root
group: bin
mode: 0644
read_only: false
- name: docker socket
path: /run/docker.sock
read_only: true
state: file
nomad_host_networks
- Liste des réseaux d'hôte utilisés pour rendre différents réseaux disponibles pour des travaux au lieu de sélectionner une interface par défaut. Ceci est très utile en particulier en cas de plusieurs interfaces.
- Valeur par défaut : []
- Exemple :
nomad_host_networks:
- name: public
cidr: 100.101.102.103/24
reserved_ports: 22,80
- name: private
interface: eth0
reserved_ports: 443
nomad_options
- Options du pilote
- Dictionnaire clé-valeur
- Valeur par défaut : {}
nomad_chroot_env
- Définition de l'environnement chroot pour les pilotes Exec et Java
- Dictionnaire clé-valeur
- Valeur par défaut : faux
nomad_meta
- Métadonnées
- Dictionnaire clé-valeur
- Valeur par défaut : {}
nomad_bind_address
- Adresse de l'interface de liaison
- Valeur par défaut :
{{ hostvars[inventory_hostname]['ansible_'+ nomad_iface ]['ipv4']['address'] }}
nomad_advertise_address
- Adresse interface réseau à annoncer aux autres nœuds
- Valeur par défaut :
{{ hostvars[inventory_hostname]['ansible_'+ nomad_iface ]['ipv4']['address'] }}
nomad_ports
- Ports utilisés par Nomad
- Valeur par défaut :
http: {{ nomad_ports_http }}, rpc: {{ nomad_ports_rpc }}, serf: {{ nomad_ports_serf }}
nomad_ports_http
- Port HTTP
- Valeur par défaut : 4646
nomad_ports_rpc
- Port RPC
- Valeur par défaut : 4647
nomad_ports_serf
- Port Serf
- Valeur par défaut : 4648
nomad_podman_enable
- Installe le plugin podman
- Valeur par défaut : faux
nomad_cni_enable
- Installe les plugins CNI
- Valeur par défaut : faux
nomad_docker_enable
- Installer le sous-système Docker sur les nœuds ?
- Valeur par défaut : faux
nomad_template_config
- Vous permet de configurer le template config du client.
- Valeur par défaut : {}
Exemple :
nomad_template_config:
vault_retry:
attempts: 12
backoff: "750ms"
max_backoff: "2m"
wait:
min: "10s"
max: "4m"
nomad_plugins
- Vous permet de configurer les plugins Nomad.
- Valeur par défaut : {}
Exemple :
nomad_plugins:
nomad-driver-podman:
config:
volumes:
enabled: true
selinuxlabel: z
recover_stopped: true
nomad_group_name
- Groupe Ansible contenant tous les nœuds du cluster
- Valeur par défaut : nomad_instances
nomad_servers
Il n'est généralement pas nécessaire de modifier cette liste manuellement.
- Liste des nœuds serveur
- Valeur par défaut : Liste de tous les nœuds dans
nomad_group_name
avecnomad_node_role
défini sur server ou both
nomad_gather_server_facts
Cette fonction permet de rassembler l' nomad_bind_address
et l' nomad_advertise_address
à partir des serveurs qui ne sont actuellement pas ciblés par le playbook.
Pour rendre cela possible, l'option delegate_facts
est utilisée. Cette option est cassée dans de nombreuses versions d'Ansible, donc cette fonction pourrait ne pas toujours fonctionner.
- Réunir des faits provenant de serveurs qui ne sont pas actuellement ciblés
- Valeur par défaut : 'non'
nomad_use_consul
- Bootstrap Nomad via la prise en charge native de Consul sans configuration, supposant les ports par défaut de Consul, etc.
- Valeur par défaut : Faux
nomad_consul_address
- L'adresse de votre API Consul, à utiliser en combinaison avec
nomad_use_consul=True
. Si vous voulez utiliser https, utiliseznomad_consul_ssl
. N'ajoutez PAS https. - Valeur par défaut : localhost:8500
nomad_consul_ssl
- Si
vrai
, alors utilise https. - Valeur par défaut : faux
nomad_consul_ca_file
- Clé publique du CA de Consul, à utiliser en combinaison avec
nomad_consul_cert_file
etnomad_consul_key_file
. - Valeur par défaut : ""
nomad_consul_grpc_ca_file
- Clé publique du CA de Consul pour valider le TLS gRPC, à utiliser en combinaison avec
nomad_consul_cert_file
etnomad_consul_key_file
. - Valeur par défaut : nomad_consul_ca_file
nomad_consul_cert_file
- La clé publique qui peut être utilisée pour accéder à Consul.
- Valeur par défaut : ""
nomad_consul_key_file
- La clé privée correspondante à
nomad_consul_cert_file
. - Valeur par défaut : ""
nomad_consul_servers_service_name
- Le nom du service Consul pour vos serveurs Nomad
- Valeur par défaut : nomad-servers
nomad_consul_clients_service_name
- Le nom du service Consul pour vos clients Nomad
- Valeur par défaut : nomad-clients
nomad_consul_token
- Jeton à utiliser pour l'interaction avec Consul
- Valeur par défaut : ""
nomad_bootstrap_expect
- Spécifie le nombre de nœuds serveur à attendre avant de démarrer.
- Valeur par défaut :
{{ nomad_servers | count or 3 }}
nomad_acl_enabled
- Activer les ACL
- Valeur par défaut : non
nomad_acl_token_ttl
- TTL pour les jetons
- Valeur par défaut : "30s"
nomad_acl_policy_ttl
- TTL pour les politiques
- Valeur par défaut : "30s"
nomad_acl_replication_token
- Jeton à utiliser pour la réplication des ACL sur les serveurs non autoritaires
- Valeur par défaut : ""
nomad_vault_enabled
- Activer Vault
- Valeur par défaut : non
nomad_vault_address
- Adresse de Vault à utiliser
- Valeur par défaut :
{{ vault_address | default('0.0.0.0') }}
nomad_vault_allow_unauthenticated
- Autoriser les utilisateurs à utiliser Vault sans fournir leur propre jeton
- Valeur par défaut : oui
nomad_vault_create_from_role
- Rôle à partir duquel créer des jetons
- Valeur par défaut : ""
nomad_vault_ca_file
- Chemin du certificat CA à utiliser avec Vault
- Valeur par défaut : ""
nomad_vault_ca_path
- Chemin d'un dossier contenant le(s) certificat(s) CA à utiliser avec Vault
- Valeur par défaut : ""
nomad_vault_cert_file
- Chemin d'un certificat à utiliser avec Vault
- Valeur par défaut : ""
nomad_vault_key_file
- Chemin d'un fichier de clé privée à utiliser avec Vault
- Valeur par défaut : ""
nomad_vault_tls_server_name
- Chaîne optionnelle utilisée pour définir le nom d'hôte SNI lors de la connexion à Vault
- Valeur par défaut : ""
nomad_vault_tls_skip_verify
- Spécifie si la validation des pairs SSL doit être appliquée
- Valeur par défaut : non
nomad_vault_token
- Jeton Vault utilisé par Nomad. Sera uniquement installé sur les serveurs.
- Valeur par défaut : ""
nomad_vault_namespace
- Espace de noms Vault utilisé par Nomad
- Valeur par défaut : ""
nomad_docker_enable
- Activer Docker
- Valeur par défaut : non
nomad_docker_dmsetup
- Exécuter dmsetup sur Ubuntu (uniquement si Docker est activé)
- Valeur par défaut : oui
nomad_tls_enable
- Activer TLS
- Valeur par défaut : faux
nomad_tls_copy_keys
- Que se soit pour copier les certificats depuis la machine locale (contrôleur).
- Valeur par défaut : faux
nomad_tls_files_remote_src
- Que se soit pour copier les certificats depuis la machine distante elle-même.
- Valeur par défaut : faux
nomad_tls_dir
- Le répertoire distant où les certificats sont stockés.
- Valeur par défaut :
/etc/nomad/ssl
nomad_ca_file
- Utiliser un CA pour la connexion TLS,
nomad_cert_file
etnomad_key_file
sont nécessaires - Valeur par défaut : ca.cert
nomad_cert_file
- Utiliser un certificat pour la connexion TLS,
nomad_ca_file
etnomad_key_file
sont nécessaires - Valeur par défaut : server.crt
nomad_key_file
- Utiliser une clé pour la connexion TLS,
nomad_cert_file
etnomad_key_file
sont nécessaires - Valeur par défaut : server.key
nomad_rpc_upgrade_mode
- Utiliser un certificat pour la connexion TLS,
nomad_ca_file
etnomad_key_file
sont nécessaires, utilisé uniquement lorsque le cluster est mis à niveau vers TLS, et supprimé après la migration. Cela permet à l'agent d'accepter à la fois le trafic TLS et en texte clair. - Valeur par défaut : faux
nomad_verify_server_hostname
- Utiliser une clé pour la connexion TLS,
nomad_cert_file
etnomad_key_file
sont nécessaires. Spécifie si les connexions TLS sortantes doivent vérifier le nom d'hôte du serveur. - Valeur par défaut : vrai
nomad_verify_https_client
- Utiliser une clé pour la connexion TLS,
nomad_cert_file
etnomad_key_file
sont nécessaires. Spécifie si les agents doivent exiger des certificats clients pour toutes les requêtes HTTPS entrantes. Les certificats clients doivent être signés par le même CA que Nomad. - Valeur par défaut : vrai
nomad_telemetry
- Spécifie si vous souhaitez activer la configuration de télémétrie de Nomad.
- Valeur par défaut : faux
nomad_telemetry_disable_hostname
- Spécifie si les valeurs de jauge doivent être précédées du nom d'hôte local.
- Valeur par défaut : "faux"
nomad_telemetry_collection_interval
- Spécifie l'intervalle de temps auquel l'agent Nomad collecte les données de télémétrie.
- Valeur par défaut : "1s"
nomad_telemetry_use_node_name
- Spécifie si les valeurs de jauge doivent être précédées du nom du nœud, au lieu du nom d'hôte. Si cela est défini, cela annulera la valeur de
disable_hostname
. - Valeur par défaut : "faux"
nomad_telemetry_publish_allocation_metrics
- Spécifie si Nomad doit publier des métriques d'allocation en temps réel.
- Valeur par défaut : "faux"
nomad_telemetry_publish_node_metrics
- Spécifie si Nomad doit publier des métriques des nœuds en temps réel.
- Valeur par défaut : "faux"
nomad_telemetry_backwards_compatible_metrics
- Spécifie si Nomad doit publier des métriques compatibles avec les versions antérieures à 0.7, car après la version 0.7, Nomad émet des métriques taguées. Toutes les nouvelles métriques ne seront ajoutées qu'aux métriques taguées. Notez que cette option est utilisée pour faire la transition vers les métriques taguées et sera éventuellement dépréciée.
- Valeur par défaut : "faux"
nomad_telemetry_disable_tagged_metrics
- Spécifie si Nomad ne doit pas émettre des métriques taguées et n'émettre que des métriques compatibles avec les versions inférieures à Nomad 0.7. Notez que cette option est utilisée pour faire la transition vers les métriques taguées et sera éventuellement dépréciée.
- Valeur par défaut : "faux"
nomad_telemetry_filter_default
- Cela contrôle si l'on doit permettre des métriques qui n'ont pas été spécifiées par le filtre. Par défaut, cela est vrai, ce qui permettra toutes les métriques lorsque aucun filtre n'est fourni. Lorsque défini sur faux sans filtres, aucune métrique ne sera envoyée.
- Valeur par défaut : "vrai"
nomad_telemetry_prefix_filter
- Il s'agit d'une liste de règles de filtre à appliquer pour autoriser/bloquer des métriques par préfixe. Un "+" en tête activera toutes les métriques avec le préfixe donné, et un "-" en tête les bloquera. S'il y a un chevauchement entre deux règles, la règle la plus spécifique prévaut. Le blocage aura la priorité si le même préfixe est mentionné plusieurs fois.
- Valeur par défaut : []
nomad_telemetry_disable_dispatched_job_summary_metrics
- Spécifie si Nomad doit ignorer les tâches dispatchées d'un travail paramétré lors de la publication des statistiques de résumé de travail. Puisque chaque travail a une petite surcharge mémoire pour le suivi des statistiques de résumé, il est parfois souhaitable d'échanger ces statistiques pour plus de mémoire lors du dispatching de nombreux travaux.
- Valeur par défaut : "faux"
nomad_telemetry_statsite_address
- Spécifie l'adresse d'un serveur statsite pour transmettre les données de métrique.
- Valeur par défaut : ""
nomad_telemetry_statsd_address
- Spécifie l'adresse d'un serveur statsd pour transmettre les métriques.
- Valeur par défaut : ""
nomad_telemetry_datadog_address
- Spécifie l'adresse d'un serveur DataDog statsd pour transmettre les métriques.
- Valeur par défaut : ""
nomad_telemetry_datadog_tags
- Spécifie une liste de balises globales qui seront ajoutées à tous les paquets de télémétrie envoyés à DogStatsD. C'est une liste de chaînes, où chaque chaîne ressemble à "my_tag_name:my_tag_value".
- Valeur par défaut : []
nomad_telemetry_prometheus_metrics
- Spécifie si l'agent doit rendre les métriques au format Prometheus disponibles à /v1/metrics?format=prometheus.
- Valeur par défaut : "faux"
nomad_telemetry_circonus_api_token
- Spécifie un jeton API Circonus valide utilisé pour créer/gérer des vérifications. Si fourni, la gestion des métriques est activée.
- Valeur par défaut : ""
nomad_telemetry_circonus_api_app
- Spécifie un nom d'application valide associé au jeton API.
- Valeur par défaut : nomad
nomad_telemetry_circonus_api_url
- Spécifie l'URL de base à utiliser pour contacter l'API Circonus.
- Valeur par défaut : https://api.circonus.com/v2
nomad_telemetry_circonus_submission_interval
- Spécifie l'intervalle auquel les métriques sont soumises à Circonus.
- Valeur par défaut : "10s"
nomad_telemetry_circonus_submission_url
- Spécifie le champ check.config.submission_url, d'un objet Check API, d'une vérification HTTPTRAP créée précédemment.
- Valeur par défaut : ""
nomad_telemetry_circonus_check_id
- Spécifie l'ID de vérification (pas de paquet de vérification) d'une vérification HTTPTRAP créée précédemment. La partie numérique du champ check._cid dans l'objet Check API.
- Valeur par défaut : ""
nomad_telemetry_circonus_check_force_metric_activation
- Spécifie si l'activation forcée des métriques déjà existantes mais non actives doit avoir lieu. Si la gestion des vérifications est activée, le comportement par défaut est d'ajouter de nouvelles métriques au fur et à mesure qu'elles se présentent. Si la métrique existe déjà dans la vérification, elle ne sera pas activée. Ce paramètre annule ce comportement.
- Valeur par défaut : "faux"
nomad_telemetry_circonus_check_instance_id
- Sert à identifier de manière unique les métriques provenant de cette instance. Il peut être utilisé pour maintenir la continuité des métriques avec des instances transitoires ou éphémères à mesure qu'elles se déplacent au sein d'une infrastructure. Par défaut, cela est défini comme nom d'hôte : nom de l'application (par exemple : "host123:nomad").
- Valeur par défaut : ""
nomad_telemetry_circonus_check_search_tag
- Spécifie une balise spéciale qui, lorsqu'elle est couplée avec l'ID d'instance, aide à resserrer les résultats de recherche lorsque ni une URL de soumission ni un ID de vérification ne sont fournis. Par défaut, cela est défini comme service : application (par exemple : "service:nomad").
- Valeur par défaut : ""
nomad_telemetry_circonus_check_display_name
- Spécifie un nom à donner à une vérification lorsqu'elle est créée. Ce nom est affiché dans la liste des vérifications de l'interface utilisateur Circonus.
- Valeur par défaut : ""
nomad_telemetry_circonus_check_tags
- Liste séparée par des virgules d'étiquettes supplémentaires à ajouter à une vérification lorsqu'elle est créée.
- Valeur par défaut : ""
nomad_telemetry_circonus_broker_id
- Spécifie l'ID d'un courtier Circonus spécifique à utiliser lors de la création d'une nouvelle vérification. La partie numérique du champ broker._cid dans un objet Broker API. Si la gestion des métriques est activée et qu'aucune URL de soumission ni aucun ID de vérification ne sont fournis, une tentative sera faite de rechercher une vérification existante en utilisant l'ID d'instance et la balise de recherche. Si aucune vérification n'est trouvée, une nouvelle vérification HTTPTRAP sera créée. Par défaut, un courtier Enterprise aléatoire est sélectionné, ou, le courtier public par défaut de Circonus.
- Valeur par défaut : ""
nomad_telemetry_circonus_broker_select_tag
- Spécifie une balise spéciale qui sera utilisée pour sélectionner un courtier Circonus lorsqu'un ID de courtier n'est pas fourni. Le meilleur usage de ceci est comme indice pour quel courtier devrait être utilisé en fonction de là où cette instance particulière s'exécute (par exemple : un emplacement géographique ou datacenter spécifique, dc:sfo).
- Valeur par défaut : ""
nomad_autopilot
- Activer l'autopilot de Nomad
- Pour activer les fonctionnalités de l'autopilot (à l'exception du nettoyage des serveurs morts), le paramètre raft_protocol dans la section serveur doit être défini sur 3 sur tous les serveurs. Voir le paramètre
nomad_raft_protocol
. - Valeur par défaut : faux
nomad_autopilot_cleanup_dead_servers
- Spécifie la suppression automatique des nœuds de serveur morts périodiquement et chaque fois qu'un nouveau serveur est ajouté au cluster.
- Valeur par défaut : vrai
nomad_autopilot_last_contact_threshold
- Spécifie la durée maximale pendant laquelle un serveur peut être en contact avec le leader avant d'être considéré comme non sain.
- Valeur par défaut : 200ms
nomad_autopilot_max_trailing_logs
- Spécifie le nombre maximal d'entrées de journal qu'un serveur peut suivre le leader avant d'être considéré comme non sain.
- Valeur par défaut : 250
nomad_autopilot_server_stabilization_time
- Spécifie le temps minimum qu'un serveur doit rester stable dans l'état 'sain' avant d'être ajouté au cluster. Ne prend effet que si tous les serveurs exécutent la version 3 du protocole Raft ou supérieure.
- Valeur par défaut : 10s
nomad_ui
- Spécifie si vous souhaitez ajouter une étiquette spécifique dans l'UI, plus tard avec
nomad_ui_label_text
,nomad_ui_label_background_color
etnomad_ui_label_text_color
. - Valeur par défaut : faux
Exemple :
nomad_ui: true
nomad_ui_label_text: "Cluster de Staging"
nomad_ui_label_background_color: "jaune"
nomad_ui_label_text_color: "#000000"
nomad_ui_label_text
- Spécifie une étiquette à afficher sur l'UI (par exemple : "Cluster de Staging").
- Valeur par défaut : "Cluster de Staging"
nomad_ui_label_background_color
- Spécifie la couleur de fond de l'étiquette sur l'UI (par exemple : "jaune").
- Valeur par défaut : "jaune"
nomad_ui_label_text_color
- Spécifie la couleur de l'étiquette sur l'UI (par exemple : "#000000").
- Valeur par défaut : "#000000"
nomad_artifact
- Spécifie des variables d'environnement pour l'artifact (par exemple : "GITLAB_READONLY_TOKEN").
- Valeur par défaut : ""
Exemple :
nomad_artifact:
{
set_environment_variables: "GITLAB_READONLY_TOKEN,GITLAB_KEYCLOAK_THEMES_READONLY_TOKEN",
}
Section de Configuration Personnalisée
Comme Nomad charge la configuration à partir de fichiers et de répertoires dans un ordre lexical,
fusionnant généralement sur la configuration précédemment analysée, vous pouvez définir des
configurations personnalisées via nomad_config_custom
, qui sera étendu dans un fichier nommé custom.json
dans votre nomad_config_dir
et sera chargé après toutes les autres configurations par défaut.
Un exemple d'utilisation pour activer vault
:
vars:
nomad_config_custom:
vault:
enabled : true
ca_path : "/etc/certs/ca"
cert_file : "/var/certs/vault.crt"
key_file : "/var/certs/vault.key"
address : "https://vault.service.consul:8200"
create_from_role : "nomad-cluster"
Dépendances
Ansible nécessite GNU tar et ce rôle utilise localement le module
unarchive, donc assurez-vous que votre système a gtar
/unzip
installé.
Les modèles Jinja2 utilisent le filtre ipaddr qui nécessite la bibliothèque python netaddr
.
Exemple de Playbook
L'installation de base de Nomad est possible en utilisant le playbook site.yml
inclus :
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 "nomad_datacenter=maui"
Vagrant et VirtualBox
Consultez examples/README_VAGRANT.md
pour des détails sur les déploiements rapides de Vagrant
sous VirtualBox pour des tests, etc.
Licence
BSD
Informations sur l'Auteur
Contributeurs
Remerciements particuliers aux personnes mentionné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.nomad