我一直在努力为我的 Saltstack 部署在主端设置一个外部返回器——“master_job_cache”,按照文档中所述。
我从 Slack 和 mongo_return 开始。我很快发现它们都不能与 master_job_cache 一起使用。我的理解是它们没有实现正确的函数来实现这一点,特别是 save_load(通过搜索和阅读日志发现)。然后我尝试了 mongo_future_return,因为它实现了正确的函数——但根据文档,它目前不稳定。我已经安装了 pymongo,我的主端配置如下所示:
returner: mongo_future_return
mongo:
db: salt_returns
host: 194.168.1.4
user: salt_master
password: solidWellBuiltPassword
port: 27017
master_job_cache: mongo_future_return
但是,当我运行它时,这会导致堆栈跟踪,主端日志告诉我:
Could not deserialize msgpack message.This often happens when trying to read a file not in binary modeTo see message payload, enable debug logging and retry. Exception: unpack(b) received extra data.
因此,第一个问题是:根据我到目前为止所解释的内容,我是否做错了什么,我应该解决这些问题才能使这些 mongo returners 正常工作?
第二,也是主要问题:哪些 returner 在使用 master_job_cache 选项时对你有用?有没有与 MASTER JOB CACHE 配合使用的 returner 列表(我知道有 returner 列表,但很多都没有具体说明)。我没有时间逐个尝试,不过我可能会尝试 MySQL 和 Postgres。
提前感谢您的帮助。
答案1
我已多次成功使用 MySQL 主作业缓存。