рд╕рд░реНрд╡рд░ рдХреА рд╕реЗрд╡рд╛, рдХреГрдкрдпрд╛, рдпрд╛ рдСрдкреНрд╕рдХреЛрдб рд╢реЗрдл рдХреЗ рд╕рд╛рде рддреИрдирд╛рддреА рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ

( Opscode Chef ) рдкрд░ рд░реВрд╕реА рд▓реЗрдЦреЛрдВ рдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢, рдЬреЛ рдореБрдЭреЗ рд░рд╕реЛрдИ рдХреА рдХрд┐рддрд╛рдм рдФрд░ рдХрд╣рд╛рдиреА "рдХреНрдпрд╛ рдПрдХ рдЕрдЪреНрдЫреА рдмрд╛рдд рд╣реИ рдорд╣рд╛рд░рд╛рдЬред" рдФрд░ рд╡рд╣ рд╕рдм рд╣реИред рдЬреИрд╕реЗ, рджреЗрдЦреЛ рдореИрдВ рдХреИрд╕реЗ рд╣реЛ рд╕рдХрддрд╛ рд╣реВрдБ! рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рдФрд░ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдореЗрдВ рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рдХрд┐ рд╣реИред рд▓реЗрдХрд┐рди рдЗрд╕рдореЗрдВ, IMHO, рдЦреЛ рдЬрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдореБрдЭреЗ рдХреЗрд╡рд▓ рдПрдХ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд░рд▓ рдЧрд╛рдЗрдб "рдкреНрд░рд╛рдердорд┐рдХ рдХрд╛рдо рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ" рдорд┐рд▓рд╛, рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдпрд╣ рд▓реЗрдЦ рдкреИрджрд╛ рд╣реБрдЖ рдерд╛ред

рднрд╛рдЧ рдПрдХ рд╡реИрдЪрд╛рд░рд┐рдХред рдХреНрдпреЛрдВред


рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ 5 рд╕рд░реНрд╡рд░ рд╣реИрдВ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЕрддреНрдпрдВрдд рджреБрд░реНрд▓рдн рд╣реИ, рдлрд┐рд░ рдПрдХ-рджреЛ рд╣рд╛рде рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдВрдЧреЗред рдЖрдк Git рдпрд╛ SVN рдореЗрдВ / etc рднреА рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдирд┐рдпрдорд┐рдд рдмреИрдХрдЕрдк рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╢рд╛рдВрддрд┐ рд╕реЗ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВред рдЖрд╡реЗрджрди рдХреА рддреИрдирд╛рддреА рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП, рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдЬреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирддрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рд╡рд╣ рдмреИрд╢ / рдЕрдЬрдЧрд░ / рд░реВрдмреА, рдпрд╛ рдХреИрдкрд┐рд╕реНрдЯреНрд░рд╛рдиреЛ / рдлреИрдмреНрд░рд┐рдХ / рдЖрджрд┐ рдореЗрдВ рдПрдХ рд╕рд░рд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛред
рдпрджрд┐ рд╕рдорд╛рди рдпрд╛ рд╕рдорд╛рди рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдПрдХ рджрд░реНрдЬрди рд╕реЗ рдЕрдзрд┐рдХ рдХрд╛рд░реЗрдВ рд╣реИрдВ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдХреИрдкрд┐рд╕реНрдЯреНрд░рд╛рдиреЛ / рдлреИрдмреНрд░рд┐рдХ - рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдХреБрдЫ рд╕реБрд╡рд┐рдзрд╛, рд╕рдорд╛рдирд╛рдВрддрд░ рд▓реЙрдиреНрдЪ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЕрднреА рднреА рддрд░реНрдХ рд╕реНрд╡рдпрдВ рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдЙрдирдХреЗ рд╕рд╛рде рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рд╣реА рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди, рд▓реЗрдХрд┐рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдпрд╛ рд╕реЗрдЯ рдЕрдк рдирд╣реАрдВред рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рдпрд╛ рддреЛ рдЕрдкрдиреЗ "рдмреИрд╕рд╛рдЦреА" рдХреЛ рдмрд╛рдбрд╝рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рдпрд╛, рдХреНрдпрд╛ рд╕рд░рд▓ рд╣реИ, рдПрдХ рддреИрдпрд╛рд░ рдПрдХ рд▓реЗ рд▓реЛред

