对将 Grain 传递给启动事件时出现的问题进行查错
每次 Salt 客户端启动时,它会将`machine_id` grain 传递给 SUSE Multi-Linux Manager。SUSE Multi-Linux Manager 使用该 grain 来确定客户端是否已注册。 此处理需要同步的 Salt 调用。同步的 Salt 调用会阻塞其他处理,因此如果有很多客户端同时启动,该处理可能会造成显著的延迟。
为了解决此问题,Salt 中引入了一项新功能来避免进行单独的同步 Salt 调用。
要使用此功能,您可以在支持该功能的客户端上向客户端配置中添加一个配置参数。
为了简化此处理,您可以使用 mgr_start_event_grains.sls 辅助 Salt 状态。
|
这仅适用于已经注册的客户端。 如果您最近注册了 Salt 客户端,则此配置参数会默认添加。 |
在 SUSE Multi-Linux Manager 服务器上的命令提示符下,使用以下命令启用 start_event_grains 配置助手:
salt '*' state.sls util.mgr_start_event_grains
此命令将所需的配置添加到客户端的配置文件中,并在客户端重新启动时应用。 如果您有大量客户端,可以改为以批处理模式执行该命令:
salt --batch-size 50 '*' state.sls mgr_start_event_grains