community.mongodb.mongodb_stepdown 模块 – 将 MongoDB 节点从 PRIMARY 状态降级。

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.mongodb。您需要满足其他要求才能使用此模块,请参阅要求了解详情。

要在 playbook 中使用它,请指定:community.mongodb.mongodb_stepdown

community.mongodb 1.0.0 中的新增功能

概要

  • 如果 MongoDB 节点处于 PRIMARY 状态,则将其降级。如果成员已处于 SECONDARY 或 ARBITER 状态,则立即返回 OK。如果成员状态当前为 STARTUP、RECOVERING、STARTUP2 或 ROLLBACK,则将等待超时,直到成员状态达到 SECONDARY 或 PRIMARY,然后才采取任何必要的操作。

要求

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

  • pymongo

参数

参数

说明

atlas_auth

布尔值

用于 MongoDB Atlas 实例的身份验证路径

选择

  • false ←(默认)

  • true

auth_mechanism

字符串

身份验证类型。

选择

  • "SCRAM-SHA-256"

  • "SCRAM-SHA-1"

  • "MONGODB-X509"

  • "GSSAPI"

  • "PLAIN"

connection_options

列表 / 元素=任何

其他连接选项。

以字典列表或包含以“=”分隔的键值对的字符串形式提供。

force

布尔值

可选。一个布尔值,用于确定在等待时间内没有可选举且最新的 secondary 时是否降级 primary。

选择

  • false ←(默认)

  • true

interval

整数

轮询执行之间等待的秒数。

默认值: 30

login_database

字符串

存储登录凭据的数据库。

默认值: "admin"

login_host

字符串

运行要登录的 MongoDB 实例的主机。

默认值: "localhost"

login_password

字符串

用于身份验证的密码。

指定 login_user 时必需。

login_port

整数

要登录的 MongoDB 服务器端口。

默认值: 27017

login_user

字符串

用于登录的 MongoDB 用户。

指定 login_password 时必需。

poll

整数

查询成员状态的最大次数。

默认值: 1

secondary_catch_up

整数

stepDown 命令的 secondaryCatchUpPeriodSecs 参数。

mongod 将等待可选举的 secondary 追赶 primary 的秒数。

默认值: 10

ssl

别名:tls

布尔值

连接到数据库时是否使用 SSL 连接。

选择

  • false ←(默认)

  • true

ssl_ca_certs

别名:tlsCAFile

字符串

ssl_ca_certs 选项采用 CA 文件的路径。

ssl_cert_reqs

别名:tlsAllowInvalidCertificates

字符串

指定是否需要来自连接另一侧的证书,以及如果提供证书是否将进行验证。

选择

  • "CERT_NONE"

  • "CERT_OPTIONAL"

  • "CERT_REQUIRED" ←(默认)

ssl_certfile

别名: tlsCertificateKeyFile

字符串

使用 ssl_certfile 选项提供客户端证书。

ssl_crlfile

字符串

ssl_crlfile 选项接受一个 CRL 文件的路径。

ssl_keyfile

字符串

客户端证书的私钥。

ssl_pem_passphrase

别名: tlsCertificateKeyFilePassword

字符串

用于解密加密私钥的密码。

stepdown_seconds

整数

主节点降级的秒数,在此期间,降级成员没有资格成为主节点。

默认值: 60

strict_compatibility

布尔值

强制执行 pymongo 和 MongoDB 软件版本的严格要求

选择

  • false

  • true ← (默认)

注释

注意

示例

- name: Step down the current MongoDB member
  community.mongodb.mongodb_stepdown:
    login_user: admin
    login_password: secret

- name: Step down the current MongoDB member, poll a maximum of 5 times if member state is recovering
  community.mongodb.mongodb_stepdown:
    login_user: admin
    login_password: secret
    poll: 5
    interval: 10

返回值

通用返回值记录在这里,以下是此模块特有的字段

描述

failed

布尔值

模块是否失败。

返回: 总是

iteration

整数

模块查询副本集状态的次数。

返回: 总是

msg

字符串

状态消息。

返回: 总是

作者

  • Rhys Campbell (@rhysmeister)