sensu.sensu_go.etcd_replicator 模块 – 管理 Sensu Go etcd 复制器

注意

此模块是 sensu.sensu_go 集合(版本 1.14.0)的一部分。

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

要安装它,请使用:ansible-galaxy collection install sensu.sensu_go。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在 playbook 中使用它,请指定:sensu.sensu_go.etcd_replicator

注意

由于违反了 Ansible 的包含要求,sensu.sensu_go 集合将从 Ansible 12 中删除。该集合有 未解决的健全性测试失败。有关更多信息,请参阅 讨论线程

sensu.sensu_go 1.9.0 中的新功能

概要

要求

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

  • python >= 2.7

参数

参数

注释

api_version

字符串

要复制的资源的 Sensu API 版本。

auth

字典

身份验证参数。也可以使用 ENV 定义它们中的每一个。

api_key

字符串

在 sensu.sensu_go 1.3.0 中添加

身份验证时应使用的 API 密钥。如果未设置此项,将检查 SENSU_API_KEY 环境变量的值。

这取代了 auth.userauth.password 参数。

有关 API 密钥的更多信息,请参阅官方 Sensu 文档,网址为 https://docs.sensu.io/sensu-go/latest/guides/use-apikey-feature/

ca_path

路径

在 sensu.sensu_go 1.5.0 中添加

用于验证后端证书的 CA 捆绑包的路径。

如果未设置此参数,模块将使用 python 正在使用的 CA 捆绑包。

也可以通过 SENSU_CA_PATH 环境变量设置此参数。

password

字符串

Sensu 用户的密码。如果未设置此项,将检查 SENSU_PASSWORD 环境变量的值。

如果设置了 auth.api_key 参数,则忽略此参数。

默认值: "P@ssw0rd!"

url

字符串

Sensu 后端 API 的位置。如果未设置此项,将检查 SENSU_URL 环境变量的值。

默认值: "https://127.0.0.1:8080"

user

字符串

用于连接到 Sensu API 的用户名。如果未设置此项,将检查 SENSU_USER 环境变量的值。

如果设置了 auth.api_key 参数,则忽略此参数。

默认值: "admin"

verify

布尔值

在 sensu.sensu_go 1.5.0 中添加

控制证书验证的标志。

如果您正在使用自签名证书,则可以将此参数设置为 false

仅在开发场景中使用此参数!如果在生产中使用自签名证书,请参阅 auth.ca_path 参数。

也可以通过 SENSU_VERIFY 环境变量设置此参数。

选择

  • false

  • true ←(默认值)

ca_cert

字符串

用于 TLS 客户端身份验证的 PEM 格式 CA 证书的路径。

如果 insecurefalse,则为必需项。

cert

字符串

用于 TLS 客户端身份验证的 PEM 格式证书的路径。安全客户端通信需要此证书。

如果 insecurefalse,则为必需项。

insecure

布尔值

禁用传输安全性。

仅在沙盒和实验环境中设置为 true

选择

  • false ←(默认值)

  • true

key

字符串

与用于 TLS 客户端身份验证的证书关联的 PEM 格式密钥文件的路径。安全客户端通信需要此密钥及其相应的证书。

如果 insecurefalse,则为必需项。

name

字符串 / 必需

Sensu 资源的名称。此名称(在适用时与命名空间组合)唯一标识 Ansible 操作的资源。

如果已存在具有所选名称的资源,则 Ansible 模块会更新它以匹配任务中的规范。

有关有效名称和其他限制的更多详细信息,请参阅上游文档中 https://docs.sensu.io/sensu-go/latest/reference/name 元数据属性的规范。

namespace

字符串

用于约束复制的命名空间。

如果您不包含命名空间,则会复制给定资源的所有命名空间。

replication_interval

整数

资源复制的间隔时间,以秒为单位。

resource

字符串

要复制的资源的名称。

所有可用资源的列表请访问 https://docs.sensu.io/sensu-go/latest/operations/control-access/rbac/#resources

如果statepresent,则为必填项。

state

字符串

Sensu 对象的目标状态。

选择

  • "present" ← (默认)

  • "absent"

url

list / elements=string

目标集群 URL。

如果statepresent,则为必填项。

另请参阅

另请参阅

sensu.sensu_go.etcd_replicator_info

列出可用的 Sensu Go etcd 复制器。

示例

- name: Create a minimal replicator
  sensu.sensu_go.etcd_replicator:
    name: cluster_role_replicator
    ca_cert: /etc/sensu/certs/ca.pem
    cert: /etc/sensu/certs/cert.pem
    key: /etc/sensu/certs/key.pem
    url: https://sensu.alpha.example.com:2379
    resource: ClusterRole

- name: Create an insecure minimal replicator
  sensu.sensu_go.etcd_replicator:
    name: role_replicator
    insecure: true
    url:
      - https://sensu.beta.example.com:2379
      - https://sensu.gamma.example.com:2379
    resource: Role

- name: Create a replicator with all parameters set
  sensu.sensu_go.etcd_replicator:
    name: role_binding_replicator
    ca_cert: /etc/sensu/certs/ca.pem
    cert: /etc/sensu/certs/cert.pem
    key: /etc/sensu/certs/key.pem
    insecure: false
    url: https://127.0.0.1:2379
    api_version: core/v2
    resource: RoleBinding
    namespace: default
    replication_interval_seconds: 30

- name: Delete a replicator
  sensu.sensu_go.etcd_replicator:
    name: my_replicator
    state: absent

返回值

通用返回值在此处记录,以下是此模块独有的字段

描述

object

字典

表示 Sensu etcd 复制器的对象。

返回: 成功

示例: {"api_version": "core/v2", "ca_cert": "/etc/sensu/certs/ca.pem", "cert": "/etc/sensu/certs/cert.pem", "insecure": false, "key": "/etc/sensu/certs/key.pem", "metadata": {"created_by": "admin", "name": "cluster-role-replicator"}, "namespace": "", "replication_interval_seconds": 30, "resource": "ClusterRole", "url": "https://sensu.alpha.example.com:2379"}

作者

  • Tadej Borovsak (@tadeboro)