рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдмрд╛рд╡рд░реНрдЪреА

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

рд╕рд┐рджреНрдзрд╛рдВрдд


рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рдиреАрдВрд╡ рдХреЗ рдмрд┐рдирд╛, рдХрд╣реАрдВ рдирд╣реАрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдХрд╣рдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдкрдкреЗрдЯ рдХреА рддрд░рд╣ рд╢реЗрдл, рдореВрд▓ рд░реВрдк рд╕реЗ рд░реВрдмреА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛, рдФрд░ рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рднрд╛рд╖рд╛ рдХреЛ рдмреЛрд▓рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдПрдХ рдкреНрд▓рд╕ рд╣реЛрдЧрд╛ред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЖрдкрдХреЛ рдХрдо рд╕реЗ рдХрдо рдореВрд▓ рдмрд╛рддреЗрдВ рдЕрдзреНрдпрдпрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк "рд╢реЗрдл рдХреЗ рд▓рд┐рдП рдмрд╕ рдкрд░реНрдпрд╛рдкреНрдд рд░реВрдмреА" рд▓реЗрдЦ рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднрд╛рд╖рд╛ рдХреА рдореВрд▓ рдмрд╛рддреЗрдВ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред
рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╡рд┐рдХреА рдореЗрдВ рдЖрдк рд╢реЗрдл рд╕реАрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ (рдкреНрд░рд▓реЗрдЦрди рдХрдВрдкрдиреА рдХреЗ рднреБрдЧрддрд╛рди рдХрд┐рдП рдЧрдП рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд╡рд┐рд╡рд░рдг рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИ - рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬ рд╢реЗрдл рдФрд░ рд╣реЛрд╕реНрдЯреЗрдб рд╢реЗрдл, рдореИрдВ рдУрдкрди рд╕реЛрд░реНрд╕ рд╢реЗрдл рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛)ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдмреБрдирд┐рдпрд╛рджреА рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдПред рдореИрдВ рдЙрдирдХрд╛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ред

рдмреБрдирд┐рдпрд╛рджреА рдврд╛рдВрдЪреЗ


рдкрдХрд╛рдиреЗ рдХреА рд╡рд┐рдзрд┐


рдпрджрд┐ рд╕рд┐рджреНрдзрд╛рдВрдд рдЕрдзрд┐рдХ рдпрд╛ рдХрдо рд╕реНрдкрд╖реНрдЯ рд╣реИ, рддреЛ рдЖрдк рдЕрднреНрдпрд╛рд╕ рд╢реБрд░реВ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдЕрднреНрдпрд╛рд╕


рдмрд╛рд╡рд░реНрдЪреА рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ

Get Chef рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░, рдЕрдкрдиреЗ рд╡рд┐рддрд░рдг рдХреЗ рд▓рд┐рдП Chef рд╕рд░реНрд╡рд░ рдХреЗ рд╡рд░реНрддрдорд╛рди рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред
рдореИрдВ рд╕рд░реНрд╡рд░ рдХреЛ CentOS 6.5 рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВрдВрдЧрд╛, рдФрд░ рдореИрдВ Ubuntu 12.04 рдХреЗ рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХрд╛рд░реНрдп рдХреЗрдВрджреНрд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реВрдВрдЧрд╛:
рд╕рд░реНрд╡рд░ рдореЗрдВ "рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпреЛрдЧреНрдп рдбреЛрдореЗрди рдирд╛рдо" (FQDN) рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:
рдпрд╛рдиреА / etc / hostname рдореЗрдВ рдлреЙрд░реНрдо рдХреА рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП: chef.example.ru
рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рд░реВрдЯ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
rpm -Uvh https://opscode-omnibus-packages.s3.amazonaws.com/el/6/x86_64/chef-server-11.0.10-1.el6.x86_64.rpm 
рдЕрдЧрд▓рд╛, рдЖрдкрдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
 chef-server-ctl reconfigure 