рдмрд╛рд╡рд░реНрдЪреА рд╕реЗ, рдореИрдВрдиреЗ рдЖрдЦрд┐рд░реА рддрдХ рдЕрдирд▓реЙрдХ рдХрд┐рдпрд╛, рдЬрдм рддрдХ рдХрд┐ рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдВ рдирд╣реАрдВ рдЖрдпрд╛ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдорд╛рди рд╕рд░реНрд╡рд░ рд╣реИрдВ, рдФрд░ / рдЖрджрд┐ рд╕рднреА рдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реА рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╢рд╛рдЦрд╛ рд╣реИред рдиреЗрдЧрдиреЗрдХреНрд╕ рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рдмрджрд▓рд╛ред рдЖрдкрдХреЛ рдЕрдиреНрдп рд╕рднреА рдорд╢реАрдиреЛрдВ рдкрд░ рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреИрд╕реЗ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, dsh рдХреЛ рд▓реЗрдВ:
dsh -r ssh -c -M -m node1 -m node2 -m nodeN -- 'cd /etc && sudo git pull' 

рдпрд╣рд╛рдВ, рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк "/etc/init.d/nginx reload" рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕рдм рдХреБрдЫ, рд╣рд░ рдЬрдЧрд╣ рдФрд░ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдпрд╣ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реИред рдФрд░ рд╕реНрдерд╛рдиреАрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП, рд░реБрдХрд╛рд╡рдЯ рдмрд╣реБрдд рд╕реБрдЦрдж рдирд╣реАрдВ рд╣реИрдВред рдмрд╛рдХреА рд╕рдм рдХреБрдЫ, рдЕрднреА рднреА рдПрдХ рдкрд░реНрдпрд╡реЗрдХреНрд╖рдХ, рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдЬ, рдореЛрдВрдЧреЛрдбрдм рдФрд░ рдХрдИ рдЕрдиреНрдп рд╕реЗрд╡рд╛рдПрдВ рд╣реИрдВ рдЬрд┐рдирдХреЗ рд╕рд╛рде рдПрдХ рд╣реА рдХрд╣рд╛рдиреА рд╣реИред рдХрдо рд╕реЗ рдХрдо, рдЖрдкрдХреЛ рдкреНрд░рддреНрдпреЗрдХ рд░реАрдмреВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдиреА рд╣реЛрдЧреАред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, "рдмреИрд╕рд╛рдЦреА" рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛рддреА рд╣реИред
рдФрд░ рд╢реЗрдл рд╕рд┐рд░реНрдл рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣реИред рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛, рдпрд╣ рдкреВрд░реЗ рдЦреЗрдд рдореЗрдВ рдмрд┐рдЦрд░рд╛ рд╣реБрдЖ рдерд╛, рдЖрд╡рд╢реНрдпрдХ (рдФрд░ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ) рд╕реЗрд╡рд╛рдПрдВ рдУрд╡рд░рд▓реЛрдб рдереАрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, * рдирд┐рдХреНрд╕ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рдЕрдореВрд░реНрддрддрд╛, рдФрд░ рдПрдордПрд╕, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ, рд╕рдорд░реНрдерд┐рдд рд╣реИред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП, рд╕рд░реНрд╡рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ "рдПрдХрддреНрд░" рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╣реИрдВред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдмрд╣реБрдд рд╕реНрд╡рд╛рджрд┐рд╖реНрдЯред рд╡реИрд╕реЗ, рд╡рд░реНрддрдорд╛рди рдкрд░рд┐рдпреЛрдЬрдирд╛ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рд╕рдм рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ: рдмреИрд╢, рдХрдкрдбрд╝реЗ рдФрд░ рдмрд╛рд╡рд░реНрдЪреА рдореЗрдВ рдХреБрдЫ рд╕реНрдХреНрд░рд┐рдкреНрдЯред
рдЕрднреНрдпрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реАрдмред рдЖрдЗрдП рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдПрдХ рд╕рд░рд▓ рдирдЧреНрдиреЗрдХреНрд╕ рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд░рд╕реЛрдИ рдХреА рдХрд┐рддрд╛рдм рд▓рд┐рдЦреЗрдВ рдФрд░ рддреИрдирд╛рдд рдХрд░реЗрдВ, рдФрд░ рдЙрд╕реА рд╕рдордп рд╣рдо рдЗрд╕рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗред рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╕реБрдбреЛ рдХреЗ рд╕рд╛рде рдПрдХ рдкрд░реАрдХреНрд╖рдг рдорд╢реАрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдирд┐рд░реНрджреЗрд╢ рдЙрдмрдВрдЯреВ 11.10 рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА * рдирд┐рдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

