zoukankan      html  css  js  c++  java
  • SaltStack简介及其故障排除示例

    Saltstack是继 Puppet、Chef 之后新出现的配置管理及远程执行工具, 目前,SaltStack 正得到越来越多的瞩目。与 Puppet 相比,SaltStack 没有那么笨重,较为轻量;不像 Puppet 有一套自己的 DSL用来写配置,SaltStack 使用YAML作为配置文件格式,写起来既简单又容易,同时也便于动态生成;此外,SaltStack 在远程执行命令时的速度非常快,也包含丰富的模块。SaltStack 是开源软件,其源代码托管于GitHub上,安装及使用尽可参考其官方文档,也可以参考灿哥的blog

    官方文档:http://docs.saltstack.com/topics/installation/rhel.html

    对于集群中的多个节点,当在新加入的节点上直接使用yum安装salt-minion后,默认安装的是最新的版本(2014.1.0);而原来安装的salt-master的版本则是比较旧的0.17.4。安装完成后,更改minion端的配置文件,指定master和id,然后发现minion和master可以正常的通信。使用简单的测试命令,如test.ping,cmd.run 'ls /tmp/'等也可以正常使用。这样以为就安装完成了,打算收工做其他事情了。

    后来,由于需要在salt-master端为minion端推送脚本,并在minion端执行,便在master端向新装minion端的节点,推送了脚本,如下所示:

    salt '*' cmd.script salt://scripts/testWriteTime.sh

    观察来自minion端的返回,发现了如下问题:有的minion可以执行成功,有的不可以。

    不可以成功执行的输出信息如下:

    可以成功执行的输入信息如下:

     

    观察来自minion端的日志可以看到,命令已经成功的被传递到minion端了,只是在解析的时候发生了问题,如下:

     

    通过分析发现,应该是由于salt的版本更新,里面的解析函数发生了变化,导致master端和minion端不能正常解析的。所以最简单的方法是在新装minion端的节点卸载了salt-minion,并下载0.17.4版本的salt重新安装。

    具体操作如下:

    yum remove salt-minion -y

    cd ~/Downloads/

    wget https://codeload.github.com/saltstack/salt/zip/0.17

    unzip 0.17 && cd salt-0.17

    python setup.py bulid && python setup.py intall

    然后更改minion端的配置文件,指定master和id,启动salt-minion即可。

  • 相关阅读:
    1.C和C++区别,以及const分析(底层const/顶层const)
    4.移植驱动到3.4内核-移植总结
    3.移植驱动到3.4内核-移植DM9000C驱动
    2.移植3.4内核-支持烧写yaffs2,裁剪内核并制作补丁
    Android Support v4、v7、v13、v14、v17的区别和应用场景
    Android利用canvas画各种图形
    ActionBar 自定义布局定义
    android动画坐标定义
    GitHub上最著名的Android播放器开源项目大全
    CardView 简介和使用
  • 原文地址:https://www.cnblogs.com/hust_wsh/p/3770806.html
Copyright © 2011-2022 走看看