community.general.nomad_job 模块 – 启动 Nomad 任务

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

如果您正在使用 ansible 包,您可能已经安装了这个集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general。您需要其他要求才能使用此模块,请参阅 要求 以获取详细信息。

要在 playbook 中使用它,请指定:community.general.nomad_job

community.general 1.3.0 中的新增功能

概要

  • 启动 Nomad 任务。

  • 停止 Nomad 任务。

  • 强制启动 Nomad 任务

要求

执行此模块的主机需要满足以下要求。

  • python-nomad

参数

参数

注释

client_cert

路径

用于 TLS/SSL 的证书路径。

client_key

路径

用于 TLS/SSL 的证书私钥路径。

content

字符串

Nomad 任务的内容。

必须指定此项或 name

content_format

字符串

Nomad 任务的内容类型。

选择

  • "hcl" ←(默认)

  • "json"

force_start

布尔值

强制启动任务。

选择

  • false ←(默认)

  • true

host

字符串 / 必需

Nomad 服务器的 FQDN。

name

字符串

用于删除、停止和启动任务而无需源的任务名称。

用于删除、停止和启动任务而无需源的任务名称。

必须指定此项或 content

namespace

字符串

Nomad 的命名空间。

port

整数

在 community.general 8.0.0 中添加

Nomad 服务器的端口。

默认值: 4646

state

字符串 / 必需

部署或删除任务。

选择

  • "present"

  • "absent"

timeout

整数

请求 Nomad 的超时时间(以秒为单位)。

默认值: 5

token

字符串

用于身份验证的 ACL 令牌。

use_ssl

布尔值

使用 TLS/SSL 连接。

选择

  • false

  • true ←(默认)

validate_certs

布尔值

启用 TLS/SSL 证书验证。

选择

  • false

  • true ←(默认)

属性

属性

支持

描述

check_mode

支持:完全

可以在 check_mode 中运行,并返回更改状态预测,而无需修改目标。

diff_mode

支持:

当处于差异模式时,将返回有关已更改内容(或可能需要在 check_mode 中更改的内容)的详细信息。

另请参阅

另请参阅

Nomad 任务文档

Nomad API 任务的完整文档。

示例

- name: Create job
  community.general.nomad_job:
    host: localhost
    state: present
    content: "{{ lookup('ansible.builtin.file', 'job.hcl') }}"
    timeout: 120

- name: Connect with port to create job
  community.general.nomad_job:
    host: localhost
    port: 4645
    state: present
    content: "{{ lookup('ansible.builtin.file', 'job.hcl') }}"
    timeout: 120

- name: Stop job
  community.general.nomad_job:
    host: localhost
    state: absent
    name: api

- name: Force job to start
  community.general.nomad_job:
    host: localhost
    state: present
    name: api
    timeout: 120
    force_start: true

作者

  • FERREIRA Christophe (@chris93111)