community.mongodb.mongodb_shard 模块 – 在 MongoDB 集群中添加或删除分片
注意
此模块是 community.mongodb 集合 (版本 1.7.8) 的一部分。
如果您使用的是 ansible
包,则可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.mongodb
。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求。
要在剧本中使用它,请指定:community.mongodb.mongodb_shard
。
community.mongodb 1.0.0 中的新增功能
概要
在 MongoDB 集群中添加或删除分片。
要求
执行此模块的主机需要以下要求。
pymongo
参数
参数 |
注释 |
---|---|
用于 MongoDB Atlas 实例的身份验证路径 选项
|
|
身份验证类型。 选项
|
|
附加连接选项。 作为字典或字符串列表提供,键值对用“=”分隔。 |
|
存储登录凭据的数据库。 默认值: |
|
运行要登录的 MongoDB 实例的主机。 默认值: |
|
用于身份验证的密码。 当指定了 *login_user* 时,这是必需的。 |
|
要登录的 MongoDB 服务器端口。 默认值: |
|
要登录的 MongoDB 用户。 当指定了 *login_password* 时,这是必需的。 |
|
为要连接到的 mongos 进程提供自定义名称。 大多数用户可以忽略此设置。 默认值: |
|
分片连接字符串。 应以 <<replicaset>/host:port 的形式提供,详情请参见 https://docs.mongodb.com/manual/tutorial/add-shards-to-shard-cluster/。 例如 rs0/example1.mongodb.com:27017。 |
|
在列出的数据库上启用分片。 可以作为字符串或字符串列表提供。 无法在数据库上禁用分片。 从 MongoDB 6.0 开始,不再需要 enableSharding 命令来分片集合,此参数将被忽略。 |
|
连接到数据库时是否使用 SSL 连接。 选项
|
|
ssl_ca_certs 选项采用 CA 文件的路径。 |
|
指定是否需要来自连接另一端的证书,以及如果提供是否会对其进行验证。 选项
|
|
使用 ssl_certfile 选项出示客户端证书。 |
|
ssl_crlfile 选项采用 CRL 文件的路径。 |
|
客户端证书的私钥。 |
|
解密加密私钥的密码。 |
|
分片在集群中是否存在。 选项
|
|
强制执行 pymongo 和 MongoDB 软件版本的严格要求 选项
|
注释
注意
远程主机上需要 pymongo Python 包,版本 4+。
示例
- name: Add a replicaset shard named rs1 with a member running on port 27018 on mongodb0.example.net
community.mongodb.mongodb_shard:
login_user: admin
login_password: admin
shard: "rs1/mongodb0.example.net:27018"
state: present
- name: Add a standalone mongod shard running on port 27018 of mongodb0.example.net
community.mongodb.mongodb_shard:
login_user: admin
login_password: admin
shard: "mongodb0.example.net:27018"
state: present
- name: To remove a shard called 'rs1'
community.mongodb.mongodb_shard:
login_user: admin
login_password: admin
shard: rs1
state: absent
# Single node shard running on localhost
- name: Ensure shard rs0 exists
community.mongodb.mongodb_shard:
login_user: admin
login_password: secret
shard: "rs0/localhost:3001"
state: present
# Single node shard running on localhost
- name: Ensure shard rs1 exists
community.mongodb.mongodb_shard:
login_user: admin
login_password: secret
shard: "rs1/localhost:3002"
state: present
# Enable sharding on a few databases when creating the shard
- name: To remove a shard called 'rs1'
community.mongodb.mongodb_shard:
login_user: admin
login_password: admin
shard: rs1
sharded_databases:
- db1
- db2
state: present
返回值
常用返回值已在 此处 记录,以下是此模块特有的字段
键 |
描述 |
---|---|
要创建的分片的名称。 返回:成功 |
|
在模块执行期间已启用分片的数据库。 返回:启用分片时成功 |