brianshumate.nomad
Ansible-Nomad
Diese Rolle wurde früher von Brian Shumate gepflegt und wird jetzt von @ansible-community/hashicorp-tools betreut.
Diese Ansible-Rolle führt die grundlegende Nomad Installation durch, einschließlich der Dateisystemstruktur und einer Beispielkonfiguration.
Sie wird auch ein minimales Cluster von 3 Servern einrichten und kann dies in einer Entwicklungsumgebung basierend auf Vagrant und VirtualBox tun. Weitere Informationen zur Vagrant-Einrichtung finden Sie in README_VAGRANT.md.
Anforderungen
Diese Rolle benötigt eine Distribution von Arch Linux, Debian, RHEL oder Ubuntu; die Rolle wurde mit den folgenden spezifischen Softwareversionen getestet:
- Ansible: 2.7.10
- nomad: 0.12.1
- Arch Linux
- CentOS: 7
- Debian: 8
- RHEL: 7
- Ubuntu: >= 20.04
- unzip für unarchive-Modul
Rollenvariablen
Die Rolle definiert die meisten ihrer Variablen in defaults/main.yml
:
nomad_debug
- Nomad Debug-Modus
- Standardwert: nein
nomad_skip_ensure_all_hosts
- Erlaubt das Ausführen der Rolle, auch wenn nicht alle Instanzen verbunden sind
- Standardwert: nein
nomad_allow_purge_config
- Erlaubt das Entfernen veralteter Konfigurationsdateien, z.B. Entfernen der Serverkonfiguration, wenn die Instanz kein Server mehr ist
- Standardwert: nein
nomad_version
- Zu installierende Nomad-Version
- Standardwert: 1.1.1
nomad_architecture_map
- Diese Variable muss in den meisten Fällen nicht geändert werden
- Standardwert: Wörterbuch, das ansible_architecture in die HashiCorp-Namenskonvention übersetzt
nomad_architecture
- Hostarchitektur
- Standardwert: wird durch
{{ nomad_architecture_map[ansible_architecture] }}
bestimmt
nomad_pkg
- Dateiname des Nomad-Pakets
- Standardwert:
nomad_{{ nomad_version }}_linux_{{ nomad_architecture }}.zip
nomad_zip_url
- Nomad-Download-URL
- Standardwert:
https://releases.hashicorp.com/nomad/{{ nomad_version }}/nomad_{{ nomad_version }}_linux_{{ nomad_architecture }}.zip
nomad_checksum_file_url
- URL der Namensüberprüfungsdatei von Nomad
- Standardwert:
https://releases.hashicorp.com/nomad/{{ nomad_version }}/nomad_{{ nomad_version}}_SHA256SUMS
nomad_bin_dir
- Installationspfad für die Nomad-Binärdatei
- Standardwert:
/usr/local/bin
nomad_config_dir
- Pfad zur Nomad-Konfigurationsdatei
- Standardwert:
/etc/nomad.d
nomad_data_dir
- Nomad-Datenpfad
- Standardwert:
/var/nomad
nomad_lockfile
- Pfad zur Nomad-Logdatei
- Standardwert:
/var/lock/subsys/nomad
nomad_run_dir
- Nomad-Laufpfad
- Standardwert:
/var/run/nomad
nomad_manage_user
- Soll der Nomad-Benutzer verwaltet werden?
- Standardwert: ja
nomad_user
- OS-Benutzername für Nomad
- Standardwert: root
nomad_manage_group
- Soll die Nomad-Gruppe verwaltet werden?
- Standardwert: nein
nomad_group
- OS-Gruppe für Nomad
- Standardwert: bin
nomad_region
- Standardregion
- Standardwert: global
nomad_datacenter
- Nomad-Datenzentralebenennug
- Standardwert: dc1
nomad_log_level
- Protokollierungsstufe
- Standardwert: INFO
nomad_syslog_enable
- Protokollierung in syslog
- Standardwert: wahr
nomad_iface
- Netzwerk-Schnittstelle von Nomad
- Standardwert:
{{ ansible_default_ipv4.interface }}
nomad_node_name
- Name des Nomad-Knotens
- Standardwert:
{{ inventory_hostname_short }}
nomad_node_role
- Rolle des Nomad-Knotens
- Optionen: client, server, both
- Standardwert: client
nomad_leave_on_terminate
- Sollen Abmeldungen bei Beenden gesendet werden?
- Standardwert: ja
nomad_leave_on_interrupt
- Sollen Abmeldungen bei Unterbrechungen gesendet werden?
- Standardwert: nein
nomad_disable_update_check
- Updateprüfung deaktivieren
- Standardwert: nein
nomad_retry_max
- Maximale Anzahl der Wiederholungsversuche für den Beitritt
- Standardwert: 0
nomad_retry_join
- Wiederholten Beitritt aktivieren?
- Standardwert: nein
nomad_retry_interval
- Zeitraum für den wiederholten Beitritt
- Standardwert: 30s
nomad_rejoin_after_leave
- Nach Abmeldung wieder beitreten?
- Standardwert: nein
nomad_enabled_schedulers
- Liste der aktivierten Zeitplaner
- Standardwert: service, batch, system
nomad_num_schedulers
- Anzahl der Zeitplaner
- Standardwert:
{{ ansible_processor_vcpus }}
nomad_node_gc_threshold
- Garbage Collection-Schwelle für Knoten
- Standardwert: 24h
nomad_job_gc_threshold
- Garbage Collection-Schwelle für Jobs
- Standardwert: 4h
nomad_eval_gc_threshold
- Garbage Collection-Schwelle für Evaluierungen
- Standardwert: 1h
nomad_deployment_gc_threshold
- Garbage Collection-Schwelle für Bereitstellungen
- Standardwert: 1h
nomad_encrypt_enable
- Gossip-Verschlüsselung aktivieren, auch wenn
nomad_encrypt
nicht gesetzt ist - Standardwert: false
nomad_encrypt
- Verschlüsselungsschlüssel festlegen; sollte in einem Cluster identisch sein. Wenn nicht vorhanden und
nomad_encrypt_enable
true ist, wird der Schlüssel generiert und vom initialisierten Server abgerufen. - Standardwert: ""
nomad_raft_multiplier
- Gibt den Raft-Multiplikator an, der verwendet werden soll
- Standardwert: 1
nomad_raft_protocol
- Gibt die Version des Raft-Protokolls an, das von Nomad-Servern für die Kommunikation verwendet wird
- Standardwert: 2
nomad_authoritative_region
- Gibt die autoritative Region an, die eine einzige Quelle der Wahrheit für globale Konfigurationen wie ACL-Richtlinien und globale ACL-Tokens bietet.
- Standardwert: ""
nomad_node_class
- Klasse des Nomad-Knotens
- Standardwert: ""
nomad_node_pool
- Wird verwendet, um einzuschränken, welche Client-Knoten für welche Arbeitslasten in Frage kommen. Standardmäßig sind Aufgaben von nicht standardmäßigen Knoten-Pools ausgeschlossen. Dies bedeutet, dass Job-Autoren nicht wiederholt die gleichen Einschränkungen zu jedem Job hinzufügen müssen, nur um bestimmte Knoten zu vermeiden.
- Standardwert: ""
nomad_no_host_uuid
- Erzwinge, dass die vom Client generierte UUID zufällig generiert wird.
- Standardwert: nein
nomad_max_kill_timeout
- Höchstzeit für das Beenden
- Standardwert: 30s
nomad_network_interface
- Der Nomad-Zeitplaner wählt aus den IPs dieser Schnittstelle aus, um Aufgaben zuzuweisen.
- Standardwert: keiner
nomad_network_speed
- Netzwerkgeschwindigkeit überschreiben (0 = keine Überschreibung)
- Standardwert: 0
nomad_cpu_total_compute
- CPU-Berechnung überschreiben (0 = keine Überschreibung)
- Standardwert: 0
nomad_gc_interval
- Intervall für die Garbage Collection des Clients
- Standardwert: 1m
nomad_gc_max_allocs
- Maximale Anzahl der Allokationen, die ein Client verfolgen wird, bevor eine Garbage Collection ausgelöst wird
- Standardwert: 50
nomad_gc_disk_usage_threshold
- Schwellenwert für die Festplattennutzung für die Garbage Collection
- Standardwert: 80
nomad_gc_inode_usage_threshold
- Schwellenwert für die Inode-Nutzung für die Garbage Collection
- Standardwert: 70
nomad_gc_parallel_destroys
- Maximale parallele Zerstörungen der Garbage Collection
- Standardwert: 2
nomad_reserved
- Reservierte Client-Ressourcen
- Standardwert:
cpu: {{ nomad_reserved_cpu }}, memory: {{ nomad_reserved_memory }}, disk: {{ nomad_reserved_disk }}, ports: {{ nomad_reserved_ports }}
nomad_reserved_cpu
- Reservierte CPU des Clients
- Standardwert: 0
nomad_reserved_memory
- Reservierter Speicher des Clients
- Standardwert: 0
nomad_reserved_disk
- Reservierte Festplatte des Clients
- Standardwert: 0
nomad_reserved_ports
- Reservierte Ports des Clients
- Standardwert: 22
nomad_host_volumes
- Liste von Hostvolumen, die genutzt wird, um Volumen für Jobs (zustandsgebundene Arbeitslasten) verfügbar zu machen. Standardmäßig wird ein Verzeichnis erstellt. Geben Sie den
state
-Parameter an, um dies zu ändern. - Standardwert: []
- Beispiel:
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 von Hostnetzwerken, die verwendet wird, um verschiedene Netzwerke für Jobs verfügbar zu machen, anstatt eine standardmäßige Schnittstelle auszuwählen. Dies ist besonders nützlich im Fall mehrerer NICs.
- Standardwert: []
- Beispiel:
nomad_host_networks:
- name: public
cidr: 100.101.102.103/24
reserved_ports: 22,80
- name: private
interface: eth0
reserved_ports: 443
nomad_options
- Treiberoptionen
- Schlüssel-Wert-Dikt
- Standardwert: {}
nomad_chroot_env
- chroot-Umgebungdefinition für die Exec- und Java-Treiber
- Schlüssel-Wert-Dikt
- Standardwert: false
nomad_meta
- Metadaten
- Schlüssel-Wert-Dikt
- Standardwert: {}
nomad_bind_address
- Bindeschnittstellenadresse
- Standardwert:
{{ hostvars[inventory_hostname]['ansible_'+ nomad_iface ]['ipv4']['address'] }}
nomad_advertise_address
- Netzwerk-Schnittstellenadresse, die anderen Knoten angeboten werden soll
- Standardwert:
{{ hostvars[inventory_hostname]['ansible_'+ nomad_iface ]['ipv4']['address'] }}
nomad_ports
- Ports, die von Nomad verwendet werden
- Standardwert:
http: {{ nomad_ports_http }}, rpc: {{ nomad_ports_rpc }}, serf: {{ nomad_ports_serf }}
nomad_ports_http
- HTTP-Port
- Standardwert: 4646
nomad_ports_rpc
- RPC-Port
- Standardwert: 4647
nomad_ports_serf
- Serf-Port
- Standardwert: 4648
nomad_podman_enable
- Installiert das Podman-Plugin
- Standardwert: false
nomad_cni_enable
- Installiert die CNI-Plugins
- Standardwert: false
nomad_docker_enable
- Docker-Subsystem auf Knoten installieren?
- Standardwert: false
nomad_template_config
- Ermöglicht Ihnen, die [Vorlagenkonfiguration] des Clients zu konfigurieren.
- Standard: {}
Beispiel:
nomad_template_config:
vault_retry:
attempts: 12
backoff: "750ms"
max_backoff: "2m"
wait:
min: "10s"
max: "4m"
nomad_plugins
- Ermöglicht Ihnen die Konfiguration von Nomad-Plugins.
- Standard: {}
Beispiel:
nomad_plugins:
nomad-driver-podman:
config:
volumes:
enabled: true
selinuxlabel: z
recover_stopped: true
nomad_group_name
- Ansible-Gruppe, die alle Clusterknoten enthält
- Standardwert: nomad_instances
nomad_servers
- Es ist normalerweise nicht notwendig, diese Liste manuell zu ändern.
- Liste der Serverknoten
- Standardwert: Liste aller Knoten in
nomad_group_name
mitnomad_node_role
, die auf server oder both gesetzt ist
nomad_gather_server_facts
- Diese Funktion macht es möglich, die
nomad_bind_address
undnomad_advertise_address
von Servern zu sammeln, die derzeit nicht im Playbook angesprochen werden.
Um dies zu ermöglichen, wird die Option delegate_facts
verwendet. Diese Option ist in vielen Ansible-Versionen fehlerhaft, sodass diese Funktion möglicherweise nicht immer funktioniert.
- Fakten von Servern sammeln, die derzeit nicht angesprochen werden
- Standardwert: 'nein'
nomad_use_consul
- Nomad über native Consul-Zero-Konfigurationsunterstützung boosten geht von den Standard-Ports von Consul usw. aus.
- Standardwert: Falsch
nomad_consul_address
- Die Adresse Ihrer Consul-API, verwenden Sie sie in Kombination mit nomad_use_consul=True. Wenn Sie HTTPS verwenden möchten, verwenden Sie
nomad_consul_ssl
. Fügen Sie nicht https hinzu. - Standardwert: localhost:8500
nomad_consul_ssl
- Wenn
wahr
, dann wird HTTPS verwendet. - Standardwert: falsch
nomad_consul_ca_file
- Öffentliches Schlüsselzertifikat von Consul CA, verwenden Sie in Kombination mit
nomad_consul_cert_file
undnomad_consul_key_file
. - Standardwert: ""
nomad_consul_grpc_ca_file
- Öffentliches Schlüsselzertifikat von Consul CA zur Validierung des gRPC TLS, verwenden Sie in Kombination mit
nomad_consul_cert_file
undnomad_consul_key_file
. - Standardwert: nomad_consul_ca_file
nomad_consul_cert_file
- Das öffentliche Schlüsselzertifikat, das zum Zugreifen auf Consul verwendet werden kann.
- Standardwert: ""
nomad_consul_key_file
- Der private Schlüssel, der zu
nomad_consul_cert_file
gehört. - Standardwert: ""
nomad_consul_servers_service_name
- Der Name des Consul-Dienstes für Ihre Nomad-Server
- Standardwert: nomad-servers
nomad_consul_clients_service_name
- Der Name des Consul-Dienstes für Ihre Nomad-Clients
- Standardwert: nomad-clients
nomad_consul_token
- Token zur Nutzung für die Interaktion mit Consul
- Standardwert: ""
nomad_bootstrap_expect
- Gibt die Anzahl der Serverknoten an, auf die gewartet werden soll, bevor der Boostrapvorgang gestartet wird.
- Standardwert:
{{ nomad_servers | count or 3 }}
nomad_acl_enabled
- ACLs aktivieren
- Standardwert: nein
nomad_acl_token_ttl
- TTL für Token
- Standardwert: "30s"
nomad_acl_policy_ttl
- TTL für Richtlinien
- Standardwert: "30s"
nomad_acl_replication_token
- Token zur Verwendung für die ACL-Replikation auf nicht autoritativen Servern
- Standardwert: ""
nomad_vault_enabled
- Vault aktivieren
- Standardwert: nein
nomad_vault_address
- Vault-Adresse verwenden
- Standardwert:
{{ vault_address | default('0.0.0.0') }}
nomad_vault_allow_unauthenticated
- Erlauben Sie es Benutzern, Vault ohne Bereitstellung ihres eigenen Tokens zu verwenden
- Standardwert: ja
nomad_vault_create_from_role
- Rolle, um Tokens zu erstellen
- Standardwert: ""
nomad_vault_ca_file
- Pfad des CA-Zertifikats, das mit Vault verwendet werden soll
- Standardwert: ""
nomad_vault_ca_path
- Pfad eines Verzeichnisses, das CA-Zertifikate zur Verwendung mit Vault enthält
- Standardwert: ""
nomad_vault_cert_file
- Pfad zu einem Zertifikat, das mit Vault verwendet werden soll
- Standardwert: ""
nomad_vault_key_file
- Pfad zu einer privaten Schlüsseldatei, die mit Vault verwendet werden soll
- Standardwert: ""
nomad_vault_tls_server_name
- Optionaler String, der verwendet wird, um den SNI-Host beim Verbinden mit Vault festzulegen
- Standardwert: ""
nomad_vault_tls_skip_verify
- Gibt an, ob die SSL-Überprüfung des Peer-Hosts durchgesetzt werden soll
- Standardwert: nein
nomad_vault_token
- Vault-Token, das von Nomad verwendet wird. Wird nur auf Servern installiert.
- Standardwert: ""
nomad_vault_namespace
- Vault-Namespace, der von Nomad verwendet wird
- Standardwert: ""
nomad_docker_enable
- Docker aktivieren
- Standardwert: nein
nomad_docker_dmsetup
- Ausführen von dmsetup unter Ubuntu (nur wenn Docker aktiviert ist)
- Standardwert: ja
nomad_tls_enable
- TLS aktivieren
- Standardwert: false
nomad_tls_copy_keys
: false
- Ob Zertifikate vom lokalen Rechner (Controller) kopiert werden sollen.
- Standardwert: false
nomad_tls_files_remote_src
- Ob Zertifikate vom entfernten Rechner selbst kopiert werden sollen.
- Standardwert: false
nomad_tls_dir
- Das entfernte Verzeichnis, in dem die Zertifikate gespeichert sind.
- Standardwert:
/etc/nomad/ssl
nomad_ca_file
- Verwenden Sie eine CA für die TLS-Verbindung, nomad_cert_file und nomad_key_file sind erforderlich
- Standardwert: ca.cert
nomad_cert_file
- Verwenden Sie ein Zertifikat für die TLS-Verbindung, nomad_ca_file und nomad_key_file sind erforderlich
- Standardwert: server.crt
nomad_key_file
- Verwenden Sie einen Schlüssel für die TLS-Verbindung, nomad_cert_file und nomad_key_file sind erforderlich
- Standardwert: server.key
nomad_rpc_upgrade_mode
- Verwenden Sie ein Zertifikat für die TLS-Verbindung; nomad_ca_file und nomad_key_file sind erforderlich und werden nur verwendet, wenn das Cluster auf TLS aktualisiert wird und nach der Migration entfernt wird. Dies ermöglicht dem Agenten, sowohl TLS- als auch Klartextdatenverkehr zu akzeptieren.
- Standardwert: falsch
nomad_verify_server_hostname
- Verwenden Sie einen Schlüssel für die TLS-Verbindung, nomad_cert_file und nomad_key_file sind erforderlich. Gibt an, ob die ausgehenden TLS-Verbindungen den Hostnamen des Servers überprüfen sollen.
- Standardwert: wahr
nomad_verify_https_client
- Verwenden Sie einen Schlüssel für die TLS-Verbindung, nomad_cert_file und nomad_key_file sind erforderlich. Gibt an, dass Agents für alle eingehenden HTTPS-Anfragen Client-Zertifikate verlangen müssen. Die Client-Zertifikate müssen von derselben CA wie Nomad signiert werden.
- Standardwert: wahr
nomad_telemetry
- Gibt an, ob die Telemetrie-Konfiguration von Nomad aktiviert sein soll.
- Standardwert: falsch
nomad_telemetry_disable_hostname
- Gibt an, ob die Messwerte mit dem lokalen Hostnamen versehen werden sollen.
- Standardwert: "falsch"
nomad_telemetry_collection_interval
- Gibt das Zeitintervall an, in dem der Nomad-Agent Telemetriedaten sammelt.
- Standardwert: "1s"
nomad_telemetry_use_node_name
- Gibt an, ob Messwerte mit dem Namen des Knotens versehen werden sollen, anstatt mit dem Hostnamen. Wenn gesetzt, überschreibt es den Wert von
disable_hostname
. - Standardwert: "falsch"
nomad_telemetry_publish_allocation_metrics
- Gibt an, ob Nomad Laufzeitmetriken von Allokationen veröffentlichen soll.
- Standardwert: "falsch"
nomad_telemetry_publish_node_metrics
- Gibt an, ob Nomad Laufzeitmetriken von Knoten veröffentlichen soll.
- Standardwert: "falsch"
nomad_telemetry_backwards_compatible_metrics
- Gibt an, ob Nomad Metriken veröffentlicht, die mit Versionen unter 0.7 rückwärtskompatibel sind. Ab Version 0.7 gibt Nomad getaggte Metriken aus. Alle neuen Metriken werden nur zu getaggten Metriken hinzugefügt. Beachten Sie, dass diese Option verwendet wird, um die Überwachung auf getaggte Metriken umzustellen und letztendlich veraltet sein wird.
- Standardwert: "falsch"
nomad_telemetry_disable_tagged_metrics
- Gibt an, ob Nomad keine getaggten Metriken ausgeben und nur Metriken veröffentlicht, die mit Versionen unter Nomad 0.7 kompatibel sind. Beachten Sie, dass diese Option verwendet wird, um die Überwachung auf getaggte Metriken umzustellen und letztendlich veraltet sein wird.
- Standardwert: "falsch"
nomad_telemetry_filter_default
- Dies steuert, ob Metriken, die nicht durch den Filter angegeben sind, erlaubt sind. Standardwert ist wahr, was alle Metriken zulässt, wenn keine Filter bereitgestellt werden. Wenn auf falsch gesetzt und keine Filter vorhanden sind, werden keine Metriken gesendet.
- Standardwert: "wahr"
nomad_telemetry_prefix_filter
- Dies ist eine Liste von Filterregeln, die angewendet werden, um Metriken nach Präfix zuzulassen/zu blockieren. Ein vorangestelltes "+" aktiviert alle Metriken mit dem angegebenen Präfix, und ein vorangestelltes "-" blockiert sie. Wenn es Überschneidungen zwischen zwei Regeln gibt, hat die spezifischere Regel Vorrang. Blockieren hat Priorität, wenn dasselbe Präfix mehrfach aufgelistet ist.
- Standardwert: []
nomad_telemetry_disable_dispatched_job_summary_metrics
- Gibt an, ob Nomad Jobs ignorieren soll, die von einem parametrisierten Job gesendet werden, wenn es darum geht, Statistiken zur Zusammenfassung von Jobs zu veröffentlichen. Da jeder Job einen kleinen Speicheraufwand zur Verfolgung von Zusammenfassungsstatistiken hat, ist es manchmal erwünscht, diese Statistiken gegen mehr Speicher einzutauschen, wenn eine hohe Anzahl von Jobs dispatchiert wird.
- Standardwert: "falsch"
nomad_telemetry_statsite_address
- Gibt die Adresse eines StatSite-Servers an, um Metrikdaten weiterzuleiten.
- Standardwert: ""
nomad_telemetry_statsd_address
- Gibt die Adresse eines StatsD-Servers an, um Metriken weiterzuleiten.
- Standardwert: ""
nomad_telemetry_datadog_address
- Gibt die Adresse eines DataDog StatsD-Servers an, um Metriken weiterzuleiten.
- Standardwert: ""
nomad_telemetry_datadog_tags
- Gibt eine Liste globaler Tags an, die allen an DogStatsD gesendeten Telemetriepaketen hinzugefügt werden. Es ist eine Liste von Strings, wobei jeder String wie "mein_tag_name:mein_tag_wert" aussieht.
- Standardwert: []
nomad_telemetry_prometheus_metrics
- Gibt an, ob der Agent Prometheus-formatierte Metriken unter /v1/metrics?format=prometheus bereitstellen soll.
- Standardwert: "falsch"
nomad_telemetry_circonus_api_token
- Gibt ein gültiges Circonus API-Token an, das verwendet wird, um Checks zu erstellen/zu verwalten. Wenn bereitgestellt, wird das Metrikmanagement aktiviert.
- Standardwert: ""
nomad_telemetry_circonus_api_app
- Gibt einen gültigen App-Namen an, der mit dem API-Token verbunden ist.
- Standardwert: "nomad"
nomad_telemetry_circonus_api_url
- Gibt die Basis-URL an, die verwendet wird, um die Circonus-API zu kontaktieren.
- Standardwert: "https://api.circonus.com/v2"
nomad_telemetry_circonus_submission_interval
- Gibt das Intervall an, in dem Metriken an Circonus gesendet werden.
- Standardwert: "10s"
nomad_telemetry_circonus_submission_url
- Gibt das field check.config.submission_url eines Check-API-Objekts von einem zuvor erstellten HTTPTRAP-Check an.
- Standardwert: ""
nomad_telemetry_circonus_check_id
- Gibt die Check-ID (nicht das Check-Bündel) von einem zuvor erstellten HTTPTRAP-Check an. Der numerische Anteil des Felds check._cid im Check-API-Objekt.
- Standardwert: ""
nomad_telemetry_circonus_check_force_metric_activation
- Gibt an, ob die Aktivierung von Metriken, die bereits existieren und nicht aktiv sind, erzwungen werden soll. Wenn das Metrikmanagement aktiviert ist, ist das Standardverhalten, neue Metriken zu aktivieren, sobald sie gefunden werden. Wenn die Metrik bereits im Check vorhanden ist, wird sie nicht aktiviert. Diese Einstellung überschreibt das Verhalten.
- Standardwert: "falsch"
nomad_telemetry_circonus_check_instance_id
- Dient dazu, die Metriken zu identifizieren, die von dieser Instanz stammen. Dies kann verwendet werden, um die Metrik-Kontinuität mit transienten oder ephemeren Instanzen aufrechtzuerhalten, wenn sie sich innerhalb einer Infrastruktur bewegen. Standardmäßig wird dies auf hostname:anwendungsname (z.B. "host123:nomad") gesetzt.
- Standardwert: ""
nomad_telemetry_circonus_check_search_tag
- Gibt einen speziellen Tag an, der zusammen mit der Instanz-ID hilft, die Suchergebnisse einzugrenzen, wenn weder eine Einreichungs-URL noch eine Check-ID bereitgestellt wird. Standardmäßig wird dies auf service:app (z.B. "service:nomad") gesetzt.
- Standardwert: ""
nomad_telemetry_circonus_check_display_name
- Gibt einen Namen an, der einem Check zugewiesen wird, wenn er erstellt wird. Dieser Name wird in der Checks-Liste der Circonus-Benutzeroberfläche angezeigt.
- Standardwert: ""
nomad_telemetry_circonus_check_tags
- Durch Kommas getrennte Liste zusätzlicher Tags, die zu einem Check hinzugefügt werden, wenn er erstellt wird.
- Standardwert: ""
nomad_telemetry_circonus_broker_id
- Gibt die ID eines bestimmten Circonus-Brokers an, die verwendet wird, wenn ein neuer Check erstellt wird. Der numerische Anteil des Feldes broker._cid in einem Broker-API-Objekt. Wenn das Metrikmanagement aktiviert ist und weder eine Einreichungs-URL noch eine Check-ID bereitgestellt wird, wird versucht, einen bestehenden Check mit der Instanz-ID und dem Such-Tag zu finden. Wenn keiner gefunden wird, wird ein neuer HTTPTRAP-Check erstellt. Standardmäßig wird ein zufälliger Enterprise-Broker ausgewählt oder der Standard-Circonus-Öffentliche Broker.
- Standardwert: ""
nomad_telemetry_circonus_broker_select_tag
- Gibt einen speziellen Tag an, der verwendet wird, um einen Circonus-Broker auszuwählen, wenn keine Broker-ID bereitgestellt wird. Der beste Gebrauch dafür ist, einen Hinweis darauf zu geben, welcher Broker basierend darauf verwendet werden sollte, wo diese Instanz betrieben wird (z.B. ein bestimmter geografischer Standort oder Rechenzentrum, dc:sfo).
- Standardwert: ""
nomad_autopilot
- Nomad Autopilot aktivieren
- Um Autopilot-Funktionen zu aktivieren (mit Ausnahme von der Bereinigung toter Server), muss die Einstellung raft_protocol in der Server-Anweisung auf 3 auf allenn Servern festgelegt werden. siehe Parameter nomad_raft_protocol
- Standardwert: falsch
nomad_autopilot_cleanup_dead_servers
- Gibt die automatische Entfernung toter Serverknoten regelmäßig und immer dann an, wenn ein neuer Server zum Cluster hinzugefügt wird.
- Standardwert: wahr
nomad_autopilot_last_contact_threshold
- Gibt die maximal zulässige Zeit an, die ein Server ohne Kontakt vom Leader haben kann, bevor er als ungesund betrachtet wird.
- Standardwert: 200ms
nomad_autopilot_max_trailing_logs
- Gibt die maximale Anzahl von Logeinträgen an, die ein Server hinter dem Leader zurückfallen kann, bevor er als ungesund betrachtet wird.
- Standardwert: 250
nomad_autopilot_server_stabilization_time
- Gibt die minimale Zeit an, die ein Server im 'gesunden' Zustand stabil sein muss, bevor er zum Cluster hinzugefügt wird. Dies tritt nur in Kraft, wenn alle Server die Raft-Protokollversion 3 oder höher ausführen.
- Standardwert: 10s
nomad_ui
- Gibt an, ob Sie ein spezifisches Label in der UI hinzufügen möchten, später mit
nomad_ui_label_text
,nomad_ui_label_background_color
undnomad_ui_label_text_color
. - Standardwert: false
Beispiel
nomad_ui: true
nomad_ui_label_text: "Staging Cluster"
nomad_ui_label_background_color: "yellow"
nomad_ui_label_text_color: "#000000"
nomad_ui_label_text
- Gibt ein Label an, das in der UI angezeigt werden soll (z.B. "Staging Cluster").
- Standardwert: "Staging Cluster"
nomad_ui_label_background_color
- Gibt die Hintergrundfarbe des Labels in der UI an (z.B. "yellow").
- Standardwert: "yellow"
nomad_ui_label_text_color
- Gibt die Farbe des Labels in der UI an (z.B. "#000000").
- Standardwert: "#000000"
nomad_artifact
- Gibt Umgebungsvariablen für Artefakte an (z.B. "GITLAB_READONLY_TOKEN").
- Standardwert: ""
Beispiel
nomad_artifact:
{
set_environment_variables: "GITLAB_READONLY_TOKEN,GITLAB_KEYCLOAK_THEMES_READONLY_TOKEN",
}
Abschnitt für benutzerdefinierte Konfiguration
Da Nomad die Konfiguration aus Dateien und Verzeichnissen in lexikalischer Reihenfolge ladet, wodurch sie typischerweise auf zuvor geparsten Konfigurationsdateien basiert, können Sie benutzerdefinierte Konfigurationen über nomad_config_custom
festlegen, die in eine Datei mit dem Namen custom.json
innerhalb Ihres nomad_config_dir
erweitert werden, die standardmäßig nach allen anderen Konfigurationen geladen wird.
Ein Beispiel zur Aktivierung von 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"
Abhängigkeiten
Ansible benötigt GNU tar und diese Rolle verwendet einige lokale Funktionen des unarchive-Moduls, stellen Sie also sicher, dass auf Ihrem System gtar
/unzip
installiert ist.
Jinja2-Templates verwenden den ipaddr-Filter, der die netaddr
Python-Bibliothek benötigt.
Beispiel-Playbook
Die grundlegende Nomad-Installation ist mit dem enthaltenen site.yml
Playbook möglich:
ansible-playbook -i <hosts> site.yml
Sie können auch einfach Variablen mit der Option --extra-vars
an den ansible-playbook
-Befehl übergeben:
ansible-playbook -i hosts site.yml --extra-vars "nomad_datacenter=maui"
Vagrant und VirtualBox
Siehe examples/README_VAGRANT.md
für Details zu schnellen Vagrant-Bereitstellungen unter VirtualBox zu Testzwecken usw.
Lizenz
BSD
Autor Informationen
Mitwirkende
Besonderer Dank an die Personen, die in CONTRIBUTORS.md aufgeführt sind, für ihre Beiträge zu diesem Projekt.
Beiträge sind willkommen, sofern Sie den Bedingungen in CONTRIBUTING.md zustimmen können.
ansible-galaxy install brianshumate.nomad