2. рд╕реНрдерд╛рдкрдирд╛ рдФрд░ рд╡рд┐рдиреНрдпрд╛рд╕


рд╢реЗрдл рд░реВрдмреА рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИред рдФрд░ рд░реВрдмреА рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рдмрдВрдзрдХ (рдЖрд░рд╡реАрдПрдо) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░реВрдмреА рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдЙрд╕рдХреА рдорд╢реАрди рдкрд░, рд╕рд╛рдорд╛рдиреНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдиреАрдЪреЗ рд╕реЗ:
 bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) 

рдЕрдЧрд▓рд╛, рд▓реЙрдЧ рдЗрди рдХрд░реЗрдВ рдпрд╛ рдПрдХ рдирдпрд╛ рдЯрд░реНрдорд┐рдирд▓ рдЦреЛрд▓реЗрдВ (рддрд╛рдХрд┐ рдмреИрд╢ рдкреНрд░реЛрдлрд╛рдЗрд▓ рд░рд┐рдмреВрдЯ рд╣реЛ)ред
 rvm install 1.9.2 rvm use 1.9.2 --default 

рдЖрд░рд╡реАрдПрдо рдЦреБрдж рдХреЛ рдбрд╛рд▓рддрд╛ рд╣реИ рдФрд░ рд░реВрдЯ рдХреЗ рдмрд╛рд╣рд░ рд╕реЗ рдЪрд▓рд╛рдиреЗ рдкрд░ ~ / .rvm рдореЗрдВ рд╣реИрдХ рдХрд░ рд▓реЗрддрд╛ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдЧрдВрджрд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рд╣рдЯрд╛рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдпрджрд┐ рд╣реИ рддреЛ
рд╣рдордиреЗ рд╢реЗрдл рд╕реЛрд▓реЛ рд▓рдЧрд╛ рджрд┐рдпрд╛ред рдЖрдк рдкреИрдХреЗрдЬ рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдорд╛рдгрд┐рдХ рдПрдХ рдЕрдзрд┐рдХ "рджреЗрд╢реА" рддрд░реАрдХрд╛ рд╣реИ, рдкреИрдХреЗрдЬ рдореИрдиреЗрдЬрд░ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред
 gem install knife-solo 

3 рд╢реЗрдл рд╡рд┐рдиреНрдпрд╛рд╕ рд╣реИрдВ:

рдХреЙрдиреНрдлрд╝рд┐рдЧрд░:
 cd ~ knife configure -r . --defaults 

3. рд░рд╕реЛрдИ, рд░рд╕реЛрдИ рдХреА рдХрд┐рддрд╛рдм рдФрд░ рдЪрд╛рдХреВ


 knife kitchen solodemo 

