首页 文章

Salt-minion作为执行sudo命令的非root用户始终返回错误“函数'state.highstate'正在作为PID运行..”

提问于
浏览
3

我正在尝试将 salt-minion 配置为以非root用户身份运行,但是通过 sudo 用户运行其所有命令,这似乎可以使用最新的salt release

我创建了my-minion用户,给了它sudo权限,并确保命令执行不需要密码,并相应地配置了minion .

/etc/sudoers

# sudo privileges and permission to execute cmds with no password
my-minion ALL=(ALL) NOPASSWD:ALL

/etc/salt/minion

# The user to run salt.
user: my-minion
sudo_user: root

但是在执行 salt '*' state.highstate 之后,minion总是返回以下错误 -

/var/log/salt/minion

The function "state.highstate" is running as PID 17121 and was started at 2015, Jul 28 15:58:08.625398 with jid 20150728155808625398

除了 state.highstate 两次获得 LazyLoaded 之外,调试日志中没有任何特别有用的东西 . 我跟你有记录 . 如果需要,请告诉我 .

我很确定我根据以下文档正确配置了所有内容

我使用的 salt 版本是2015.5.3(Lithium),操作系统是CentOS 6.6

NOTE: 当我只是在 minion 配置文件中注释 sudo_user 属性时,错误就消失了,但显然我没有得到我想要的功能 . 所以很确定这是一个问题,因为只有该属性,而不是其他任何东西 .

如果有人能指出我正确的方向,或者澄清这是否是盐的实施中的错误,我将不胜感激 .

3 回答

  • 0

    尝试重新启动salt-minion守护程序 . 如果这不起作用,请尝试删除 /var/cache/salt/master/proc 目录并重新启动salt-minion守护程序 .

    您看到的错误是Salt检查是否正在运行另一个高状态并阻止您运行另一个状态 . 你需要确保它没有这样做 .

  • 0

    我遇到过这个问题 . 我尝试清理缓存,重新启动minion但没有工作 . 你需要杀死这个过程 .

    salt '*' saltutil.kill_job 20150728155808625398
    
  • -2

    我不知道你是什么.sls . 你需要找到你在minion上'state.highstate'开始的进程然后杀死它 . Saltstack只允许同时运行一个.sls文件 . 如果您没有终止进程,则无法高举其他.sls文件 .

相关问题