自動化運維工具saltstack05 -- 之salt-ssh模式

salt-ssh模式

一、說明:

        salt-ssh即經過ssh得方式進行管理,不須要安裝salt-minion, salt-ssh 用的是sshpass進行密碼交互的。python

二、salt-ssh得侷限性

        被管理的機器須要支持遠程鏈接,ssh有些功能不如minionshell

三、安裝salt-ssh

# yum install -y salt-ssh

四、配置salt-ssh

# tail -6 /etc/salt/roster 
test1:            #被管理的主機名
  host: 172.18.X.X         #被管理的主機IP
  user: test        #被管理主機的ssh鏈接用戶
  passwd: passwd       #被管理主機的ssh用戶密碼
  port: 22        #被管理主機的ssh端口
  sudo: True     #是否容許sudo

五、使用salt-ssh模式測試鏈接服務器

第一次執行會有認證,加-i參數,之後就不用了數據庫

# salt-ssh \* test.ping -i
test1:
    True

六、使用salt-ssh模式執行shell命令

方法一:
# salt-ssh \* cmd.run "w"
test1:
     14:42:17 up 14 days,  4:39,  2 users,  load average: 0.11, 0.09, 0.06
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    young    pts/0    123.121.57.191   11:38    9.00s  0.84s  0.02s sshd: young [priv]  
    young    pts/1    123.121.57.191   14:30   11:37   0.04s  0.02s sshd: young [priv]

方法二:
# salt-ssh \* -r "w"
test1:
    ----------
    retcode:
        0
    stderr:
    stdout:
        young@172.18.214.112's password: 
         14:42:24 up 14 days,  4:39,  2 users,  load average: 0.09, 0.09, 0.06
        USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
        young    pts/0    123.121.57.191   11:38    8.00s  0.81s  0.02s sshd: young [priv]  
        young    pts/1    123.121.57.191   14:30   11:44   0.04s  0.02s sshd: young [priv]

七、使用salt-ssh執行salt狀態

# salt-ssh "*" state.sls install-tomcat

總結:

一、salt-ssh命令用法

        -r, –raw, –raw-shell # 直接使用shell命令後端

        -priv #指定SSH私有密鑰文件tomcat

        -roster #定義使用哪一個roster系統,若是定義了一個後端數據庫,掃描方式,或者用戶自定義的的roster系統,默認的就是/etc/salt/roster文件服務器

        -roster-file #指定roster文件ssh

        -refresh, –refresh-cache #刷新cache,若是target的grains改變會自動刷新測試

        -max-procs #指定進程數,默認爲25spa

        -i, –ignore-host-keys #當ssh鏈接時,忽略keyscode

        -passwd #指定默認密碼

        -key-deploy #配置keys 設置這個參數對於全部minions用來部署ssh-key認證,這個參和–passwd結合起來使用會使初始化部署很快很方便。當調用master模塊時,並加上參數 –key-deploy 便可在minions生成keys,下次開始就不使用密碼

 

二、salt-ssh於salt-minion總結:

1.salt-ssh 是在salt基礎上打了一個python包上傳到客戶端的默認tmp目錄下,在客戶端上面解壓並執行返回結果,最後刪除tmp上傳的臨時文件

2.salt-minion方法是salt-mater先執行語法驗證,驗證經過後發送到minion,minion收到Msater的狀態文件默認保存在/var/cache/salt/minion

    注意:也有時候salt-master語法驗證經過,在minion上可能由於環境問題會執行失敗

3.salt-ssh和salt-minion能夠共存,salt-minion不依賴於ssh服務

相關文章
相關標籤/搜索