ΠΠΠ‘Π’ 7798-70 ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ 4 ΠΠΎΠ»Ρ Ρ ΡΠ΅ΡΡΠΈΠ³ΡΠ°Π½Π½ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΡΠ½ΠΎΡΡΠΈ Π
ΠΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΡΠ΅ΠΏΠ΅ΠΆΠ° ΠΏΠΎ ΠΠΠ‘Π’
ΠΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΡΠ΅ΠΏΠ΅ΠΆΠ° ΠΏΠΎ ΠΠ‘Π’
ΠΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΡΠ΅ΠΏΠ΅ΠΆΠ° ΠΏΠΎ ΡΠ΅ΡΡΠ΅ΠΆΠ°ΠΌ
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΊΡΠ΅ΠΏΠ΅ΠΆΠ°
ΠΠΎΠ»Ρ Ρ ΡΠ΅ΡΡΠΈΠ³ΡΠ°Π½Π½ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡΠ° ΡΠΎΡΠ½ΠΎΡΡΠΈ Π
ΠΠΎΠΌΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π΄ΠΈΠ°ΠΌΠ΅ΡΡ ΡΠ΅Π·ΡΠ±ΡΒ d |
1,6 |
2 |
2,5 |
3 |
(3,5) |
4 |
5 |
6 |
8 |
10 |
12 |
|
16 |
(18) |
20 |
(22) |
24 |
(27) |
30 |
36 |
42 |
48 |
|
Π¨Π°Π³ ΡΠ΅Π·ΡΠ±Ρ |
ΠΊΡΡΠΏΠ½ΡΠΉ |
0,35 |
0,4 |
0,45 |
0,5 |
0,6 |
0,7 |
0,8 |
1 |
1,25 |
1,5 |
1,75 |
2 |
2,5 |
3 |
3,5 |
4 |
4,5 |
5 |
||||
ΠΌΠ΅Π»ΠΊΠΈΠΉ |
— |
1 |
1,25 |
1,5 |
2 |
3 |
|||||||||||||||||
ΠΠΈΠ°ΠΌΠ΅ΡΡ ΡΡΠ΅ΡΠΆΠ½ΡΒ d1 |
1,6 |
2 |
2,5 |
3 |
3,5 |
4 |
5 |
6 |
8 |
10 |
12 |
14 |
16 |
18 |
20 |
22 |
24 |
27 |
30 |
36 |
42 |
48 |
|
Π Π°Π·ΠΌΠ΅Ρ Β«ΠΏΠΎΠ΄ ΠΊΠ»ΡΡ» |
3,2 |
4 |
5 |
5,5 |
6 |
7 |
8 |
10 |
13 |
16 |
18 |
21 |
24 |
27 |
30 |
34 |
36 |
41 |
46 |
55 |
65 |
75 |
|
ΠΡΡΠΎΡΠ° Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈΒ k |
1,1 |
1,4 |
1,7 |
2,0 |
2,4 |
2,8 |
3,5 |
4,0 |
5,3 |
6,4 |
7,5 |
8,8 |
10,0 |
12,0 |
12,5 |
14,0 |
15,0 |
17,0 |
18,7 |
22,5 |
26,0 |
30,0 |
|
ΠΠΈΠ°ΠΌΠ΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈΒ Π΅,Β Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ |
3,4 |
4,3 |
5,5 |
6,0 |
6,6 |
7,7 |
8,8 |
11,1 |
14,4 |
17,8 |
20,0 |
23,4 |
26,8 |
30,1 |
33,5 |
37,7 |
40,0 |
|
51,3 |
61,3 |
72,6 |
83,9 |
|
dw,Β Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ |
2,3 |
3,1 |
4,1 |
4,6 |
5,1 |
5,9 |
6,9 |
8,9 |
11,6 |
14,6 |
16,6 |
19,6 |
22,5 |
25,3 |
28,2 |
31,7 |
33,6 |
38,0 |
42,7 |
51,1 |
61,0 |
70,5 |
|
hw |
Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ |
|
0,15 |
0,20 |
0,25 |
||||||||||||||||||
Π½Π΅ Π±ΠΎΠ»Π΅Π΅ |
— |
0,4 |
0,5 |
0,6 |
0,8 |
||||||||||||||||||
ΠΠΈΠ°ΠΌΠ΅ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠΈΡ Π² ΡΡΠ΅ΡΠΆΠ½Π΅Β d3 |
— |
1,0 |
1,2 |
1,6 |
2,0 |
2,5 |
3,2 |
4,0 |
5,0 |
6,3 |
8,0 |
||||||||||||
ΠΠΈΠ°ΠΌΠ΅ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠΈΡ Π² Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅Β d4 h25 |
— |
1,0 |
1,2 |
2,0 |
2,5 |
3,2 |
4,0 |
5,0 |
|||||||||||||||
Π Π°ΡΡΡΠΎΡΠ½ΠΈΠ΅ ΠΎΡ ΠΎΠΏΠΎΡΠ½ΠΎΠΉ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ Π΄ΠΎ ΠΎΡΠΈ ΠΎΡΠ²Π΅ΡΡΡΠΈΡ Π² Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅l2 js15 |
— |
1,4 |
1,8 |
2,0 |
2,8 |
3,5 |
4,0 |
4,5 |
5,0 |
6,0 |
6,5 |
7,0 |
7,5 |
8,5 |
9,5 |
11,5 |
13,0 |
15,0 |
ΠΡΠΈΠΌΠ΅Ρ ΡΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡΒ Π±ΠΎΠ»ΡΠ° ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ 4 Ρ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΡΠ΅Π·ΡΠ±ΡΒ dΒ = 12 ΠΌΠΌ, Ρ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Β«ΠΏΠΎΠ΄ ΠΊΠ»ΡΡ» SΒ = 18 ΠΌΠΌ, Π΄Π»ΠΈΠ½ΠΎΠΉΒ lΒ = 60 ΠΌΠΌ, Ρ ΠΊΡΡΠΏΠ½ΡΠΌ ΡΠ°Π³ΠΎΠΌ ΡΠ΅Π·ΡΠ±Ρ ΡΒ ΠΏΠΎΠ»Π΅ΠΌ Π΄ΠΎΠΏΡΡΠΊΠ° 6g, ΠΊΠ»Π°ΡΡΠ° ΠΏΡΠΎΡΠ½ΠΎΡΡΠΈ 5. 8, Π±Π΅Π· ΠΏΠΎΠΊΡΡΡΠΈΡ:
ΠΠΎΠ»Ρ 4Π12-6gΓ60.58 (S18) ΠΠΠ‘Π’ 7798-70
Β
ΠΠ°ΡΠΈ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π°:- β’ ΠΡ — ΡΡΠΎ ΠΏΡΡΠΌΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΈ ΠΏΠΎΡΡΠ°Π²ΡΠΈΠΊ ΠΊΡΠ΅ΠΏΠ΅ΠΆΠ° ΠΏΠΎ ΠΠΠ‘Π’ ΠΈ ΠΠ‘Π’;
- β’ ΠΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ ΠΏΠΎ β275-Π€Π «Π Π³ΠΎΡΡΠ΄Π°ΡΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΠΎΠ±ΠΎΡΠΎΠ½Π½ΠΎΠΌ Π·Π°ΠΊΠ°Π·Π΅»;
- β’ ΠΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡ Π½Π° ΠΌΠ΅ΡΠ°Π»Π»;
- β’ ΠΡ Π½Π°Π½ΠΎΡΠΈΠΌ Π³Π°Π»ΡΠ²Π°Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠΊΡΡΡΠΈΠ΅ ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ;
- β’ ΠΡ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»ΠΈΠ²Π°Π΅ΠΌ ΠΊΡΠ΅ΠΏΠ΅ΠΆΠ½ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΠΏΠΎ ΡΠ΅ΡΡΠ΅ΠΆΠ°ΠΌ Π·Π°ΠΊΠ°Π·ΡΠΈΠΊΠ°.
Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π½Π°ΡΠΈΡ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΊΠ°Π·Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π²ΠΈΠ΄Ρ ΠΌΠ΅ΡΠΈΠ·Π½ΠΎΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠΈ:
Β ΠΠΎΠ»ΡΡΒ Β ΠΠΈΠ½ΡΡ Β Β ΠΠ°ΠΉΠΊΠΈ Β Β ΠΠ°ΠΊΠ»Π΅ΠΏΠΊΠΈ Β Β Π‘ΡΠΎΠΉΠΊΠΈ Β Β Π¨Π°ΠΉΠ±Ρ Β Β Π¨ΠΏΠ»ΠΈΠ½ΡΡ Β Β Π¨ΡΠΈΡΡΡ Β ΠΠ΅ΠΏΠ΅ΡΡΠΊΠΈ Β Β ΠΠ°ΠΊΠΎΠ½Π΅ΡΠ½ΠΈΠΊΠΈΒ Β ΠΡΠΈΠΆΠΈΠΌΡ
ΠΠΠ‘Π’ 7798-70 ΠΠΎΠ»ΡΡ Ρ ΡΠ΅ΡΡΠΈΠ³ΡΠ°Π½Π½ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΉ ΠΊΠ»Π°ΡΡ ΡΠΎΡΠ½ΠΎΡΡΠΈ Π. ΠΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡ
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΠΠ‘Π’ 7798-70
ΠΠΎΠ»ΡΡ ΠΠΠ‘Π’ 7798-70 Ρ ΡΠ΅ΡΡΠΈΠ³ΡΠ°Π½Π½ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΉ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ ΠΊΠ»Π°ΡΡΡ ΠΎΠ±ΡΠ΅ΠΏΡΠΎΠΌΡΡΠ»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΡΠ΅ΠΏΠ΅ΠΆΠ°. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»ΡΡΡΡΡ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠΎΠΌ ΠΎΡ 6 Π΄ΠΎ 48 ΠΌΠΌ. ΠΠ»Π°ΡΡ ΡΠΎΡΠ½ΠΎΡΡΠΈ Π±ΠΎΠ»ΡΠΎΠ² β Π.Β
ΠΠ·Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠΉ Π²ΠΈΠ΄ ΠΊΡΠ΅ΠΏΠ΅ΠΆΠ° ΠΈΠ· ΡΡΠ°Π»Π΅ΠΉ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΌΠ°ΡΠΎΠΊ, ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ ΡΡΠ°Π»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΡΠ΅ΠΏΠ΅ΠΆΠ°. ΠΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠ³Π»Π΅ΡΠΎΠ΄ΠΈΡΡΡΠ΅, Ρ ΠΎΠ»ΠΎΠ΄ΠΎΡΡΠΎΠΉΠΊΠΈΠ΅, Π½Π΅ΡΠΆΠ°Π²Π΅ΡΡΠΈΠ΅,Β ΠΆΠ°ΡΠΎΠΏΡΠΎΡΠ½ΡΠ΅ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΈΠΏΡ ΡΡΠ°Π»ΠΈ.Β
ΠΠ° Π±ΠΎΠ»ΡΡ ΠΠΠ‘Π’ 7798-70 Π½Π°Π½ΠΎΡΠΈΡΡΡ ΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅Π·ΡΠ±Π° ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ. Π’ΠΎΡΠ½ΠΎΡΡΡ Π΅Π΅ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΏΠΎΠ»Π΅ΠΌ Π΄ΠΎΠΏΡΡΠΊΠ° ΡΠ΅Π·ΡΠ±Ρ, ΡΠ΅ΠΌ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡΡΠ΅ — ΡΠ΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅Β ΠΎΡ Π½ΠΎΠΌΠΈΠ½Π°Π»ΡΠ½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠ΅Π·ΡΠ±Ρ.Β
Π ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΠΠ‘Π’ 7798-70, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΌ ΡΡΠΈΡΠ°Π΅ΡΡΡ Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΏΠΎΠ»Ρ Π΄ΠΎΠΏΡΡΠΊΠ° Π² 6g.Β
ΠΠ»Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π±ΠΎΡΠ° Π±ΠΎΠ»ΡΠΎΠ², ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ΅ΡΡ ΠΈΠ΄Π΅Ρ ΠΎ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Π°Ρ , ΡΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ: Β
ΡΠΈΠΏ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ΅Π΄Ρ ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Π°;
ΡΠ°Π±ΠΎΡΠ΅Π΅ Π΄Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΡΡΡΠ±ΠΎΠΏΡΠΎΠ²ΠΎΠ΄Π΅;
ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ΅ΠΉ ΡΡΠ΅Π΄Ρ;
ΠΌΠ°ΡΠΊΡ ΡΡΠ°Π»ΠΈ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΡΡ
ΡΠ»Π°Π½ΡΠ΅Π².
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ ΡΠ»Π°Π½ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, Π±ΠΎΠ»ΡΡ ΠΠΠ‘Π’ 7798-70 ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΡΠΏΠ»ΠΎΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°ΠΌΠΈ, Π³Π°ΠΉΠΊΠ°ΠΌΠΈ ΠΈ ΡΠ°ΠΉΠ±Π°ΠΌΠΈ. Β
ΠΠΎΠ»ΡΡ ΠΠΠ‘Π’ 7798-70 ΠΌΠΎΠ³ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ, ΠΏΡΠΈ ΡΡΠΎΠΌ, Π²Π΅ΡΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΠ΅ΠΌ-ΠΈΠ·Π³ΠΎΡΠΎΠ²ΠΈΡΠ΅Π»Π΅ΠΌ.Β
ΠΠ°ΡΠΈΠ°Π½ΡΡ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ:Β
ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ 1: Ρ Π±ΠΎΠ»ΡΠ° Π΄ΠΈΠ°ΠΌΠ΅ΡΡ Π³Π»Π°Π΄ΠΊΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π½ΠΎΠΌΠΈΠ½Π°Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠ°;Β
ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ 2; Ρ Π±ΠΎΠ»ΡΠ° Π΄ΠΈΠ°ΠΌΠ΅ΡΡ Π³Π»Π°Π΄ΠΊΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΡΠ΅Π΄Π½Π΅ΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΠΈΠ°ΠΌΠ΅ΡΡΠ°.Β
ΠΠΎΠ»ΡΡ ΠΠΠ‘Π’ 7798-70 Π² ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ 1 ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΡΡ Π±Π΅Π· ΡΠΏΠ»ΠΈΠ½ΡΠΎΠ²ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠΈΠΉ, Π° Π±ΠΎΠ»ΡΡ Π² ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ 2 β Ρ ΡΠΏΠ»ΠΈΠ½ΡΠΎΠ²ΡΠΌΠΈ ΠΎΡΠ²Π΅ΡΡΡΠΈΡΠΌΠΈ Π² ΡΡΠ΅ΡΠΆΠ½Π΅.Β
ΠΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π²ΠΈΠ΄Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ 3 ΠΈ 4. ΠΡΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ 3, Π² Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Π±ΠΎΠ»ΡΠ° ΡΠΎΠ·Π΄Π°ΡΡΡΡ 2 ΡΠΊΠ²ΠΎΠ·Π½ΡΡ ΠΎΡΠ²Π΅ΡΡΡΠΈΡ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ 4, Π½Π° ΡΠΎΡΡΠ΅Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Π±ΠΎΠ»ΡΠ° ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ Π»ΡΠ½ΠΊΠ°.Β
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π±ΠΎΠ»ΡΠΎΠ² ΠΠΠ‘Π’ 7798-70Β
ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π³ΡΡΠ·ΠΊΠ° — 3,2 ΡΠΎΠ½Π½Ρ;Β
ΠΊΠ»Π°ΡΡ ΡΠΎΡΠ½ΠΎΡΡΠΈ β B;Β
ΠΏΠΎΠ»Π΅ Π΄ΠΎΠΏΡΡΠΊΠ° ΡΠ΅Π·ΡΠ±Ρ — 6g.Β
ΠΊΠ»Π°ΡΡΡ ΠΏΡΠΎΡΠ½ΠΎΡΡΠΈ — 4,8; 5,8; 8,8; 10,9;Β
Β
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π±ΠΎΠ»ΡΠ° |
ΠΠΎΠΌΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π΄ΠΈΠ°ΠΌΠ΅ΡΡ ΡΠ΅Π·ΡΠ±Ρ d | |||||||||||||||
Π6 |
Π8 |
Π10* |
Π12* |
M14* |
M16 |
Π18 |
Π20 |
Π22* |
Π24 |
Π27 |
Π30 |
Π36 |
Π42 |
Π48 | ||
Π¨Π°Π³ ΡΠ΅Π·ΡΠ±Ρ, P |
ΠΊΡΡΠΏΠ½ΡΠΉ |
1 |
1,25 |
1,5 |
1,75 |
2 |
2 |
2,5 |
2,5 |
2,5 |
3 |
3 |
3,5 |
4 |
4,5 |
5 |
ΠΌΠ΅Π»ΠΊΠΈΠΉ |
— |
1 |
1,25 |
1,25 |
1,5 |
1,5 |
1,5 |
1,5 |
1,5 |
2 |
2 |
2 |
3 |
3 |
3 | |
Π Π°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ΄ ΠΊΠ»ΡΡ, S |
10 |
13 |
17 |
19 |
22 |
24 |
27 |
30 |
32 |
36 |
41 |
46 |
55 |
65 |
75 | |
ΠΠΈΠ°ΠΌΠ΅ΡΡ, d1 |
6 |
8 |
10 |
12 |
14 |
16 |
18 |
20 |
22 |
24 |
27 |
30 |
36 |
42 |
48 | |
ΠΡΡΠΎΡΠ° Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, k |
4 |
5,3 |
6,4 |
7,5 |
8,8 |
10 |
12 |
12,5 |
14 |
17 |
17 |
18,7 |
22,5 |
26 |
30 | |
ΠΠΈΠ°ΠΌΠ΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ e, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ |
10,9 |
14,2 |
18,7 |
20,9 |
24 |
26,2 |
29,6 |
33 |
35,7 |
39,6 |
45,2 |
50,9 |
60,8 |
71,3 |
82,6 | |
hw, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ |
0,15 |
0,15 |
0,15 |
0,15 |
0,15 |
0,2 |
0,2 |
0,2 |
0,2 |
0,2 |
0,2 |
0,2 |
0,2 |
0,25 |
0,25 | |
dw, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ |
8,7 |
11,5 |
15,5 |
17,2 |
20,1 |
22 |
24,8 |
27,7 |
30 |
33,2 |
38 |
42,7 |
51,1 |
59,9 |
69,4 | |
ΠΠ»ΠΈΠ½Π° ΡΠ΅Π·ΡΠ±ΠΎΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ, b |
Lβ€125 |
18 |
22 |
26 |
30 |
34 |
38 |
42 |
46 |
50 |
54 |
60 |
66 |
78 |
90 |
102 |
125 |
— |
— |
32 |
36 |
40 |
44 |
48 |
48 |
52 |
60 |
66 |
72 |
84 |
96 |
108 | |
L>200 |
— |
— |
— |
49 |
53 |
57 |
61 |
61 |
65 |
73 |
79 |
85 |
97 |
109 |
121 |
ΠΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΡΠΊΠ°Π·Π°Π½Ρ Π² ΠΌΠΌ.
* 01.01.1991Π³. Π² ΠΠΠ‘Π’ Π²Π½Π΅ΡΠ΅Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΠΏΡΠ΅Π΄ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΠ΅Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² Π10, Π12, Π14, Π22 ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°Ρ ΠΏΡΠΈ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΡΡΠΈ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ :
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π±ΠΎΠ»ΡΠ° |
ΠΠΎΠΌΠΈΠ½Π°Π»ΡΠ½ΡΠΉ Π΄ΠΈΠ°ΠΌΠ΅ΡΡ ΡΠ΅Π·ΡΠ±Ρ d | |||
Π10 |
Π12 |
M14 |
Π22 | |
Π Π°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ΄ ΠΊΠ»ΡΡ, S |
16 |
18 |
21 |
34 |
ΠΠΈΠ°ΠΌΠ΅ΡΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ ΠΎΠΊΡΡΠΆΠ½ΠΎΡΡΠΈ e, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ |
17,6 |
19,9 |
22,8 |
37,3 |
dw, Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ |
14,5 |
16,5 |
19,2 |
31,4 |
ΠΠ½Π°Π»ΠΎΠ³Π°ΠΌΠΈ Π±ΠΎΠ»ΡΠΎΠ² Ρ ΡΠ΅ΡΡΠΈΠ³ΡΠ°Π½Π½ΠΎΠΉ Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΉ, ΠΊΠ»Π°ΡΡ ΡΠΎΡΠ½ΠΎΡΡΠΈ Π ΠΠΠ‘Π’ 7798-70, ΡΠ²Π»ΡΡΡΡΡ ΠΈΠ·Π΄Π΅Π»ΠΈΡ, ΠΈΠ·Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ ΠΏΠΎ ΠΠΠ‘Π’: ΠΠΠ‘Π’ 7805-70, ΠΠΠ‘Π’ 15589-70.
Β
Run Bolt
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Bolt Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅Π»ΡΠΌ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π½Π°Π΄ Π½ΠΈΠΌΠΈ. ΠΈΡ . ΠΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²Π°ΡΡΠΈΡΡΡΡΡΡ ΠΏΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡ Π²ΡΠ·ΠΎΠ²Π° ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π·Π°Π΄Π°Ρ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΡΠΊΠ΅ΡΡΡΠΎΠ²ΠΊΠΈ.
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Bolt ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠΎΠΌΠ°Π½Π΄Π° Bolt ΡΡΡΠ»ΠΊΠ°.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΠΎΠ»Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΡΠ΅Π»ΠΈ. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
*ΠΠΎΠΌΠ°Π½Π΄Π° Nix Shell
ΠΠΎΠΌΠ°Π½Π΄Π° Bolt Run 'Pwd' -Targets Servers
PowerShell Cmdlet
Invoke -Boltcommand -command 'Get -location' -Targets
2222. -Command ‘get -location’ -targets2222. -Command ‘get -location’ -targets2222. β 2 β -command ‘get -location’ -targets229β -command ‘get -location’ -targetsβ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΡ ΠΊΠ°Π²ΡΡΠΊΠ°Ρ .
ΠΠ°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠ°Π²ΡΡΠΊΠ°Ρ
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ°Π²ΡΡΠΊΠΈ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΠ°ΡΡ. Π’ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΈΠ·Π±Π΅Π³Π°Π΅ΡΠ΅ ΠΊΠ°Π²ΡΡΠ΅ΠΊ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Bash ΠΈΠ»ΠΈ PowerShell.
Π ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Bash ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΊΠΎΡΡΡ ΡΠ΅ΡΡΡ
\
ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ:*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΠΎΠ»ΡΠ° run "Get-WMIObject Win32_Service -Filter ""ΠΠΌΡ Π²ΡΠΎΠ΄Π΅ '%mon'""" -t localhostΠ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΡ
\
ΠΈ ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π²Π΅ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ Π΄Π»Ρ ΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π²Filter
, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΠΊΠΎΡΠ°Ρ ΡΠ΅ΡΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠ°ΡΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Bolt, Π»Π΅ΠΆΠ°ΡΠΈΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Ruby, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand -Command "Get-WMIObject Win32_Service -Filter \""ΠΠΌΡ Π²ΡΠΎΠ΄Π΅ '%mon'\""" -Targets localhostΠ§ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
Π§ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Π½Π° ΡΠ΅Π»ΠΈ ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΡΠ°ΠΉΠ»Π°, ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»
@
, Π·Π°ΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Bolt run @configure.sh --targets ΡΠ΅ΡΠ²Π΅ΡΡΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand -Command '@configure.ps1' - Π¦Π΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π PowerShell Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π² ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ.
Π§ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° (stdin), ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Bolt ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΉ ΡΠΈΡΠ΅ (
-
) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
cat command.sh | ΠΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ° Π±ΠΎΠ»ΡΠ° --targets ΡΠ΅ΡΠ²Π΅ΡΡΠ§ΡΠ΅Π½ΠΈΠ΅ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ PowerShell.
Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ΅Π»ΠΈ
Π‘Π°ΠΌΡΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ β ΡΡΠΎ
Π½Π°ΡΠ΅Π»Π΅Π½ Π½Π° Π²Π°ΡΠΈΠ°Π½Ρ
. ΠΡΠ° ΠΎΠΏΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΡΡΠΌΠΈ.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Bolt run βpwdβ --targets Bolt1.example.org,bolt2.example.orgΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell example.org,bolt2.example.org
2Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ΅Π»ΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°ΠΉΠ» ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΡΠ΅Π»ΠΈ ΠΈ Π³ΡΡΠΏΠΏΡ ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎ ΠΈΠΌΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠ΅ΡΡΡΡΠ° (URI) ΡΠ΅Π»ΠΈ.
*ΠΠΎΠΌΠ°Π½Π΄Π° Nix Shell
ΠΠΎΠΌΠ°Π½Π΄Π° Bolt Command Run 'Pwd' -Targets Servers, Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡPowerShell Cmdlet
DataBase -Boltcommand -Command 'Sepling Scepting Scepling
.
Bolt ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±ΡΡΠΎΠ² Π΄Π»Ρ ΡΠ΅Π»Π΅ΠΉ. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»Π΅ΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°. ΠΠ° ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ΅Π»Π΅ΠΉ, Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π°
, Bolt
:*nix shell command
ΠΊΠΎΠΌΠ°Π½Π΄Π° Bolt run 'pwd' --targets 'bolt*'ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
03 9 -BoltCommand -Command 'pwd' -Targets 'bolt*'Bolt ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ globs, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Ρ:
ΠΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
*
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π»Ρ*
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΉ ΡΠ΅Π»ΠΈ, Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅ΠΉΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΠ΅Π»Ρ
.?
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΌΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π»Ρ ?
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΉ ΡΠ΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π° 93] ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρtarget1
ΠΈtarget2
, Π½ΠΎ Π½Π΅target3
.{Π°, Π±}
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π·ΡΠ°ΠΌ Π² Π½Π°Π±ΠΎΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, {ΡΠ΅Π»Ρ,ΡΠ·Π΅Π»}1
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅ΡΡΠ΅Π»Ρ1
ΠΈΡΠ·Π΅Π»1
.\
ΠΠΊΡΠ°Π½ΠΈΡΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ». Π Π°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±ΡΡΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ ΡΠ΅Π»Π΅ΠΉ ΠΈΠ· ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠ»Π°Π½Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±ΡΡΠΎΠ².
Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π»Π΅ΠΉ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΡΠ΅Π»Π΅ΠΉ, ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»
@
, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ», ΠΊ ΠΎΠΏΡΠΈΠΈtarget
.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Bolt run 'pwd' --targets '@targets.txt'ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand'5't.ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π PowerShell Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π² ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ.
Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π»Π΅ΠΉ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°, ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΠΎΠ»Ρ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΉ ΡΠΈΡΠ΅ (
-
) ΠΊ ΠΎΠΏΡΠΈΠΈtarget
.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
cat target.txt | ΠΠΎΠΌΠ°Π½Π΄Π° Bolt run 'pwd' --targets -Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ PowerShell.
Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ΅Π»ΠΈ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Bolt Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° Π²
. rerun.json
Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Bolt. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.rerun.json
Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌrerun
, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»ΠΈ Π΄Π»Ρ Π±ΡΠ΄ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡrerun
ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
ΡΡΠΏΠ΅Ρ
: ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°.
ΡΠ±ΠΎΠΉ
: Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Π²ΡΠ΅
: ΠΡΠ΅ ΡΠ΅Π»ΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΡΠΏΠ΅Ρ Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΡΡΠΏΠ΅ΡΠ½ΡΠ΅ ΡΠ΅Π»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
success
ΡΠ΅Π½ΠΈΡΡ.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Bolt task run restart_server --targets server --rerun successΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltTask -Name restart_server -Targets server -Rerun5 SuccessΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
ΠΡΠΊΠ»ΡΡΠΈΡΡ
. rerun.json
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΠΎΠ½Π° Bolt ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ
ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΎΡΠΈΠ² Π½Π΅Π³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΠΉΠ».rerun.json
.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
--no-save-rerun
, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°:ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ
-SaveRerun
ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ$false
, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ» ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°:Invoke-BoltTask -Name restart_server -Π¦Π΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ -Π£ΡΠΏΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° -SaveRerun:$falseΠ£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, Bolt Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΊ ΡΠ΅Π»ΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΈΠ»ΠΈ Π² ΡΠ°ΠΉΠ» ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π²Π°ΠΌΠΈ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅Π»Ρ.
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ ΡΠ΅Π»Ρ Π½Π° Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈΠ»ΠΈ Windows, ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ - ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΈΠΏΠ°ΡΠΎΠ»Ρ
ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Bolt:*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Bolt run 'pwd' --targets server --user Bolt --password puppetΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand'pwd' -Command - Π¦Π΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ -User Bolt -ΠΠ°ΡΠΎΠ»Ρ puppetΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅, ΡΡΠΎΠ±Ρ Bolt Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π» ΠΏΠ°ΡΠΎΠ»Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
ΠΏΠ°ΡΠΎΠ»Ρ-ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ
ΠΎΠΏΡΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ:*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Bolt run 'pwd' --targets server --user Bolt --password-promptΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand -Command 'pwd ΡΠ΅ΡΠ²Π΅ΡΡ' -ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π±ΠΎΠ»Ρ -PasswordPromptΠ£ΠΊΠ°Π·Π°ΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡ
Bolt ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΡΠ΅Π»ΡΡ. ΠΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Bolt ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΡΠ΅Π»ΡΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡ
ssh
. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄Ρ Π½ΠΈΠΆΠ΅, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΈΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΡ.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π»ΠΈ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΡΡΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π² URI ΡΠ΅Π»ΠΈ:
*nix shell command
Bolt command run 'Get-Location' --targets winrm://windows.example.orgΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-Bolt -Command 'Get-Location' -Targets winrm://windows.example.orgΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
transport
:*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Bolt run 'Get-Location' --targets windows.example.org --transport winrmΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand -Command 'Get-Location' -Targets windows.example.org -Transport winrmπ Π‘Π²ΡΠ·Π°Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌ Bolt
ΠΡΠ²ΠΎΠ΄ ΠΏΠΎΡΠΎΠΊΠ°
π§ͺ ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°.
Bolt ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ ΠΎΡ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π½Π° ΡΠ΅Π»ΠΈ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ ΡΠ΅Π»ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π§ΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ
ΠΏΠΎΡΠΎΠΊ
ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ option:*nix shell command
Bolt command run whoami --targets server --streamΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand -Command whoami -Π¦Π΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ -Stream5 ΠΠ»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡΠΊΡΠΈΠΏΡΡ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
stream
Π² aBolt-Project.yaml
ΠΈΠ»ΠΈBolt-Defaults.yaml 9Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ 0034:
--- ΠΈΠΌΡ: ΠΌΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ stream: trueΠΠΎΠ³Π΄Π° ΠΏΠΎΡΠΎΠΊΠΎΠ²Π°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½Π°, Bolt Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΠ²ΠΎΠ΄ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΅Π³ΠΎ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° Π²ΡΠ²ΠΎΠ΄Π° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠΌΡ ΡΠ΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Π΅ΡΠ½ΡΠ» Π²ΡΠ²ΠΎΠ΄ ΠΈ Π±ΡΠ» Π»ΠΈ ΠΎΠ½ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ (
ΠΈΠ·
) ΠΈΠ»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° (ΠΎΡΠΈΠ±ΠΊΠ°
).$ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ° 'echo stdout && echo stderr 1>&2' -t localhost --stream ΠΠ°ΠΏΡΡΡΠΈΠ» Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Ρ ΠΎΡΡΠ΅... [localhost] Π²ΡΡ ΠΎΠ΄: ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ [localhost] ΠΎΡΠΈΠ±ΠΊΠ°: ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΠΎΡΠΎΠ²ΠΎ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Ρ ΠΎΡΡΠ΅: ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΡΡΠ΄Π΅ΡΡ Π£ΡΠΏΠ΅ΡΠ½ΠΎ Π½Π° 1 ΡΠ΅Π»ΠΈ: localhost ΠΡΠΎΠ±Π΅ΠΆΠ°Π» ΠΏΠΎ 1 ΡΠ΅Π»ΠΈ Π·Π° 0,01 ΡΠ΅ΠΊΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Bolt ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅Π»ΠΈ. ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ΅Π»ΠΈ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ²ΠΎΠ΄ Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π·, Π²Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
no-verbose
ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ»ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ. ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π²Π°ΡΠΈΠ°Π½Ρ.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Bolt run whoami --targets server --stream --no-verboseΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand -Command whoami -Π¦Π΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ -Stream -Verbose:$falseΠΠΎΠ³Π΄Π° Π²Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅
no-verbose
, Π²ΡΠ²ΠΎΠ΄ ΠΎΡ ΡΠ΅Π»ΠΈ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.$ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ° 'echo stdout && echo stderr 1>&2' -t localhost --stream --no-verbose ΠΠ°ΠΏΡΡΡΠΈΠ» Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Ρ ΠΎΡΡΠ΅. .. [localhost] Π²ΡΡ ΠΎΠ΄: ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ [localhost] ΠΎΡΠΈΠ±ΠΊΠ°: ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΠΎΡΠΎΠ²ΠΎ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Ρ ΠΎΡΡΠ΅: Π£ΡΠΏΠ΅ΡΠ½ΠΎ Π½Π° 1 ΡΠ΅Π»ΠΈ: localhost ΠΡΠΎΠ±Π΅ΠΆΠ°Π» ΠΏΠΎ 1 ΡΠ΅Π»ΠΈ Π·Π° 0,01 ΡΠ΅ΠΊΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΡΠΊΡΠΈΠΏΡ Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅, Bolt ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠΊΡΠΈΠΏΡ ΠΈΠ· Π²Π°ΡΠ΅Π³ΠΎ ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Bolt Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° ΡΠ΅Π»ΠΈ, Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΊΡΠΈΠΏΡ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΊΡΠΈΠΏΡ ΠΈΠ· Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π΅ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ. ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΡΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π»ΡΠ±ΠΎΠΉ ΡΠ·ΡΠΊ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΡΠΊΡΠΈΠΏΡΡ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ Bolt ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»ΠΈ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ°.
*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Π·Π°ΠΏΡΡΠΊ ΡΡΠ΅Π½Π°ΡΠΈΡ Bolt ./scripts/configure.sh --targets ΡΠ΅ΡΠ²Π΅ΡΡΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltScript -Script ./scripts/configure.ps1 9001 ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ. Π‘ΠΊΡΠΈΠΏΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅scripts/
. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ script ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Puppet Π² ΡΠΎΡΠΌΠ΅<ΠΠΠΠ£ΠΠ¬ ΠΠΠ ΠΠ ΠΠΠΠ’ ΠΠΠ―>/scripts/<ΠΠΠ― Π€ΠΠΠΠ>
:*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Bolt script run my_module/scripts/configure.sh --targets ΡΠ΅ΡΠ²Π΅ΡΡΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltScript -Script 9TargetScript5 server my_module/1s scriptsΠΠ΅ΡΠ΅Π΄Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡ
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ ΠΈ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΠΈΡΡΡΡΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ Π½Π° ΡΠ΅Π»Ρ.
*nix ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠΊΡΠΈΠΏΡΡ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Bolt script run ./scripts/configure.sh --targets server arg1 arg2ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠΊΡΠΈΠΏΡΡ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Invoke-BoltScript -Script ./scripts/ configure.sh -Targets server arg1 arg2ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
-Arguments
ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π·Π°ΠΏΡΡΡΠΌΠΈ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²:Invoke-BoltScript -Script . /scripts/configure.sh -Π¦Π΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ -ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ arg1,arg2π© Π‘ΠΎΠ²Π΅Ρ: ΠΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π·Π°Π²Π΅ΡΠ½ΠΈΡΠ΅ ΠΈΡ Π² ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΡ ΠΊΠ°Π²ΡΡΠΊΠ°Ρ .
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠ΅Π½Π°ΡΠΈΡ
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ:
Π ΡΠ΅Π»ΡΡ , ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Unix, Π²Π°ΡΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΡΠΎΠΊΡ shebang, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅Π½Π°ΡΠΈΠΉ Bash Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Bash. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊ:
#!/Π±ΠΈΠ½/Π±Π°Ρ ΡΡ ΠΎ ΠΏΡΠΈΠ²Π΅ΡΠΠ»Ρ ΡΠ΅Π»Π΅ΠΉ Windows ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π¦Π΅Π»Π΅Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Windows ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ
.ps1
,.rb
ΠΈ.pp
. ΠΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΡ Π² ΡΠ°Π·Π΄Π΅Π» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈwinrm
Π²Π°Ρ ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»:#ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΡ.yaml ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ: ΠΠΈΠ½Π Π: ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ: - . py - .plΠΠ°ΠΏΡΡΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ
ΠΠ°Π΄Π°ΡΠΈ β ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π°Π΄ ΡΠ΅Π»ΡΡ. ΠΠ½ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈ Π² ΡΠΊΡΠΈΠΏΡΡ, Π½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²Π²ΠΎΠ΄ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π·Π°Π΄Π°ΡΠΈ, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΈΠ»ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈΠ· Puppet Forge, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅ Π² ΡΠ΅Π±Ρ Π·Π°Π΄Π°Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΠΌΡ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π·Π°Π΄Π°ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½Π°.
*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΡΠ°ΠΊΡΡ Π·Π°ΠΏΡΡΠΊΠ° Π·Π°Π΄Π°ΡΠΈ Bolt --ΡΠ΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltTask -Name ΡΠ°ΠΊΡΡ -ΡΠ΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡΠΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π΄Π°ΡΠ΅
ΠΡΠ»ΠΈ Π·Π°Π΄Π°ΡΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡ Bolt ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π΄Π°ΡΠ΅, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²ΠΈΠ΄Π°
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ=Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:Bolt task run package action=status name=apache2 --targets serverΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π΄Π°ΡΠ΅, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°:
Invoke-BoltTask -Name package -Targets servers -Params @{action='status';name='apache2'}π ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ
ΠΠΈΡΡΠΌΠ΅Π½Π½ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°
ΠΠ»Π°Π½Ρ β ΡΡΠΎ Π½Π°Π±ΠΎΡΡ Π·Π°Π΄Π°Ρ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π·Π°Π΄Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Π΄Π»Ρ Π·Π°Π΄Π°ΡΠΈ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ ΠΏΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π·Π°Π΄Π°ΡΠ°ΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΠΏΠ»Π°Π½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Ρ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈΠ· Puppet Forge, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ»Π°Π½Ρ.
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΠ»Π°Π½, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΠΌΡ ΠΏΠ»Π°Π½Π°.
*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Bolt Plan Run myplanΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltPlan -Name myplanΠΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΠΏΠ»Π°Π½
ΠΡΠ»ΠΈ ΠΏΠ»Π°Π½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡ Bolt ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΠΏΠ»Π°Π½, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΡΠΎΡΠΌΠ΅
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ=Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ:Bolt Plan Run reboot Targets=ServersΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π΄Π°ΡΠ΅, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°:
Invoke-BoltTask -Name reboot -Params @{targets='servers'}ΠΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ΅Π»ΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠ»Π°Π½Π°
ΠΡΠ»ΠΈ ΠΏΠ»Π°Π½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
target
Ρ ΡΠΈΠΏΠΎΠΌTargetSpec
, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈtarget
, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.*nix shell command
bolt task run reboot --targets serversPowerShell cmdlet
Invoke-BoltPlan -Name reboot -Targets serversπ Related information
Running plans
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ»Π°Π½ΠΎΠ² YAML
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ»Π°Π½ΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΊΡΠΊΠΎΠ»
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
Bolt ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Bolt Π² ΡΠ΅Π»ΠΈ. Π Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΏΡΡΡ
Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ Bolt,
ΠΌΠ΅ΡΡΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΏΡΡΡ ΠΊ ΡΠ΅Π»Π΅Π²ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½, ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ.ΠΠ°ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ
, ΡΠ°ΠΊ ΠΈ ΠΏΡΠ½ΠΊΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠ΅ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ. Π΅ΡΠ»ΠΈ ΡΡ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ΅ΡΡΠ° Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ
, Bolt ΡΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° ΡΠ΅Π»ΠΈ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ΅ΠΊΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΡΠ΅Π»ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π²ΠΎΡΠ΅Π΄ΡΠ΅Π³ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΡ.
*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»Π° Π±ΠΎΠ»ΡΠ° /ΠΏΡΡΡ/ΠΊ/ΠΈΡΡΠΎΡΠ½ΠΈΠΊΡ /ΠΏΡΡΡ/ΠΊ/Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ --ΡΠ΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Send-BoltFile -Source /path/to/source -Destination /path/to/destination β Π¦Π΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
Bolt ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΈΠ· ΡΠ΅Π»Π΅ΠΉ Π² ΠΌΠ΅ΡΡΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ Bolt. Π§ΡΠΎΠ±Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΡΠΊΠ°ΠΆΠΈΡΠ΅
ΠΈΡΡΠΎΡΠ½ΠΈΠΊ
ΠΏΡΡΡ Π½Π° ΡΠ΅Π»Ρ, ΠΏΡΡΡ Π½Π°ΠΏΡΠ½ΠΊΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Bolt ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ.ΠΠ°ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ
, ΡΠ°ΠΊ ΠΈ ΠΏΡΠ½ΠΊΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠ΅ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ. Π΅ΡΠ»ΠΈ ΡΡ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°
, Bolt ΡΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ» ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° ΡΠ΅Π»ΠΈ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ΅ΠΊΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΡΠ΅Π»ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π²ΠΎΡΠ΅Π΄ΡΠ΅Π³ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΡ.
*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»Π° Π±ΠΎΠ»ΡΠ° /ΠΏΡΡΡ/ΠΊ/ΠΈΡΡΠΎΡΠ½ΠΈΠΊΡ /ΠΏΡΡΡ/ΠΊ/Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ --ΡΠ΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Receive-BoltFile -Source /path/to/source -Destination /path/to/destination -Targets serverΠΠ΄ΡΠ΅Ρ
Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ Bolt β ΡΡΠΎ ΠΏΡΡΡ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π³ΡΡΠΆΠ΅Π½ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Π². ΠΡΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Bolt ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ Π²Π°Ρ.
Bolt ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³
ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ URL-ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ Π±ΡΠ» ΡΠΊΠ°ΡΠ°Π» Ρ. ΠΠΌΠ΅Π½Π° ΡΠ΅Π»Π΅Π²ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈΠΌΠ΅ΡΡ URL-ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ, ΡΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ².ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π΅ΠΌΠΎΠ½Π° SSH ΠΈΠ· Π΄Π²Π΅ ΡΠ΅Π»ΠΈ,
linux
ΠΈssh://example.com
, ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΈΡ Π² ΠΌΠ΅ΡΡΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³SSHD_CONFIG
:*ΠΠΎΠΌΠ°Π½Π΄Π° NIX Shell
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»Π° Bolt/etc/ssh/sshd_config sshd_config -targets linux, ssh: //example. comPowerShell Cmdlet
4.shile -behlile. /etc/ssh/sshd_config - ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ sshd_config - Π¦Π΅Π»ΠΈ linux, ssh://example.comΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΠΊΠΎΡΠ½Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
. βββ Π±ΠΎΠ»Ρ-ΠΏΡΠΎΠ΅ΠΊΡ.yaml βββ inventory.yaml βββ sshd_config/ βββ Π»ΠΈΠ½ΡΠΊΡ/ β βββ sshd_config βββ ssh%3A%2F%2Fexample.com/ βββ sshd_configπ© Π‘ΠΎΠ²Π΅Ρ: Π§ΡΠΎΠ±Ρ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π½Π°ΡΠ΅Π»Π΅Π½ Π½Π° ΠΏΡΠΎΡΡΠΎΠ΅, ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ ΠΈΠΌΡ.
ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΡΠΊΠΎΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄
ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Puppet ΠΈΠ· ΡΠ°ΠΉΠ»Π°
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Puppet ΠΈΠ· ΡΠ°ΠΉΠ»Π°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄ Puppet (ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ) ΠΊ Π²Π°ΡΠΈΠΌ ΡΠ΅Π»ΡΠΌ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Puppet ΠΊ ΡΠ΅Π»ΠΈ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ.
ΠΠ°ΠΊΠ΅Ρ Π°Π³Π΅Π½ΡΠ° Puppet Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° ΡΠ΅Π»Ρ Π΄Π»Ρ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° ΠΊΠΎΠ΄ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°. ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Puppet, Bolt Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΠ°ΠΊΠ΅Ρ Π°Π³Π΅Π½ΡΠ° Puppet ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° ΡΠ΅Π»ΠΈ.
*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Bolt Apply manifests/servers.pp --targets serversΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltApply -Manifest manifests/servers.pp -Targets serversΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Puppet ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Puppet Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΡΠ²ΠΎΠΈΠΌ ΡΠ΅Π»ΡΠΌ, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ» Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Puppet Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΊ ΡΠ΅Π»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ
.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Bolt Apply --execute "file { '/etc/puppetlabs': ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ => ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ}" --targets serverΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltApply -Execute "file { '/etc/puppetlabs': ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ => Π½Π°ΡΡΠΎΡΡΠ΅Π΅}" - Π¦Π΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡπ Π‘Π²ΡΠ·Π°Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Puppet
ΠΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ? ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠΈΠΊΠ΅Ρ JIRA Π² Π½Π°ΡΠ΅ΠΌ [ΠΠΠΠ£ΠΠΠΠ’ΠΠ¦ΠΠ―] ΠΏΡΠΎΠ΅ΠΊΡ.
Run Bolt
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Bolt Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΡΠ΅Π»ΡΠΌ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π½Π°Π΄ Π½ΠΈΠΌΠΈ. ΠΈΡ . ΠΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π²Π°ΡΡΠΈΡΡΡΡΡΡ ΠΏΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΡ Π²ΡΠ·ΠΎΠ²Π° ΠΏΡΠΎΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ Π·Π°Π΄Π°Ρ Π² ΡΠ°ΠΌΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΎΡΠΊΠ΅ΡΡΡΠΎΠ²ΠΊΠΈ.
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ Bolt ΡΠΌ. Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΠΎΠΌΠ°Π½Π΄Π° Bolt ΡΡΡΠ»ΠΊΠ°.
ΠΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΠΎΠ»Ρ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½Π° ΡΠ΅Π»ΠΈ. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
*ΠΠΎΠΌΠ°Π½Π΄Π° Nix Shell
ΠΠΎΠΌΠ°Π½Π΄Π° Bolt Command Run 'Pwd' -Targets ServersPowerShell Cmdlet
Invoke -Boltcommand -command 'Get -location' -targets Servers29 β -command 'gt -location' -targets29 β 40024 π© -command 'get -location' -targets9 β 40024 β 40024 β 40002β0025 ΠΡΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π² ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΡ ΠΊΠ°Π²ΡΡΠΊΠ°Ρ .ΠΠ°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΊΠ°Π²ΡΡΠΊΠ°Ρ
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ°Π²ΡΡΠΊΠΈ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΠ°ΡΡ. Π’ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΈΠ·Π±Π΅Π³Π°Π΅ΡΠ΅ ΠΊΠ°Π²ΡΡΠ΅ΠΊ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΎΠ³ΠΎ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Bash ΠΈΠ»ΠΈ PowerShell.
Π ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Bash ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΠΊΠΎΡΡΡ ΡΠ΅ΡΡΡ
\
ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ:*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Π±ΠΎΠ»ΡΠ° run "Get-WMIObject Win32_Service -Filter ""Name like '%mon'"""" -t Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉΠ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ PowerShell ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ ΠΊΠΎΡΠΎΠΉ ΡΠ΅ΡΡΡ
\
ΠΈ ΡΠ΄Π²ΠΎΠ΅Π½ΠΈΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π²Π΅ Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ Π΄Π»Ρ ΡΠΈΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π²Filter
, ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½Π°Ρ ΠΊΠΎΡΠ°Ρ ΡΠ΅ΡΡΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΠΎ ΠΏΠ°ΡΡΠ΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Bolt, Π»Π΅ΠΆΠ°ΡΠΈΠΉ Π² ΠΎΡΠ½ΠΎΠ²Π΅ Ruby, ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand -Command "Get-WMIObject Win32_Service -Filter \""Name like '%mon'\""" - Targets localhostΠ§ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
Π§ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ Π½Π° ΡΠ΅Π»ΠΈ ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π·Π°Π³ΡΡΠ·ΠΊΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΡΠ°ΠΉΠ»Π°, ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»
@
, Π·Π°ΡΠ΅ΠΌ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Bolt run @configure.sh --ΡΠ΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand -Command '@configure.ps1' -ΡΠ΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π PowerShell Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π² ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ.
Π§ΡΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° (stdin), ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Bolt ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΉ ΡΠΈΡΠ΅ (
-
) Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
cat command.sh | ΠΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ° Π±ΠΎΠ»ΡΠ° --targets ΡΠ΅ΡΠ²Π΅ΡΡΠ§ΡΠ΅Π½ΠΈΠ΅ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ PowerShell.
Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ΅Π»ΠΈ
Π‘Π°ΠΌΡΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»ΠΈ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ β ΡΡΠΎ
Π½Π°ΡΠ΅Π»Π΅Π½ Π½Π° Π²Π°ΡΠΈΠ°Π½Ρ
. ΠΡΠ° ΠΎΠΏΡΠΈΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΡΡΠΌΠΈ.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Bolt run βpwdβ --targets Bolt1.example.org,bolt2.example.orgΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell ΠΏΡΠΈΠΌΠ΅Ρ.org,bolt2.example.org
2Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ΅Π»ΠΈ ΠΈΠ· ΡΠ°ΠΉΠ»Π° ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΡΠ°ΠΉΠ» ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΡΠ΅Π»ΠΈ ΠΈ Π³ΡΡΠΏΠΏΡ ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎ ΠΈΠΌΡ Π²ΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠ΅ΡΡΡΡΠ° (URI) ΡΠ΅Π»ΠΈ.
*ΠΠΎΠΌΠ°Π½Π΄Π° Nix Shell
ΠΠΎΠΌΠ°Π½Π΄Π° Bolt Command Run 'Pwd' -Targets Servers, Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡPowerShell Cmdlet
DataBase -Boltcommand -Command 'Sepling Scepting Scepling
.
Bolt ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±ΡΡΠΎΠ² Π΄Π»Ρ ΡΠ΅Π»Π΅ΠΉ. ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π»Π΅ΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΠΈΠΌΠ΅Π½Π°. ΠΠ° Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π°
Bolt
:*ΠΠΎΠΌΠ°Π½Π΄Π° Nix Shell
ΠΠΎΠΌΠ°Π½Π΄Π° Bolt Command Run 'Pwd' -Targets 'Bolt*'PowerShell Cmdlet
Invoke -Boltcommand -command 'pwdlet' -TARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTARTEBolt ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»Ρ:
ΠΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ»
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅
*
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π»Ρ*
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΉ ΡΠ΅Π»ΠΈ, Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅ΠΉΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΠ΅Π»Ρ
.?
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΌΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π»Ρ ?
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΉ ΡΠ΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΈ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π°Π΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ.[ΠΠΠΠΠΠΠΠ’]
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΌΡ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠΌΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² Π½Π°Π±ΠΎΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅Π»Ρ[1-3] 93]
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρtarget1
ΠΈtarget2
, Π½ΠΎ Π½Π΅target3
.{Π°, Π±}
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π·ΡΠ°ΠΌ Π² Π½Π°Π±ΠΎΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, {ΡΠ΅Π»Ρ,ΡΠ·Π΅Π»}1
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅ΡΡΠ΅Π»Ρ1
ΠΈΡΠ·Π΅Π»1
.\
ΠΠΊΡΠ°Π½ΠΈΡΡΠ΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΌΠ΅ΡΠ°ΡΠΈΠΌΠ²ΠΎΠ». Π Π°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±ΡΡΠΎΠ² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ ΡΠ΅Π»Π΅ΠΉ ΠΈΠ· ΠΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠ»Π°Π½Ρ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠ΅ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π³Π»ΠΎΠ±ΡΡΠΎΠ².
Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π»Π΅ΠΉ ΠΈΠ· ΡΠ°ΠΉΠ»Π°
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΡΠ΅Π»Π΅ΠΉ, ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»
@
, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ», ΠΊ ΠΎΠΏΡΠΈΠΈtarget
.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Bolt run 'pwd' --targets '@targets.txt'ΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand'5't.ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π PowerShell Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΊΠ»ΡΡΠ°ΠΉΡΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π² ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΠΊΠ°Π²ΡΡΠΊΠΈ.
Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅Π»Π΅ΠΉ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°, ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΠΠΎΠ»Ρ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΠΉΡΠ΅ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΡΠΉ ΡΠΈΡΠ΅ (
-
) ΠΊ ΠΎΠΏΡΠΈΠΈtarget
.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
cat target.txt | ΠΠΎΠΌΠ°Π½Π΄Π° Bolt run 'pwd' --targets -Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ PowerShell.
Π£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠ΅Π»ΠΈ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
ΠΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Bolt Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΡΡΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° Π²
.rerun.json
Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Bolt. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.rerun.json
Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌrerun
, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅Π»ΠΈ Π΄Π»Ρ Π±ΡΠ΄ΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡrerun
ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΡΠ΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ:
ΡΡΠΏΠ΅Ρ
: ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π°.
ΡΠ±ΠΎΠΉ
: Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
Π²ΡΠ΅
: ΠΡΠ΅ ΡΠ΅Π»ΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°Π»Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°.ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΡΠΏΠ΅Ρ Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΡΡΠΏΠ΅ΡΠ½ΡΠ΅ ΡΠ΅Π»ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ
success
ΡΠ΅Π½ΠΈΡΡ.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Bolt task run restart_server --targets server --rerun successΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltTask -Name restart_server -Targets server -Rerun5 SuccessΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
ΠΡΠΊΠ»ΡΡΠΈΡΡ
.rerun.json
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΠΎΠ½Π° Bolt ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ
ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ
ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠΎΡΠΈΠ² Π½Π΅Π³ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΠΉΠ».rerun.json
.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
--no-save-rerun
, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°:ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ
-SaveRerun
ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ$false
, ΡΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ» ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ°:Invoke-BoltTask -Name restart_server -Π¦Π΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ -Π£ΡΠΏΠ΅Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠΊΠ° -SaveRerun:$falseΠ£ΠΊΠ°ΠΆΠΈΡΠ΅ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ, Bolt Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΊ ΡΠ΅Π»ΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΠΈΠ»ΠΈ Π² ΡΠ°ΠΉΠ» ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ, ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π²Π°ΠΌΠΈ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ΅Π»Ρ.
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ ΡΠ΅Π»Ρ Π½Π° Unix-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈΠ»ΠΈ Windows, ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ - ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΈΠΏΠ°ΡΠΎΠ»Ρ
ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Bolt:*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Bolt run 'pwd' --targets server --user Bolt --password puppetΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand'pwd' -Command - Π¦Π΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ -User Bolt -ΠΠ°ΡΠΎΠ»Ρ puppetΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅ΡΠ΅, ΡΡΠΎΠ±Ρ Bolt Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π» ΠΏΠ°ΡΠΎΠ»Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² ΠΈΠ»ΠΈ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅
ΠΏΠ°ΡΠΎΠ»Ρ-ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ
ΠΎΠΏΡΠΈΡ Π²ΠΌΠ΅ΡΡΠΎ:*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Bolt run 'pwd' --targets server --user Bolt --password-promptΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand -Command 'pwd ΡΠ΅ΡΠ²Π΅ΡΡ' -ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π±ΠΎΠ»Ρ -PasswordPromptΠ£ΠΊΠ°Π·Π°ΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡ
Bolt ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Ρ ΡΠ΅Π»ΡΡ. ΠΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Bolt ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ ΡΠ΅Π»ΡΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡ
ssh
. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄Ρ Π½ΠΈΠΆΠ΅, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ°Π½ΡΠΏΠΎΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΈΠ»ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΡ.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΡΠ°Π½ΡΠΏΠΎΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π»ΠΈ, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ² ΡΡΠΎ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π² URI ΡΠ΅Π»ΠΈ:
*nix shell command
Bolt command run 'Get-Location' --targets winrm://windows.example.orgΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-Bolt -Command 'Get-Location' -Targets winrm://windows.example.orgΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
transport
:*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Bolt run 'Get-Location' --targets windows.example.org --transport winrmΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand -Command 'Get-Location' -Targets windows.example.org -Transport winrmπ Π‘Π²ΡΠ·Π°Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎ ΡΡΠ°Π½ΡΠΏΠΎΡΡΠ½ΡΠΌ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌ Bolt
ΠΡΠ²ΠΎΠ΄ ΠΏΠΎΡΠΎΠΊΠ°
π§ͺ ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°.
Bolt ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π°Π½Π½ΡΡ ΠΎΡ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π½Π° ΡΠ΅Π»ΠΈ, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ ΡΠ΅Π»ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
Π§ΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ
ΠΏΠΎΡΠΎΠΊ
ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ option:*nix shell command
Bolt command run whoami --targets server --streamΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand -Command whoami -Π¦Π΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ -Stream5 ΠΠ»Ρ Π²ΡΠ΅Ρ ΠΏΠΎΡΠΎΠΊΠΎΠ²ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ ΠΈ ΡΠΊΡΠΈΠΏΡΡ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
stream
Π² aBolt-Project.yaml
ΠΈΠ»ΠΈBolt-Defaults.yaml 9Π€Π°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ 0034:
--- ΠΈΠΌΡ: ΠΌΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ stream: trueΠΠΎΠ³Π΄Π° ΠΏΠΎΡΠΎΠΊΠΎΠ²Π°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½Π°, Bolt Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΠ²ΠΎΠ΄ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»Ρ Π² ΡΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΅Π³ΠΎ. ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠΎΠΊΠ° Π²ΡΠ²ΠΎΠ΄Π° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠΌΡ ΡΠ΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Π΅ΡΠ½ΡΠ» Π²ΡΠ²ΠΎΠ΄ ΠΈ Π±ΡΠ» Π»ΠΈ ΠΎΠ½ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ (
ΠΈΠ·
) ΠΈΠ»ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΎΡΠΈΠ±ΠΊΠ° (ΠΎΡΠΈΠ±ΠΊΠ°
).$ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ° 'echo stdout && echo stderr 1>&2' -t localhost --stream ΠΠ°ΠΏΡΡΡΠΈΠ» Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Ρ ΠΎΡΡΠ΅... [localhost] Π²ΡΡ ΠΎΠ΄: ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ [localhost] ΠΎΡΠΈΠ±ΠΊΠ°: ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΠΎΡΠΎΠ²ΠΎ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Ρ ΠΎΡΡΠ΅: ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΡΡΠ΄Π΅ΡΡ Π£ΡΠΏΠ΅ΡΠ½ΠΎ Π½Π° 1 ΡΠ΅Π»ΠΈ: localhost ΠΡΠΎΠ±Π΅ΠΆΠ°Π» ΠΏΠΎ 1 ΡΠ΅Π»ΠΈ Π·Π° 0,01 ΡΠ΅ΠΊΠΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Bolt ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΡΠ²Π°Π΅Ρ Π²ΡΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅Π»ΠΈ. ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ΅Π»ΠΈ. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ²ΠΎΠ΄ Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°Π·, Π²Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ
no-verbose
ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ»ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΉ. ΠΡΠΎΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π²Π°ΡΠΈΠ°Π½Ρ.*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΠΊΠΎΠΌΠ°Π½Π΄Π° Bolt run whoami --targets server --stream --no-verboseΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltCommand -Command whoami -Π¦Π΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ -Stream -Verbose:$falseΠΠΎΠ³Π΄Π° Π²Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅
no-verbose
, Π²ΡΠ²ΠΎΠ΄ ΠΎΡ ΡΠ΅Π»ΠΈ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ°Π·.$ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ° 'echo stdout && echo stderr 1>&2' -t localhost --stream --no-verbose ΠΠ°ΠΏΡΡΡΠΈΠ» Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Ρ ΠΎΡΡΠ΅. .. [localhost] Π²ΡΡ ΠΎΠ΄: ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ [localhost] ΠΎΡΠΈΠ±ΠΊΠ°: ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΠΎΡΠΎΠ²ΠΎ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ Ρ ΠΎΡΡΠ΅: Π£ΡΠΏΠ΅ΡΠ½ΠΎ Π½Π° 1 ΡΠ΅Π»ΠΈ: localhost ΠΡΠΎΠ±Π΅ΠΆΠ°Π» ΠΏΠΎ 1 ΡΠ΅Π»ΠΈ Π·Π° 0,01 ΡΠ΅ΠΊΠΠ°ΠΏΡΡΡΠΈΡΡ ΡΠΊΡΠΈΠΏΡ
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΠ΅ ΡΠΊΡΠΈΠΏΡ Π½Π° ΡΠ΅Π»Π΅Π²ΠΎΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅, Bolt ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠΊΡΠΈΠΏΡ ΠΈΠ· Π²Π°ΡΠ΅Π³ΠΎ ΠΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Bolt Π²ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° ΡΠ΅Π»ΠΈ, Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠΊΡΠΈΠΏΡ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΊΡΠΈΠΏΡ ΠΈΠ· Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π½Π° Π»ΡΠ±ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π΅ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ. ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. ΠΡΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π² ΡΠ΅Π±Ρ Π»ΡΠ±ΠΎΠΉ ΡΠ·ΡΠΊ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π², ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°.
ΠΠ»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ° ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΡΠΊΡΠΈΠΏΡΡ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ Bolt ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»ΠΈ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠΊΡΠΈΠΏΡΠ°.
*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Π·Π°ΠΏΡΡΠΊ ΡΡΠ΅Π½Π°ΡΠΈΡ Bolt ./scripts/configure.sh --targets ΡΠ΅ΡΠ²Π΅ΡΡΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltScript -Script ./scripts/configure.ps1 9001 ΡΠ΅ΡΠ²Π΅ΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠΈ, ΡΠ²Π»ΡΡΡΠΈΠ΅ΡΡ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ. Π‘ΠΊΡΠΈΠΏΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅scripts/
. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ script ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Puppet Π² ΡΠΎΡΠΌΠ΅<ΠΠΠΠ£ΠΠ¬ ΠΠΠ ΠΠ ΠΠΠΠ’ ΠΠΠ―>/scripts/<ΠΠΠ― Π€ΠΠΠΠ>
:*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Bolt script run my_module/scripts/configure.sh --targets ΡΠ΅ΡΠ²Π΅ΡΡΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltScript -Script 9TargetScript5 server my_module/1s scriptsΠΠ΅ΡΠ΅Π΄Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΡ
ΠΠ½Π°ΡΠ΅Π½ΠΈΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π±ΡΠΊΠ²Π°Π»ΡΠ½ΠΎ ΠΈ Π½Π΅ ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΠΈΡΡΡΡΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ Π½Π° ΡΠ΅Π»Ρ.
*nix ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠΊΡΠΈΠΏΡΡ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Bolt script run ./scripts/configure.sh --targets server arg1 arg2ΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΠΊΡΠΈΠΏΡΡ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Invoke-BoltScript -Script ./scripts/ configure.sh -Targets server arg1 arg2ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
-Arguments
ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π·Π°ΠΏΡΡΡΠΌΠΈ ΡΠΏΠΈΡΠΎΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ²:Invoke-BoltScript -Script . /scripts/configure.sh -Π¦Π΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡ -ΠΡΠ³ΡΠΌΠ΅Π½ΡΡ arg1,arg2π© Π‘ΠΎΠ²Π΅Ρ: ΠΡΠ»ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠΎΠ±Π΅Π»Ρ ΠΈΠ»ΠΈ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π·Π°Π²Π΅ΡΠ½ΠΈΡΠ΅ ΠΈΡ Π² ΠΎΠ΄ΠΈΠ½Π°ΡΠ½ΡΡ ΠΊΠ°Π²ΡΡΠΊΠ°Ρ .
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠ΅Π½Π°ΡΠΈΡ
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΡΡΠ΅Π½Π½ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ:
Π ΡΠ΅Π»ΡΡ , ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Unix, Π²Π°ΡΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΡΡΠΎΠΊΡ shebang, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΡΡΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠ΅Π½Π°ΡΠΈΠΉ Bash Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Bash. ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ΡΠΈΠΊ:
#!/Π±ΠΈΠ½/Π±Π°Ρ ΡΡ ΠΎ ΠΏΡΠΈΠ²Π΅ΡΠΠ»Ρ ΡΠ΅Π»Π΅ΠΉ Windows ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π¦Π΅Π»Π΅Π²ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Windows ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ
.ps1
,.rb
ΠΈ.pp
. ΠΠΎΠ±Π°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΈΡ Π² ΡΠ°Π·Π΄Π΅Π» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈwinrm
Π²Π°Ρ ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»:#ΠΈΠ½Π²Π΅Π½ΡΠ°ΡΡ.yaml ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ: ΠΠΈΠ½Π Π: ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ: - . py - .plΠΠ°ΠΏΡΡΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ
ΠΠ°Π΄Π°ΡΠΈ β ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π°Π΄ ΡΠ΅Π»ΡΡ. ΠΠ½ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈ Π² ΡΠΊΡΠΈΠΏΡΡ, Π½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅, ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²Π²ΠΎΠ΄ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π²ΡΠ²ΠΎΠ΄. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π·Π°Π΄Π°ΡΠΈ, Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΈΠ»ΠΈ ΡΠΊΠ°ΡΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈΠ· Puppet Forge, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅ Π² ΡΠ΅Π±Ρ Π·Π°Π΄Π°Π½ΠΈΡ.
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ Π·Π°Π΄Π°ΡΡ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΠΌΡ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π·Π°Π΄Π°ΡΠ° Π²ΠΊΠ»ΡΡΠ΅Π½Π°.
*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
ΡΠ°ΠΊΡΡ Π·Π°ΠΏΡΡΠΊΠ° Π·Π°Π΄Π°ΡΠΈ Bolt --ΡΠ΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltTask -Name ΡΠ°ΠΊΡΡ -ΡΠ΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡΠΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π΄Π°ΡΠ΅
ΠΡΠ»ΠΈ Π·Π°Π΄Π°ΡΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡ Bolt ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π΄Π°ΡΠ΅, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²ΠΈΠ΄Π°
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ=Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π΄Π»Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:Bolt task run package action=status name=apache2 --targets serverΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π΄Π°ΡΠ΅, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°:
Invoke-BoltTask -Name package -Targets servers -Params @{action='status';name='apache2'}π ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ
ΠΠΈΡΡΠΌΠ΅Π½Π½ΡΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½Π°
ΠΠ»Π°Π½Ρ β ΡΡΠΎ Π½Π°Π±ΠΎΡΡ Π·Π°Π΄Π°Ρ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°ΡΡ Ρ Π΄ΡΡΠ³ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π·Π°Π΄Π°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Π΄Π»Ρ Π·Π°Π΄Π°ΡΠΈ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ ΠΏΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°ΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π·Π°Π΄Π°Π½ΠΈΡ. ΠΠΎΠ΄ΠΎΠ±Π½ΠΎ Π·Π°Π΄Π°ΡΠ°ΠΌ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΈΡΠ°ΡΡ ΠΏΠ»Π°Π½Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½Ρ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΈΠ· Puppet Forge, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ»Π°Π½Ρ.
Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΏΠ»Π°Π½, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΠΌΡ ΠΏΠ»Π°Π½Π°.
*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Bolt Plan Run myplanΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Invoke-BoltPlan -Name myplanΠΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΠΏΠ»Π°Π½
ΠΡΠ»ΠΈ ΠΏΠ»Π°Π½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΈΡ Bolt ΠΊΠ°ΠΊ ΡΠ°ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΠΏΠ»Π°Π½, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΡΠΎΡΠΌΠ΅
ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ=Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ:Bolt Plan Run reboot Targets=ServersΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π΄Π°ΡΠ΅, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°:
Invoke-BoltTask -Name reboot -Params @{targets='servers'}ΠΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ΅Π»ΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΏΠ»Π°Π½Π°
ΠΡΠ»ΠΈ ΠΏΠ»Π°Π½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ
target
Ρ ΡΠΈΠΏΠΎΠΌTargetSpec
, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈtarget
, ΡΡΠΎΠ±Ρ ΡΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°.*nix shell command
bolt task run reboot --targets serversPowerShell cmdlet
Invoke-BoltPlan -Name reboot -Targets serversπ Related information
Running plans
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ»Π°Π½ΠΎΠ² YAML
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΠ»Π°Π½ΠΎΠ² Π½Π° ΡΠ·ΡΠΊΠ΅ ΠΊΡΠΊΠΎΠ»
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
Bolt ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ° Bolt Π² ΡΠ΅Π»ΠΈ. Π Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΏΡΡΡ
Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ Bolt,
ΠΌΠ΅ΡΡΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΏΡΡΡ ΠΊ ΡΠ΅Π»Π΅Π²ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½, ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ.ΠΠ°ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ
, ΡΠ°ΠΊ ΠΈ ΠΏΡΠ½ΠΊΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠ΅ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ. Π΅ΡΠ»ΠΈ ΡΡ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠ΅ΡΡΠ° Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ
, Bolt ΡΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° ΡΠ΅Π»ΠΈ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ΅ΠΊΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΡΠ΅Π»ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π²ΠΎΡΠ΅Π΄ΡΠ΅Π³ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΡ.
*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»Π° Π±ΠΎΠ»ΡΠ° /ΠΏΡΡΡ/ΠΊ/ΠΈΡΡΠΎΡΠ½ΠΈΠΊΡ /ΠΏΡΡΡ/ΠΊ/Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ --ΡΠ΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡΠΊΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Send-BoltFile -Source /path/to/source -Destination /path/to/destination β Π¦Π΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
Bolt ΠΌΠΎΠΆΠ΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΠΈΠ· ΡΠ΅Π»Π΅ΠΉ Π² ΠΌΠ΅ΡΡΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ Bolt. Π§ΡΠΎΠ±Ρ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΡΠΊΠ°ΠΆΠΈΡΠ΅
ΠΈΡΡΠΎΡΠ½ΠΈΠΊ
ΠΏΡΡΡ Π½Π° ΡΠ΅Π»Ρ, ΠΏΡΡΡ Π½Π°ΠΏΡΠ½ΠΊΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ Bolt ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ.ΠΠ°ΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ
, ΡΠ°ΠΊ ΠΈ ΠΏΡΠ½ΠΊΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠ΅ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΡΡΠΈ. Π΅ΡΠ»ΠΈ ΡΡ ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°
, Bolt ΡΠΊΠΎΠΏΠΈΡΡΠ΅Ρ ΡΠ°ΠΉΠ» ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π° ΡΠ΅Π»ΠΈ. ΠΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ, ΡΠ΅ΠΊΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄Π»Ρ ΡΠ΅Π»ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π²ΠΎΡΠ΅Π΄ΡΠ΅Π³ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΡ.
*ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ nix
Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»Π° Π±ΠΎΠ»ΡΠ° /ΠΏΡΡΡ/ΠΊ/ΠΈΡΡΠΎΡΠ½ΠΈΠΊΡ /ΠΏΡΡΡ/ΠΊ/Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ --ΡΠ΅Π»Π΅Π²ΡΠ΅ ΡΠ΅ΡΠ²Π΅ΡΡΠΠΎΠΌΠ°Π½Π΄Π»Π΅Ρ PowerShell
Receive-BoltFile -Source /path/to/source -Destination /path/to/destination -Targets serverΠΠ΄ΡΠ΅Ρ
Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠ΅ Bolt β ΡΡΠΎ ΠΏΡΡΡ ΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°Π³ΡΡΠΆΠ΅Π½ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΊΠΎΠΏΠΈΡΡΠ΅ΡΡΡ Π². ΠΡΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ
Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Bolt ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π³ΠΎ Π΄Π»Ρ Π²Π°Ρ.
Bolt ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³
ΡΠ΅Π»Π΅Π²ΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ URL-ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ Π±ΡΠ» ΡΠΊΠ°ΡΠ°Π» Ρ. ΠΠΌΠ΅Π½Π° ΡΠ΅Π»Π΅Π²ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈΠΌΠ΅ΡΡ URL-ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΡ, ΡΡΠΎΠ±Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΡΠΎ ΠΎΠ½ΠΈ ΡΠ²Π»ΡΡΡΡΡ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ².ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠ°ΠΉΠ» ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π΄Π΅ΠΌΠΎΠ½Π° SSH ΠΈΠ· Π΄Π²Π΅ ΡΠ΅Π»ΠΈ,
linux
ΠΈssh://example.com
, ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΈΡ Π² ΠΌΠ΅ΡΡΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³SSHD_CONFIG
:*ΠΠΎΠΌΠ°Π½Π΄Π° NIX Shell
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»Π° Bolt/etc/ssh/sshd_config sshd_config -targets linux, ssh: //example. comPowerShell Cmdlet
4.shile -behlile. /etc/ssh/sshd_config - ΠΠ°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ sshd_config - Π¦Π΅Π»ΠΈ linux, ssh://example.comΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΠ· ΠΊΠΎΡΠ½Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
. βββ Π±ΠΎΠ»Ρ-ΠΏΡΠΎΠ΅ΠΊΡ.yaml βββ inventory.yaml βββ sshd_config/ βββ Π»ΠΈΠ½ΡΠΊΡ/ β βββ sshd_config βββ ssh%3A%2F%2Fexample.com/ βββ sshd_configπ© Π‘ΠΎΠ²Π΅Ρ: Π§ΡΠΎΠ±Ρ Π½Π΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ ΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π½Π°ΡΠ΅Π»Π΅Π½ Π½Π° ΠΏΡΠΎΡΡΠΎΠ΅, ΠΏΠΎΠ½ΡΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΡ ΠΈΠΌΡ.
ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΡΠΊΠΎΠ»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄
ΠΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Puppet ΠΈΠ· ΡΠ°ΠΉΠ»Π°
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ Puppet ΠΈΠ· ΡΠ°ΠΉΠ»Π°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄ Puppet (ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΉ ΠΊΠ°ΠΊ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ) ΠΊ Π²Π°ΡΠΈΠΌ ΡΠ΅Π»ΡΠΌ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΠ΄ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Puppet ΠΊ ΡΠ΅Π»ΠΈ, ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π»Π΅ΠΉ.
ΠΠ°ΠΊΠ΅Ρ Π°Π³Π΅Π½ΡΠ° Puppet Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° ΡΠ΅Π»Ρ Π΄Π»Ρ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° ΠΊΠΎΠ΄ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°. ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΠ΅ ΠΊΠΎΠ΄ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Puppet, Bolt Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΠ°ΠΊΠ΅Ρ Π°Π³Π΅Π½ΡΠ° Puppet ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π½Π° ΡΠ΅Π»ΠΈ.