рдпрд╣ рдХрдорд╛рдВрдб рд╢реЗрдл рд╕рд░реНрд╡рд░ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдШрдЯрдХреЛрдВ (Erchef, RabbitMQ, nginx, PostgreSQL) рдкрд░ рдЬреЛрд░ рджреЗрдЧрд╛
рд╕рдм рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдмрд╛рд╡рд░реНрдЪреА рд╕рд░реНрд╡рд░ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдкреЗрдЬ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рд╣реА рдХреЙрд▓рдо рдореЗрдВ, рдЖрдкрдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдФрд░ рдкрд╛рд╕рд╡рд░реНрдб рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛: рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ: p @ ssw0rd1ред
рд╣рдо "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛" рдЯреИрдм рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рдмрджрд▓рддреЗ рд╣реИрдВ, рд╣рдо рдирд┐рдЬреА рдХреБрдВрдЬреА рднреА рдмрджрд▓рддреЗ рд╣реИрдВ (рдХреБрдВрдЬреА рдХреЛ рд╕реНрд╡рдпрдВ рдХреЗ рд▓рд┐рдП рд╕рд╣реЗрдЬрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣реАрдВ рднреА рд╕рд╣реЗрдЬрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ):

рдЕрдЧрд▓рд╛, "рдЧреНрд░рд╛рд╣рдХ" рдЯреИрдм рдкрд░ рдЬрд╛рдПрдВ, рдпрд╣рд╛рдВ рдЖрдкрдХреЛ рд╢реЗрдл-рд╡реЗрд▓реЗрд░реЗрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреБрдВрдЬреА рдХреЛ рдлрд┐рд░ рд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдЗрд╕реЗ рдХрд╣реАрдВ рдФрд░ рдЕрдкрдиреЗ рдкрд╛рд╕ рдФрд░ рд╕рд░реНрд╡рд░ рдкрд░ рд╕рд╣реЗрдЬрдирд╛ рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдмрд╛рдж рдореЗрдВ рдЖрдкрдХреЛ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА)

рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рдХрд╛рд░реНрдп рдХреЗрдВрджреНрд░ рдкрд░ рдмрд╛рд╡рд░реНрдЪреА рдЧреНрд░рд╛рд╣рдХ (рдЪрд╛рдХреВ) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛

рд╕реНрдерд╛рдкрдирд╛ рдПрдХ рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ:
 curl -L https://www.opscode.com/chef/install.sh | sudo bash 
рдпрд╛ рддреЛ рдбрд┐рдмреЗрдЯ рдпрд╛ рдЖрд░рдкреАрдПрдо рдкреИрдХреЗрдЬ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред
рд░рд╕реЛрдИ рдХреА рдХрд┐рддрд╛рдмреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ git рдХрдВрд╕реЛрд▓ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
 apt-get install git 
рдЖрдкрдХреЛ рд░реВрдмреА рд╕рдВрд╕реНрдХрд░рдг => 1.9.1 рднреА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред Ubuntu 12.04 рдХреЗ рд▓рд┐рдП рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗрдЯ рд╣реИ:
 apt-get install ruby1.9.1 
рд╣рдо рдЕрдкрдиреЗ рдШрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╢реЗрдл рдХреЗ рд▓рд┐рдП рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдорд╛рд░реНрдХрдЕрдк рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВрдЧреЗ:
 git clone git://github.com/opscode/chef-repo.git 
рдЕрдкрдиреЗ рдХрд╛рд░реНрдп рдХреЗрдВрджреНрд░ рд╕реЗ рдЪрд╛рдХреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рднреВрдорд┐рдХрд╛рдУрдВ, рдЖрджрд┐ рджреНрд╡рд╛рд░рд╛ рдиреЛрдбреНрд╕ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рджреЛ рдХреБрдВрдЬреА рдЪрд╛рд╣рд┐рдП:
рдЙрдиреНрд╣реЗрдВ рдЙрд╕ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдХреЙрдкреА рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк рдХреБрдХреАрдЬрд╝ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
~/chef-repo/.chef/
рдЪрд╛рдХреВ рд╕реЗрдЯ рдХрд░рдирд╛ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
 knife configure -i 
