Ansibleå¾¹åºå ¥é ã¯ã©ã¦ãæ代ã®æ°ããæ§æ管çã®å®ç¾ ä½è : 廣å·è±å¯¿,å¹³å,æ©æ¬ç´å,森ç°é¦è£,渡辺ä¸å®åºç社/ã¡ã¼ã«ã¼: ç¿æ³³ç¤¾çºå£²æ¥: 2017/02/17ã¡ãã£ã¢: åè¡æ¬ï¼ã½ããã«ãã¼ï¼ãã®ååãå«ãããã°ãè¦ã Ansibleå¾¹åºå ¥éèªäºãä¼ç¤¾ã§ã®è³¼å ¥ç¨è°å®äºãAnsibleä¾åã®å¼ç¤¾ã¨ãã¦ã¯ä¼ç¤¾ã¨ãã¦æã¤ã¹ãæ¬ãâ k1LoW (@k1LoW) 2017å¹´3æ15æ¥ ãAnsibleå¾¹åºå ¥é ã¯ã©ã¦ãæ代ã®æ°ããæ§æ管çã®å®ç¾ããèªäºãã¾ããã ãããã®Ansibleã¹ãã㯠ã¨ããããèªåã®ã¹ããã¯ãã 1.5ã1.6ãã使ãå§ãã¦ãã¾ãã ç¾å¨ã¯1.9ãã¡ã¤ã³ã«ä½¿ã£ã¦ãã¾ãã ChefãPuppetã¯ã»ã¨ãã©å©ç¨ãã¦ãã¾ããã åè¨éçºããã£ã¦ããããããçµæ§ãªæ°ã®Playbookãæ¸ãã¦ãã¾ããã âä»"ã®Ansibleãæãã¦ããã Ansibleèªä½ã¯ç¥ã£ã¦ã
å ¬ééµèªè¨¼ãããããã«ã対象ã®ãµã¼ãã®æå®ã¦ã¼ã¶ã® authorized_keys ãè¨å®ããã¢ã¸ã¥ã¼ã«ãauthorized_keyããããã®ã§ããã使ç¨ããã åæ authorized_key ã¢ã¸ã¥ã¼ã«å®è¡æã¯ãã¹ã¯ã¼ãèªè¨¼ã§ãã°ã¤ã³ãã root ã¦ã¼ã¶ã§ãã°ã¤ã³ãã root ã¦ã¼ã¶ã® RSAéµãã¡ã¤ã«ãä½æ(ssh-keygen)ãã¦ããã㨠/dev/cdrom ã« CentOS ã¡ãã£ã¢ãæ¥ç¶ããã¦ããã㨠æé ãã¬ã¤ããã¯ä½æ setup.root.authorized_keys.yml ãä½æããã --- # 対象ãµã¼ãã® root ã¦ã¼ã¶ã® authorized_keys ã« /root/.ssh/id_rsa.pub ã®å ¬ééµã追å ããã - hosts: '{{ hosts }}' tasks: - name: setup authorized_keys a
Requirement already up-to-date: ansible in /Library/Python/2.7/site-packages Requirement already up-to-date: paramiko in /Library/Python/2.7/site-packages (from ansible) Requirement already up-to-date: jinja2 in /Library/Python/2.7/site-packages/Jinja2-2.8-py2.7.egg (from ansible) Requirement already up-to-date: PyYAML in /Library/Python/2.7/site-packages/PyYAML-3.11-py2.7-macosx-10.11-intel.egg (
æ®æ®µãããVagrant + Ansibleãç¨ãã¦ããã¼ã ã§å ±éã®éçºç°å¢ãä½ããããã«ãã¦ãã¾ããå æãå±ãã13â³ rMBP early 2015ã«éçºç°å¢ãæ§ç¯ãã¦ããéãAnsibleããã¾ãå®è¡ã§ããªããã©ãã«ã«ãããã¾ããã å ¨ãåãBoxåã³ãããã¸ã§ãã³ã°ã使ã£ã¦æ§ç°å¢ã§ã¯åé¡ãªãæ§ç¯ã§ããã®ã«ãæ°ç°å¢ã§ã¯ã§ããªããã¨ã«é ãæ©ã¾ãã¾ãããã2æéã»ã©è©¦è¡é¯èª¤ããçµæã解決ã§ããã®ã§ããã®äºè±¡ã¨åå ã対å¦æ³ãã¡ã¢ãã¦ããã¾ãã ç°å¢ç°å¢ã¯ä»¥ä¸ã®éãã§ããVagrant, VirtualBox, Ansibleãã¹ã¦ãHomebrewã§ã¤ã³ã¹ãã¼ã«ãã¦ãã¾ããçµæããããã¨VirtualBoxãAnsibleã¯ç´æ¥é¢ä¿ããã¾ããã§ããããä¸å¿ããã¼ã¸ã§ã³æ å ±ã示ãã¦ããã¾ãã ã½ããã¦ã§ã¢ãã¼ã¸ã§ã³
Vagrant 1.8 ã§ãansible_local ã¨ããæ°ãããããã¸ã§ãã追å ããã¾ããã ããã¯ãAnsible ãã²ã¹ãï¼VMï¼å´ã«ã¤ã³ã¹ãã¼ã«ãã¦ããã¼ã«ã«ã³ãã¯ã·ã§ã³ã§ VM å ã§å®è¡ãããã®ã§ããããã¯ãã¾ãã«å¾ ã¡æãã§ããæ©è½ã®ã§ç´¹ä»ãã¾ãã Vagrant + Ansible ã§æ°ãä»ããã㨠以åãããVagrant + Ansible ã®çµã¿åããã§ãã¼ã«ã«ã®éçºç°å¢ãä½ããªãããã¹ãå´ã« Ansible ãå ¥ããã®ã§ã¯ãªããã²ã¹ãï¼VMï¼å´ã« Ansible ãå ¥ããæ¹ãè¯ãã¨èãã¦ãã¾ãããåå¼·ä¼ãªã©ã§ãè¯ã話ãã¦ããã®ã§ãèãã«ãªã£ãæ¹ããããã¨æãã¾ã :) ãã¹ãå´ã« Ansible ãå ¥ããªãçç±ã¯ã3 ã¤ããã¾ãã ã¾ãããã¹ãã« Ansible ãã¤ã³ã¹ãã¼ã«ããæéãå¢ããç¹ã§ããVagrant 㨠Virtualbox ã®ã¤ã³ã¹ãã¼ã«ï¼ãã¨ã³ã¼
ã¤ã³ãã©èªååãã¼ã«ãAnsible 2.0ãæ£å¼çããªãªã¼ã¹ããªãã¡ã¯ã¿ãªã³ã°ã«ããã¢ã¼ããã¯ãã£ã®æ´çãBlockæãåçãªIncludeãªã©ã®æ°æ©è½ Ansibleã¯æ¨å¹´10æã«Red Hatãè²·åãã¦ãããAnsible 2.0ã¯è²·åå¾åã®ï¼ããã¦Ansibleã«ã¨ã£ã¦ãåãã¦ã®ï¼ã¡ã¸ã£ã¼ãã¼ã¸ã§ã³ã¢ããã§ãã åèï¼Red HatãAnsibleãè²·åããçç±ãå社ã¯ã©ã¦ãããã¸ã¡ã³ãæ¦ç¥æ å½ã説æ Ansible 2.0ã§ã¯å¤§è¦æ¨¡ãªã³ã¼ãã®ãªãã¡ã¯ã¿ãªã³ã°ãè¡ããããã¨ã«ããå é¨ã¢ã¼ããã¯ãã£ãæ´çãããããã«ä¼´ã£ã¦æ°ããæ©è½ãããã¤ã追å ããã¦ãã¾ãã Task Blocksã¨åçInclude 1ã¤ç®ã®æ°æ©è½ã¨ãã¦ããããã¦ããã®ã¯ãTask Blocksãã§ããã¿ã¹ã¯å ã§Blockæãç¨ãã¦å¦çãã¾ã¨ãããã¨ãã§ãã¾ãã Blockã¯ãPythonãã»ãã®è¨èªãåãã¦ãã
For customersCustomer supportSubscription managementSupport casesRed Hat Ecosystem CatalogFind a partnerFor partnersPartner portalPartner supportBecome a partner Try, buy, & sellRed Hat MarketplaceRed Hat StoreContact salesStart a trialLearning resourcesTraining and certification Hybrid cloud learning hubInteractive labsLearning communityRed Hat TVArchitecture centerOpen source communitiesGlobal a
ä»åã¯Ansibleãæ¬æ ¼éç¨ããéã®ã¤ã¡ã¼ã¸ãæ´ãããã«Ansibleã®ãã¹ããã©ã¯ãã£ã¹ãåèã«å®éã«è©¦ãã¦ã¿ããã¨æãã¾ãã å®è·µã®ãé¡ã¯WordPressã¨ãã¾ããWordPressã®ã»ããã¢ãããéãã¦ãã¹ããã©ã¯ãã£ã¹ã®ã¤ã¡ã¼ã¸ãæ´ãã§ããã ããã°ã¨æãã¾ãã æºå ãã¼ã«ã«ãã·ã³ã«ä½æ¥ãã£ã¬ã¯ããªãä½ãããã®ä¸ã§Ansibleã®ãã¹ããã©ã¯ãã£ã¹ã«åã£ããã¬ã¤ããã¯ãä½ã£ã¦ããã¾ããMacãããã¯Linuxãªã©ã§è©¦ãã¦ã¿ã¦ãã ããã $ mkdir try-ansible-best-practices $ cd try-ansible-best-practices ã¦ã§ããµã¼ãã¨DBãµã¼ããå¥åã«ç«ã¦ã¾ãã®ã§ããããã®ã¯ã©ã¦ãã§ãµã¼ããäºå°ç«ã¦ã¦ããã¾ããOSã¯CentOS 6.6ãå©ç¨ãã¾ãããµã¼ãä½ææã«rootã§ã®sshã®æ¥ç¶ã«å¿ è¦ã¨ãªãå ¬ééµãå¿ããã«ç»é²ãã¦ãã ãã
ç¾æç¹ï¼1.8.4ï¼ã§ã¯ãAnsibleã¯Control Machineã¨ãã¦Windowsããµãã¼ããã¦ããªãããããã°Running Vagrant with Ansible Provisioning on Windowsçãåèã«ã»ããã¢ãããã¦ã¿ãã®ã§æé ãã¾ã¨ãã¦ããã ååã¯ç´ç²ã«Windows(Cygwin)ã§Ansibleã使ãè¨å®ã«ãªã£ã¦ãã¦Vagrantã¨ã¯ç¡é¢ä¿ã«ä½¿ç¨ã§ããã ãªããæ«å°¾ã®åé¿çã«è¨è¼ãã¦ãããæªè§£æ±ºã®åé¡ï¼ç§å¯éµã®ãã¼ãã·ã§ã³ãç·©éããã¨è¨ããã¦è¹´ããã¦ãã¾ãï¼ããããä¸é¨å¼·å¼ã«Ansibleã®ã½ã¼ã¹ã³ã¼ããæ¸ãæãã¦åé¿ãã¦ããã #ç°å¢ Windows 8.1 Pro Cygwin Vagrant 1.7.2 Ansible 1.8.4 #Cygwinã®ç°å¢ãæ´ãã Cygwinã®ä¸è¨ã®ããã±ã¼ã¸ã追å ããï¼é常ã®Cygwin Setupã使ç¨ï¼
ã´ãã£ã´ãã£ãããããã£ãã®ãè¨æ¶ãé ¼ãã«ã¾ã¨ãã¦ã¿ã¾ãã vagrantãã¤ã³ã¹ãã¼ã« ããã¯æ¬å®¶ãµã¤ãããmsiããã±ã¼ã¸ããã¦ã³ãã¼ããã¦ã¤ã³ã¹ãã¼ã«ããã°è¯ã ã¤ãã§ã«vagrant-ansibleãã©ã°ã¤ã³ãã¤ã³ã¹ãã¼ã« ansibleãã¤ã³ã¹ãã¼ã« cinst python cinst pip pip install ansible ã¯ä½ã¨ãªãæåãããã®ã®ãansibleèµ·åã§ãªããã®ã¢ã¸ã¥ã¼ã«ãè¦ã¤ããã¾ããã¨ãè¨ããã¦ã³ã±ãã cygwinã§ãï½ã¨ããè¨äºãè¦ãã®ã§ãã®éãã«æ¹é転æãè¨äºéããï½ã playbook.ymlã¨ãinventoryãã¡ã¤ã«ãä½ã ã¾ãã¯è¶ ç°¡åã«playbook.yml - hosts: vagrant tasks: - yum: name=/common/files/jdk-7u40-linux-x64.rpm state=present
VirtualBoxã«CentOSãã¨ããããã¤ã³ã¹ãã¼ã« ã®ç¶ã Ansibleãã¨ãããã試ãã¦ã¿ãã Ansibleã®ã¤ã³ã¹ãã¼ã« Macã«Asibleãã¤ã³ã¹ãã¼ã«ããã $ brew update $ brew install ansible å ¥ã£ãã $ ansible --version ansible 1.7.2 Ansibleã試ã ä»å使ç¨ããVirtualBoxã®IPã¢ãã¬ã¹ã¯ã192.168.56.101ã hostsã®ãã¡ã¤ã«ãä½æããã $ vi hosts 192.168.56.101 ã³ãã³ããå®è¡ãã¦ã¿ãã ããããã¨ã©ã¼ãåºãã $ ansible all -i hosts -u hoge -a "cat /etc/redhat-release" 192.168.56.101 | FAILED => SSH encountered an unknown
(macosx10.9, ansible 1.9.1, Vagrant 1.7.2) seizans ããã® ãAnsible ã³ããã¸ã¡ã ãVagrant ãªã©ã®ãã¼ã¸ã§ã³å·®ç°ã«ãããã®ã¾ã¾ã§ã¯åããªããããªã®ã§ãè¥å¹²ä¿®æ£ãå ãã¦å®è¡ã§ããããã«ãã¦ã¿ãã Vagrant, Ansible ã¯ã¤ã³ã¹ãã¼ã«æ¸ã¿ã®åæ vagrant box ãç¨æãã A list of base boxes for Vagrant - Vagrantbox.es Official Ubuntu 14.10 daily Cloud Image amd64 ä½ã¨ãªããã使ã£ã¦ã¿ã $ mkdir ansible-sample $ cd ansible-sample $ vagrant init ubuntu1410 https://oss-binaries.phusionpassenger.com/vag
ã¨ã¦ãåæ©çãªãã¨ã§ããã£ã¦ãã¾ã£ãã®ã§ãä»å¾å¿ããªãããã«ããã£ããæ¸ãã¦ããã ç®æã30å以å ç·¨é ä»åã®äºè±¡ ããã£ãã㨠Ansibleã§tomcatãèµ·åããã¹ã¯ãªãããå®è¡ã okã®ç¢ºèªãpidãã¡ã¤ã«ã®ä½æã確èªã§ãã¦ãããããã°ã¤ã³ãã¦ã¿ãã¨èµ·åã§ãã¦ããªãã£ãã ãã°ã¤ã³ãããµã¼ãã¼ã§èµ·åã¹ã¯ãªãããå©ãã¨èµ·åã§ããã debugã§åºåããçµæããç°å¢å¤æ°ãæå®ã§ãã¦ããªãçã®åé¡ã¯ãªãããã åå èµ·åã³ãã³ãã«"&"ãã¤ãã¦ããã¯ã°ã©ã¦ã³ãã§èµ·åãã¦ãããã sshã®ã³ãã¯ã·ã§ã³ãåãããããããã»ã¹ãçµäºãã¦ããã Ansibleã¯sshã§ã³ãã¯ã·ã§ã³ãå¼µããå½ä»¤ãå®è¡ã¨ããåºæ¬çãªæµããå¿ãã¦ãã/(^o^)\ 解決ç nohupã¤ãã¦èµ·å ããå°ã詳ãã å®éã«ã¯ãã ããã ãã®ç¡ç¥ãªã話ã§ãããæµãã詳細ã«ã å®è¡å½ä»¤ Ansibleã®Playbookå ã§ä»¥ä¸
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}