рд╕реЛрд▓реЛрдбреЗрдореЛ рдлрд╝реЛрд▓реНрдбрд░ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛:
 cd solodemo tree . |-- cookbooks - .  . |-- data_bags -     (, ,  ,   ). |-- nodes -    (). |-- roles - .        . , Apache , MySQL . |-- site-cookbooks `-- solo.rb 

рдпрд╣ рддрдерд╛рдХрдерд┐рдд рд╣реИ "рд░рд╕реЛрдИ"ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╢реЗрдл рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд░рд▓реАрдХреГрдд рд╕рдорд╛рдирддрд╛ред

Nginx рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреБрдХрдмреБрдХ рдмрдирд╛рдПрдВред
 cd solodemo knife cookbook create nginx -o cookbooks 

рдпрд╣ рднреА рдПрдХ рдлрд╝реЛрд▓реНрдбрд░ рд╣реИред рд╣рдо рджреЗрдЦрддреЗ рд╣реИрдВред
 cd cookbooks tree . |-- attributes |-- definitions |-- files | `-- default |-- libraries |-- metadata.rb |-- providers |-- README.md |-- recipes -  " ". default.rb   ,    .     . | `-- default.rb |-- resources `-- templates -    ERB. `-- default 

рд░реЗрд╕рд┐рдкреА рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд░реВрдмреА рдФрд░ рдмреИрд╢, рдкрд░реНрд▓, рдкрд╛рдпрдерди, csh рдЖрд╡реЗрд╖рдг рджреЛрдиреЛрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХрдИ рд╡реНрдпрдВрдЬрдиреЛрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди "рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рддрдм рддрдХ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рдЖрдк рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рдЬрдм рд░рд╕реЛрдИ рдХреА рдХрд┐рддрд╛рдм рдмреБрд▓рд╛рддреЗ рд╣реИрдВ)ред
рд╡реНрдпрдВрдЬрдиреЛрдВ рдореЗрдВ / default.rb рдЬреЛрдбрд╝реЗрдВ
 package "nginx" 

рд╕рд╣реЗрдЬреЗрдВред
"рдкреИрдХреЗрдЬ" рдпрд╣рд╛рдБ рдПрдХ рд╕рдВрд╕рд╛рдзрди рд╣реИред рдЖрдк рд╡рд┐рдХреА рдкрд░ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рд╕реВрдЪреА рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рдХреБрдХрдмреБрдХ рдореЗрдВ рдкреВрд░рдХ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрд┐рд╕ рднрд╛рд╖рд╛ рдореЗрдВ рд░реЗрд╕рд┐рдкреА рд▓рд┐рдЦреА рдЬрд╛рддреА рд╣реИ рд╡рд╣ рд░реВрдмреА рдбреАрдПрд╕рдПрд▓ рд╣реИ ред рддрд░реНрдХ рд╡рд┐рдкрд░реАрдд рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╣рдо рдмрд╕ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкреИрдХреЗрдЬ "nginx" рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдФрд░ рдмрд╛рд╡рд░реНрдЪреА рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд╣реА рдХрд░ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдореЗрдВ рдЗрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдХрдИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЪреАрдЬреЗрдВ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ, "рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░"ред рдмреЗрд╢рдХ, рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде, рдирд╛рдо рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕реЗрдЯ рдХрд░рдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рддреЛ, рдЕрдкрд╛рдЪреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдПрдХ рд╢рд░реНрдд рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ RPM- рдЖрдзрд╛рд░рд┐рдд рд╡рд┐рддрд░рдг рдореЗрдВ рдпрд╣ httpd рд╣реИ, рдбреЗрдмрд┐рдпрди рдореЗрдВ рдпрд╣ рдЕрдкрд╛рдЪреЗ 2 рд╣реИред
рдЕрдЧрд▓рд╛, рдкрд░реАрдХреНрд╖рдг рд╕рд░реНрд╡рд░ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╣реЛрд╕реНрдЯрдирд╛рдо рд╕реЗрдЯ рдХрд░реЗрдВред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╢реЗрдл рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдиреЛрдбреНрд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВред
 hostname testserver.example.com echo "testserver.example.com" > /etc/hostname 

рдФрд░ / etc / рдореЗрдЬрдмрд╛рди рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
 10.10.10.10 testserver.example.com 

рд╣рдо рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ:
 hostname -f 

рдЕрдЧрд░ рдЬрд╡рд╛рдм "testserver.example.com" рд╣реИ - рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рдирд╣реАрдВ - рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ / рдЖрджрд┐ / рдореЗрдЬрдмрд╛рдиред
рдЕрдм, рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рд╕реЗ рд╕реЛрд▓реЛрдбреЗрдо рдлреЛрд▓реНрдбрд░ рд╕реЗ:
 knife prepare ubuntu@testserver.example.com 

рдЖрдкрдХреЛ рдереЛрдбрд╝рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░, рд╕рдВрднрд╡рддрдГ, sudo рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░реЗрдВред "рддреИрдпрд╛рд░" рдПрдХ рд╢реЗрдл-рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдЧрд╛ рдЬреЛ рдХрдорд╛рдВрдб рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдЧрд╛ред
рдкреНрд░рдкрддреНрд░ testserver.example.com.json рдХреА рдПрдХ рдлрд╝рд╛рдЗрд▓ рдиреЛрдб рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред рд╣рдо рдЗрд╕рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ:
 { "run_list": ["recipe[nginx]"] } 

рдпрд╣реА рд╣реИ, рдЖрдкрдХреЛ рдХреБрдХрдмреБрдХ "рдиреЗрдЧреНрдиреЗрдХреНрд╕" рдЪрд▓рд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдиреБрд╕реНрдЦрд╛ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рд╕реЗред
рддреЛ
 knife cook ubuntu@testserver.example.com 
рд╡рд╣ рд╕рдм рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рд╣рд╛рдВ, рдПрдХ рдирдЧреАрдиреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдиреГрддреНрдп рд╣реИрдВред рд▓реЗрдХрд┐рди рддреБрдЪреНрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдХрдмреБрдХ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╡реЗ рдХрд╛рдлреА рд▓рдЪреАрд▓реЗ рдФрд░ рд╡рд┐рдЪрд╛рд░рд╢реАрд▓ рд╣реИрдВред рдФрд░ рдЧреИрд░-рддреБрдЪреНрдЫ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП - рдПрдХ рдмрд╛рд░ рдПрдХ рд▓рд┐рдЦрд┐рдд рд░рд╕реЛрдИ рдХреА рдХрд┐рддрд╛рдм рдХреА рд╕реНрдерд╛рдкрдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ, рдпрд╣ рдПрдХ рддрд░рд╣ рдХрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИред рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕рд░реНрд╡рд░ рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдФрд░ рдЙрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдкреНрддрд╛рд╣ рдХрд╛ рд╕рдордп рдмрд┐рддрд╛рдпрд╛, рд▓реЗрдХрд┐рди рдЦрд░реЛрдВрдЪ рд╕реЗ рд╕реНрдерд╛рдкрдирд╛ рдореЗрдВ рдЕрдм рд▓рдЧрднрдЧ 20 рдорд┐рдирдЯ рд▓рдЧрддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдпрд╣ рдЕрдХреНрд╕рд░ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИ? рдЕрднреА рдирд╣реАрдВред рд▓реЗрдХрд┐рди рдЕрдм рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдПрдХ рдЦреБрд╢реА рд╣реИред рдФрд░ рдЕрдЧрд░ рдЖрдк рдЕрднреА рднреА рдкреНрд░рд▓реЗрдЦрди рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рд╢реЗрдл рдкрд░ рддреБрд░рдВрдд рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░реЗрдВ? рд╣рд╛рдВ, рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдЕрдкрдиреЗ рд╡рд░реНрдЪреБрдЕрд▓ рдорд╢реАрди рдкрд░ рдПрдХ рдЬреЛрдбрд╝реА рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдЙрдард╛ рдФрд░ "рдЯрдЪ" рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рд▓реЗрдЦ рдХреЛ рдЕрдзрд┐рднрд╛рд░ рдирд╣реАрдВ рджреЗрдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдпрд╣ рдЕрднреА рднреА рдПрдХ рдЧрд╛рдЗрдб рдХреЗ рдЕрдзрд┐рдХ рд╣реИред рд▓реЗрдХрд┐рди рд╢рд░реНрддреЗрдВ рд▓рд┐рдВрдХ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рдХреЛ рднреА рд░реБрдЪрд┐ рдЖрд╕рд╛рдиреА рд╕реЗ рдорд┐рд▓ рдЬрд╛рддреА рд╣реИред

рд╕рдВрджрд░реНрдн


Source: https://habr.com/ru/post/In140596/


All Articles