рдпрд╣рд╛рдВ, рдЖрдкрдХреЛ рдирд┐рдЬреА рдХреБрдВрдЬрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдкрде рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рд╕рд╛рде рд╣реА рдХреБрдХреАрдЬрд╝ рдХреЗ рд╕рд╛рде рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдкрде рднреАред рдЪрд╛рдХреВ рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╝рд╛рдЗрд▓ ~ / рд╢реЗрдл-рд░реЗрдкреЛ / .chef / рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рднреА рд╕реНрдерд┐рдд рд╣реЛрдЧреА рдФрд░ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА:
 cat /home/it/chef-repo/.chef/knife.rb 
 log_level :info log_location STDOUT node_name 'it' client_key '/root/Chef/chef-repo/.chef/it.pem' validation_client_name 'chef-validator' validation_key '/home/it/chef-repo/.chef/chef-validator.pem' chef_server_url 'https://chef.example.ru:443' syntax_check_cache_path '/home/it/chef-repo/.chef/syntax_check_cache' cookbook_path [ '/home/it/chef-repo/cookbooks', '/home/it/chef-repo/example' ] #     knife[:editor] = 'vim' #   knife 
рдЪрд╛рдХреВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВ:
 knife client list 
рд╕рднреА рдЖрджреЗрд╢реЛрдВ рдХреЛ рдЖрдкрдХреЗ рд╕реНрдерд╛рдиреАрдп рд╢реЗрдл рднрдВрдбрд╛рд░ рдХреА рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдпрд╛ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рд╕реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдЪрд╛рдХреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкрд╣рд▓реЗ рд╕рд░реНрд╡рд░ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪрд╛рдХреВ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ рд╢реЗрдл рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рд╕рд░реНрд╡рд░ рдкрд░ рдПрдХ рдирдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ:
 knife bootstrap test.example.ru 
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, ssh рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╣реЛрд╕реНрдЯ рдХрд╛ рд░реВрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдмрдВрдз рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рд░реВрдЯ рдПрдХреНрд╕реЗрд╕ рд╕реАрдорд┐рдд рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ (sudo) рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
 knife bootstrap test.example.ru --sudo -x admin -P Password 
рдЬрд╛рдБрдЪ рдХрд░реЗрдВ рдХрд┐ рд╕рд░реНрд╡рд░ рдиреЛрдбреНрд╕ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╣реИ:
 knife node list 
 test.example.ru 

рдкрд╣рд▓реЗ рд░рд╕реЛрдИ рдХреА рдХрд┐рддрд╛рдм рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ

рддреЛ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓рд╛ рдиреЛрдб рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИред рдЕрдм рд╣рдо рдЗрд╕ рдкрд░ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╢реЗрдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕рдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рд╣рдореЗрдВ рдЕрдкрдиреА рдкрд╣рд▓реА рд░рд╕реЛрдИ рдХреА рдХрд┐рддрд╛рдм рд▓рд┐рдЦрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рдпрд╛ рдЧреАрдереВрдм рдкрд░ рдСрдкреНрд╕рдХреЛрдб рд░реЗрдкреЛ рд╕реЗ рдПрдХ рд╕рдорд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИред рджреВрд╕рд░рд╛ рд╡рд┐рдХрд▓реНрдк рдПрдХ рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ред
рдЖрдЗрдП рдЙрд╕ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдкрд░ рдЬрд╛рдПрдВ рдЬрд╣рд╛рдВ рд╣рдореЗрдВ рдХреБрдХреАрдЬрд╝ рд░рдЦрдиреЗ рд╣реИрдВ
 cd ~/chef-repo/cookbooks 
рдФрд░ рдпрд╣рд╛рдВ рдкрд╣рд▓реА рдХреБрдХреА рдХреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╢реЗрдл-рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП:
 git clone https://github.com/opscode-cookbooks/chef-client.git 
рдпрджрд┐ рд╣рдо рдореЗрдЯрд╛рдбреЗрдЯрд╛.rb рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЗрд╕ рдХреБрдХреА рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдПрдХ рд╕реВрдЪреА рджреЗрдЦреЗрдВрдЧреЗ:
 suggests 'bluepill' suggests 'daemontools' suggests 'runit' depends 'cron', '>= 1.2.0' depends 'logrotate', '>= 1.2.0' 
