salt-ssh
1. 安裝: yum install salt-ssh
2. vim /etc/salt/roster
xiaozhu:
host: 192.168.4.32 注意兩個空格
user: root
passwd: 123456
port: 22
timeout: 10
3. 使用
alt-ssh 'dianlan' -r 'uptime' -i
注-r 使用shell , -i 忽略(yes/no)的提示消息,第二次則不必使用
關於參數:
-r, –raw, –raw-shell # 直接使用shell命令
–priv #指定SSH私有密鑰文件
–roster #指定roster類型
–roster-file #指定roster文件
–refresh, –refresh-cache #刷新cache
–max-procs #指定進程數,默認爲25
-i, –ignore-host-keys #當ssh連接時,忽略keys
–passwd #指定默認密碼
–key-deploy #配置keys
salt-ssh ‘test85′ –key-deploy test.ping
當調用master模塊時,並加上參數 –key-deploy 即可在minions生成keys,下次開始就不使用密碼
4. salt-ssh安裝minion(centos6)
[root@qing salt]# tree minion/
minion/
├── epel.sls
├── files
│ ├── epel-release-6-8.noarch.rpm
│ ├── epel.repo
│ └── minion
├── init.sls
└── install.sls
1 directory, 6 files
[root@qing salt]#
[root@qing salt]# cat minion/epel.sls
epel_delear:
file.managed:
# - source: salt://minion/files/epel-release-6-8.noarch.rpm
# - name: /tmp/epel-release-6-8.noarch.rpm
# - mode: 755
- source: salt://minion/files/epel.repo
- name: /etc/yum.repos.d/epel.repo
- unless: test -e /etc/yum.repos.d/epel.repo
epel_install:
cmd.run:
- name: rpm -ivh /tmp/epel-release-6-8.noarch.rpm
- unless: test -e /etc/yum.repos.d/epel.repo
- require:
- file: epel_delear
[root@qing salt]# cat minion/install.sls
minion_install:
pkg.installed:
- pkgs:
- salt-minion
- salt
minion_service:
service.running:
- name: salt-minion
- enable: True
- reload: True
- watch:
- file: /etc/salt/minion
- require:
- pkg: minion_install
minion_peizhi:
file.managed:
- name: /etc/salt/minion
- source: salt://minion/files/minion
- mode: 640
- user: root
- template: jinja
[root@qing files]# cat minion | grep -v '#'
master: qing
id: {{grains['fqdn']}}
執行
salt-ssh 'xiaozhu' state.sls minion/init
注: 即時沒啓動minion 也可以獲取grains信息
salt-ssh 'xiaozhu' grains.items