1、基礎環境html
[root@BJ-SaltStack-Node1 ~]# cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) [root@BJ-SaltStack-Node1 ~]# python --version Python 2.7.5
2、SaltSatck 安裝
徹底按照官方文檔來便可。
https://repo.saltstack.com/2018.3.html#rhelnode
3、Master 配置文件python
默認配置便可正常工做。shell
[root@BJ-SaltStack-Node1 ~]# cat /etc/salt/master | grep -v ^# |grep -v ^$ default_include: master.d/*.conf file_roots: base: - /srv/salt dev: - /srv/salt/dev/services - /srv/salt/dev/states prod: - /srv/salt/prod/services - /srv/salt/prod/states
salt-minion 安裝略。windows
4、經過cmd模塊操做windowside
1.先看下cmd模塊包含哪些方法測試
[root@BJ-SaltStack-Node1 ~]# salt 'BJ-WJ-T-DCS-01' sys.list_functions cmd BJ-WJ-T-DCS-01: - cmd.exec_code - cmd.exec_code_all - cmd.has_exec - cmd.powershell - cmd.powershell_all - cmd.retcode - cmd.run - cmd.run_all - cmd.run_bg - cmd.run_chroot - cmd.run_stderr - cmd.run_stdout - cmd.script - cmd.script_retcode - cmd.shell - cmd.shell_info - cmd.shells - cmd.tty - cmd.which - cmd.which_bin - cmd.win_runas
2.看看相關方法的用法code
#如 salt 'BJ-WJ-T-DCS-01' sys.doc cmd.run salt 'BJ-WJ-T-DCS-01' sys.doc cmd.powershell
3.測試一下cmd.run和cmd.scripthtm
cmd.runip
root@BJ-SaltStack-Node1 ~]# salt 'BJ-WJ-T-DCS-01' cmd.run 'hostname' shell='powershell' BJ-WJ-T-DCS-01: BJ-WJ-T-DCS-01 [root@BJ-SaltStack-Node1 scripts]# salt 'BJ-WJ-T-DCS-01' cmd.run 'get-hotfix -hfid KB4532931' shell='powershell' BJ-WJ-T-DCS-01: Source Description HotFixID InstalledBy InstalledOn ------ ----------- -------- ----------- ----------- BJ-WJ-T-DC... Update KB4532931 NT AUTHORITY\SYSTEM 2020/4/10 ...
cmd.script
#腳本內容,獲取指定kb的安裝時間 [root@BJ-SaltStack-Node1 scripts]# cat get_hotfix.ps1 $a = Get-HotFix | Where-Object {$_.HotFixid -eq "KB4532931"} $a.InstalledOn #用salt 執行 [root@BJ-SaltStack-Node1 scripts]# salt 'BJ-WJ-T-DCS-01' cmd.script salt://scripts/get_hotfix.ps1 shell='powershell' BJ-WJ-T-DCS-01: ---------- pid: 3916 retcode: 0 stderr: stdout: 2020?4?10? 0:00:00
5、批量操做
最簡單的能夠定義組:
[root@BJ-SaltStack-Node1 scripts]# cat /etc/salt/master.d/nodegroups.conf nodegroups: jump_win: 'L@BJ-WJ-Jump-01,BJ-WJ-Jump-02,BJ-DX-JumpLS-01' demo: 'L@BJ-WJ-T-DCS-01,BJ-WJ-T-DCS-02'
而後對組進行批量操做:
[root@BJ-SaltStack-Node1 scripts]# salt -N demo cmd.run 'ipconfig ' shell='powershell' BJ-WJ-T-DCS-01: Windows IP Configuration Ethernet adapter 以太網: Connection-specific DNS Suffix . : IPv4 Address. . . . . . . . . . . : 172.16.7.54 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 172.16.7.1 Tunnel adapter isatap.{77A1A005-DE37-488B-A1E7-98CDB838E01E}: Media State . . . . . . . . . . . : Media disconnected Connection-specific DNS Suffix . : BJ-WJ-T-DCS-02: Windows IP Configuration Ethernet adapter 以太網: Connection-specific DNS Suffix . : IPv4 Address. . . . . . . . . . . : 172.16.7.55 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 172.16.7.1 Tunnel adapter isatap.{2526DE3F-E74C-4175-B209-B15F924284BB}: Media State . . . . . . . . . . . : Media disconnected Connection-specific DNS Suffix . :