рдЙрдиреНрд╣реЗрдВ рд╕реНрд╡рдпрдВ рдФрд░ рдлрд┐рд░ рд╕рд░реНрд╡рд░ рдкрд░ рдХреНрд▓реЛрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдЗрд╕ рдХреБрдХрдмреБрдХ рд╕реЗ рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЗрд╕рдХреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
 knife cookbook upload bluepill daemontools runit cron logrotate chef-client 
рдЕрдм рд╣рдо рдЕрдкрдиреЗ рдЯреЗрд╕реНрдЯ рдиреЛрдб рдХреЗ рд▓рд┐рдП рд╢реЗрдл-рдХреНрд▓рд╛рдЗрдВрдЯ рд░реЗрд╕рд┐рдкреА рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рдПрдХреНрд╕реЗрд╕ рдХреА рдЕрд╡рдзрд┐ рдХреЛ рд╕рд░реНрд╡рд░ рдореЗрдВ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:
 knife node edit test.example.ru 
рдиреЛрдб рдХрд╛ рд╡рд┐рдиреНрдпрд╛рд╕ json рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЪрд▓рд┐рдП рд╕рд░реНрд╡рд░ рддрдХ рдиреЛрдб рдПрдХреНрд╕реЗрд╕ рдХреА рдЕрд╡рдзрд┐ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рд░рди рд╕реВрдЪреА рдореЗрдВ рд╢реЗрдл-рдХреНрд▓рд╛рдЗрдВрдЯ рдиреБрд╕реНрдЦрд╛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ:
 { "name": "test.example.ru", "chef_environment": "_default", "normal": { "chef_client": { "interval": "300" }, "tags": [ ] }, "run_list": [ "recipe[chef-client]" ] } 

рдЕрдкрдиреА рдкрд╣рд▓реА рд░рд╕реЛрдИ рдХреА рдХрд┐рддрд╛рдм рд▓рд┐рдЦреЗрдВ

рдЖрдЗрдП рдЯреЗрд╕реНрдЯ рд░реЗрд╕рд┐рдкреА рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдХреБрдХрдмреБрдХ рдмрдирд╛рдПрдВ:
 knife cookbook create test 
рдЙрди рдкреИрдХреЗрдЬреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рдирд┐рд░реНрджреЗрд╢ рдЬреЛрдбрд╝реЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдЕрдкрдиреЗ рд╕рднреА рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рд╡рд┐рддрд░рд┐рдд рдХрд░реЗрдВрдЧреЗ:
 vim ~/chef-repo/cookbooks/test/recipes/default.rb 
 %w{ntp mc htop iotop iftop atop vim-common wget curl rkhunter git awstats postfix}.each do |packages| package packages do action :install end end 
рдпрд╣ рдХреЗрд╡рд▓ рдХреБрдХрдмреБрдХ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдиреЛрдбреНрд╕ рдХреА рд░рди-рд▓рд┐рд╕реНрдЯ (рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреА рд╕реВрдЪреА) рдореЗрдВ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рдПрдХ рднреВрдорд┐рдХрд╛ рдмрдирд╛рдПрдВ рдФрд░ рдЗрд╕ рдиреБрд╕реНрдЦрд╛ рдХреЛ рд╡рд╣рд╛рдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдмреБрд░реА рдХрд┐рд╕реНрдордд, рдЖрдкрдХреЛ рдЕрднреА рднреА рдПрдкреЗрд▓ рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдХрдо рд╕реЗ рдХрдоред рдЖрдк рдХреБрдХрдмреБрдХ рдореЗрдВ рдХреЙрдиреНрдлрд┐рдЧ рдлрд╛рдЗрд▓ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд░реЗрд╕рд┐рдкреА рдореЗрдВ yum.repos.d рдкрд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреА рдХреЙрдкреА рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдСрдордХреЛрдб рд╕реЗ рдпрдо рдХреБрдХреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 git clone https://github.com/opscode-cookbooks/yum.git 
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, yum-epel рд░рд╕реЛрдИ рдХреА рдХрд┐рддрд╛рдм рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ (рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдирд╡реАрдирддрдо рд░рд┐рд▓реАрдЬ рдореЗрдВ рд╣рдордиреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рд╕реЛрдИ рдХреА рдХрд┐рддрд╛рдмреЛрдВ рдореЗрдВ рдореБрдЦреНрдп рд╢рд▓рдЬрдо рдХреЗ рд╕рд╛рде рд╡реНрдпрдВрдЬрдиреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рд╣реИ):
 git clone https://github.com/opscode-cookbooks/yum-epel.git 
