chefã«ç²ããããªãã«ã¯Itamaeãããããï¼
chef使ãã®ããã©ããããªãã§ããï¼
ç§ã¯ãã¾ã¾ã§ãµã¼ãã¼ã®è¨å®ãèªååããããã®ãã¼ã«ã«chefã使ã£ã¦ãã¾ããã æåchefã使ãå§ããæã¯ããã¾ã¾ã§æä½æ¥ã§ãã£ã¦ãããã¨ãã³ã¼ãåã»èªååã§ããã®ã§ããã便å©ã¼ï¼chefæé«ï¼ãã¨ããæãã ã£ãã®ã§ããã ã ãã ã使ã£ã¦ãããã¡ã«chefãé«æ©è½ãæ ã«èªåã®ç¨éã¨ãã¦ã¯ä½¿ãã®ãè¾ããªã£ã¦ãã¾ããã
ããããèªåã¯chef soloãã使ããªã
chef ã¯åºæ¬çã«ã¯chef-server - chef-client ã¨ããæ§æã§ãè¨å®ãèªåã§è¡ããããµã¼ãã¼ã«å¯¾ãã¦chef-clientãã¤ã³ã¹ãã¼ã«ãã¾ãã ããã¦å¯¾è±¡ã®ãµã¼ãã¼ã®è¨å®ãã³ã¼ãåããrecipeãä¿æããchef-serverã¨chef-clientãéä¿¡ãã¦å¯¾è±¡ãµã¼ãã¼ã«recipeãé©å¿ãã¾ãã
ãã®chef-serverãç«ã¦ãã«chef-clientã ãã§ãµã¼ãã¼ã®è¨å®ãèªååããchef-soloã¨ããæ©è½ããããããã¯èªåã®æå ã®ãã·ã³ããSSHçµç±ã§chef-clientã«recipeãéä¿¡ã»é©å¿ãããã®ã§ããèªåã®å ´åã¯ãããããããã使ã£ã¦ãã¾ããã
管çãã¦ãããµã¼ãã¼ãä½åå°ããã£ã¦å¸¸ã«ç¨¼åãã¦ããå ´åã¯chef-serverããã£ã¦èªåã§recipeãé©å¿ãããæ©è½ã価å¤ããããããããªãã§ãããèªåã®å ´åã¯ç®¡ç対象ã®ãµã¼ãã¼ãããããå¤ããªãããã§ãã
è¦ãããã¨ãå¤éãã
ä¸ã¤ã®ãµã¼ãã¼ã®è¨å®ã管çããchefã®ã¬ãã¸ããªãä½ãããã«chefã ãã§ãªããªããã³ãã¥ããã£ãä½ã£ãrecipeã®ä¾å管çãããBerkshelfãchef-soloã使ãããã®ã³ãã³ãã©ã¤ã³ãã¼ã«knife-soloãªã©ããªãã ããã ã§å¿ è¦ãªãã¼ã«ãè¦ããããã«çµæ§ãªå¦ç¿ã³ã¹ãããããã¾ãã
æè¿ã¯chef-soloã§ã¯ãªããchef-zeroã ã¨è¨ãåºãã¦ãã
èªåã¯ããããchef-soloãã使ã£ã¦ããªãã®ã«ããã®chef-soloãçµããchef-zeroã使ã£ã¦æ¬²ããããã§ãã
詳ããå 容ã¯ä»¥ä¸ã®ããã°ãåç §ãã¦ãã ããã
From Solo to Zero: Migrating to Chef Client Local Mode | Chef Blog
ãã¾ããã¾ãæ°ããchef-zeroã¨ãã®ãã©ã¯ãã£ã¹ãå¦ã¶ã®ãè¾ãã§ãããã
ãã£ã¨ã·ã³ãã«ãªãã¼ã«ã欲ããï¼
chefã¯å¤§è¦æ¨¡ã«ãµã¼ãã¼ã管çãã¦ãã人ã«ã¨ã£ã¦ã¯å¦ç¿ã³ã¹ãã«è¦åãã¡ãªããããããã¼ã«ãªã¯ãã ãã© ãèªåã«ã¨ã£ã¦ãªã¼ãã¼ã¹ããã¯éãã¾ããã ãã£ã¨åç´ã«ããã¹ããã·ã³ã§ã³ãã³ãå®è¡ããã対象ãµã¼ãã¼ã«recipeãé©å¿ããã ãã®ãã·ã³ãã«ãªãã¼ã«ã欲ããã¨æã£ã¦èª¿æ»ãå§ãã¾ããã
Itamaeã¯ã·ã³ãã«ã§ä½¿ããããï¼
Itamaeã¯chefã®ãããªDSLã§ã ããã·ã³ãã«ãªæ©è½ã ããå®è£ ãããã¼ã«ã§ãã
ãã¨ãã°ã以ä¸ã®ããã«httpdãã¤ã³ã¹ãã¼ã«ããrecipeãä½æãã¾ãã
package 'httpd' do action :install end
ãã®recipeã対象ãµã¼ãã¼ã«é©å¿ããã«ã¯ä»¥ä¸ã®ã³ãã³ããå®è¡ãã¾ãã
$ itamae ssh -h 192.168.10.10 -p 22 -u user -i /path/to/private_key recipe.rb
ãªãã·ã§ã³ãå¤ãã§ããããã£ã¦ãããã¨ã¯æç½ã§-h ã§å¯¾è±¡ãµã¼ãã¼ã®ãã¹ããæå®ãã-pã§ãã¼ããæå®ã-uã§æ¥ç¶ã¦ã¼ã¶ã¼ãæå®ã-i ã§ç§å¯éµãæå®ãæå¾ã«é©å¿ãããrecipeãã¡ã¤ã«ãæå®ãã¾ãã
chefã®ããã«nodeã«ãã£ã¦å¤ãå¤ãããå ´åã¯ã以ä¸ã®ããã«-jãªãã·ã§ã³ã§å©ç¨ããjsonãã¡ã¤ã«ãæå®ããã°ããã ãã§ãã
$ itamae ssh -j node.json -h 192.168.10.10 -p 22 -u user -i /path/to/private_key recipe.rb
ã¡ããã¨ç¥ãããå ´åã¯Githubã¬ãã¸ããªã®wikiãè¦ãã°ãæ¨å¥¨ããããã¹ããã©ã¯ãã£ã¹ãã使ãæ¹ã¾ã§ã¡ããã¨è¨è¼ããã¦ãã¾ãããéãå°ãªãã®ã§ããã«ä½¿ããã¬ãã«ã¾ã§å¦ç¿ã§ãã¾ãã
èªåã®ãããªchefã«ç²ãã人ã«ã¨ã£ã¦ãitamaeã¯chefã§å¦ãã ç¥èãããç¨åº¦æ´»ããããã¤ç°¡åã«ä½¿ãããã¹ããªãã¼ã«ã§ãï¼
ããã«å¬ããã®ã¯chefã¯å¯¾è±¡ãµã¼ãã¼ã«ruby + chefãã¤ã³ã¹ãã¼ã«ããªãã¨ãããªãã§ãããitamaeã¯ãã®å¿ è¦ããªãã®ã§ãã
ããä»ã«ãchefã«ç²ãã人ãããã£ãããã°ããã²itamaeããªã¹ã¹ã¡ãã¾ãã