рд╕рд░реНрд╡рд░ рдкрд░ рдкреБрд╕реНрддрдХреЗрдВ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВ:
 knife cookbook upload yum yum-epel 
рдЕрдм рд╣рдо рдЕрдкрдиреЗ рдЯреЗрд╕реНрдЯ рд░реЗрд╕рд┐рдкреА рдореЗрдВ yum-epel recipe рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 vim ~/chef-repo/cookbooks/test/recipes/default.rb 
 include_recipe тАЬyum-epelтАЭ %w{ntp mc htop iotop iftop atop vim nano wget curl rkhunter git awstats postfix}.each do |packages| package packages do action :install end end 
рд╣рдо рдЕрдкрдиреА рд░рд╕реЛрдИ рдХреА рдХрд┐рддрд╛рдм рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рдПрдкреЗрд▓-рд░реЗрдкреЛ рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ рдЕрдкрд╡рд╛рдж рднреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
 vim ~/chef-repo/cookbooks/test/attributes/default.rb 
 default['yum']['epel']['exclude'] = тАЬtest*тАЭ 
рд╣рдо рдХреБрдХрдмреБрдХ рдХреЛ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдиреЛрдб рдкрд░ рдиреБрд╕реНрдЦрд╛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ:
 knife cookbook upload test 

 knife node edit test.example.ru 
 { "name": "test.example.ru", "chef_environment": "_default", "normal": { "chef_client": { "interval": "300" }, "tags": [ ] }, "run_list": [ "recipe[chef-client]", тАЬrecipe[test]тАЭ ] } 

 knife ssh name:test.example.ru "chef-client" -P r00tPassworD 

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

рдЙрдкрдпреЛрдЧреА рд▓реЗрдЦ:

рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдмрд╛рд╡рд░реНрдЪреА рд╡рд┐рдХреА
рдСрдкреНрд╕рдХреЛрдб рдХреБрдХрдмреБрдХ рд╕рдВрдЧреНрд░рд╣
Arrays рдФрд░ рд╢реЗрдл рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ
рдмрд╛рд╡рд░реНрдЪреА 11 рдореЗрдВ рдЧрд╣рд░рд╛рдИ: рдкрд░рд┐рд╡рд░реНрддрди рдмрджрд▓рддрд╛ рд╣реИ
рд╢реЗрдл 11 рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди
рд╢реЗрдл, рдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкреНрд░рдмрдВрдзрди рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╣рд▓рд╛ рдЕрдиреБрднрд╡
рд╢реЗрдл рдпрд╛ рдПрдХ рд╣рдЬрд╛рд░ рд╕рд░реНрд╡рд░ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХреИрд╕реЗ рдХрд░реЗрдВ
рд╕рд░реНрд╡рд░ рдХреА рд╕реЗрд╡рд╛, рдХреГрдкрдпрд╛, рдпрд╛ рдСрдкреНрд╕рдХреЛрдб рд╢реЗрдл рдХреЗ рд╕рд╛рде рддреИрдирд╛рддреА рдХреИрд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ
рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реА рд╕рд╛рдЗрдЯ: рдмрд╛рд╡рд░реНрдЪреА рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рдирд╛
рдЕрд▓реЗрдХреНрд╕реА рд╡рд╛рд╕рд┐рд▓рд┐рд╡ рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЦреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ (рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рдХреЗрд╡рд▓ рдЕрдВрдЧреНрд░реЗрдЬреА рдореЗрдВ): рд╢реЗрдл рд╕реЛрд▓реЛ рдХреЗ рд╕рд╛рде рд╢реБрд░реБрдЖрдд рдХрд░рдирд╛

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


All Articles