{"id":1348,"date":"2019-08-06T10:13:59","date_gmt":"2019-08-06T08:13:59","guid":{"rendered":"https:\/\/www.ayhanarda.com\/blog\/?p=1348"},"modified":"2019-08-06T10:17:09","modified_gmt":"2019-08-06T08:17:09","slug":"ansible-nedir-ubuntu-uzerine-ansible-kurulumu-ve-host-ekleme","status":"publish","type":"post","link":"https:\/\/www.ayhanarda.com\/blog\/2019\/08\/ansible-nedir-ubuntu-uzerine-ansible-kurulumu-ve-host-ekleme\/","title":{"rendered":"Ansible Nedir ? Ubuntu \u00fczerine Ansible Kurulumu ve Host Ekleme"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">Ansible Nedir ? Ubuntu \u00fczerine Ansible Kurulumu ve Host Ekleme<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Ansible, sistem y\u00f6neticisinin i\u015flerini basitle\u015ftirmek i\u00e7in geli\u015ftirilmi\u015f, agent a ihtiya\u00e7 duymayan (agent bazen iyidir) otomasyon arac\u0131d\u0131r. K\u0131saca i\u015flem yapaca\u011f\u0131n\u0131z hostlar\u0131 bir dosya da kategorilere ay\u0131r\u0131p t\u00fcm\u00fcne ya da kategoriye uyan t\u00fcm\u00fcne ya da diledi\u011finiz tek sunucuya komut g\u00f6ndermeniz yarar , sadece komut g\u00f6ndermekle kalmaz ayr\u0131ca playbook ad\u0131n\u0131 verdi\u011fi dosyalar ile sunucular \u00fczerinden bir \u00e7ok i\u015flemi bir re\u00e7ete haline getirip otomasyona sokabilirsiniz , \u00f6rne\u011fin 1000 sunucuya ayn\u0131 anda nginx kurup virtual host ayarlar\u0131n\u0131 de\u011fi\u015ftirip yay\u0131na al gibi i\u015flemlerin \u00e7ok daha fazlas\u0131 m\u00fcmk\u00fcnd\u00fcr.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ansible kurulumuna ge\u00e7elim, ben test i\u00e7in bir ubuntu kurdum , versiyon 19. Sonra a\u015fa\u011f\u0131daki komutlar\u0131 s\u0131ras\u0131 ile \u00e7al\u0131\u015ft\u0131r\u0131yorum<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>apt-get install software-properties-common<br>apt-add-repository ppa:ansible\/ansible<br>apt-get update<br>apt-get install ansible<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">B\u00f6ylece ansible kurulumum tamamlanm\u0131\u015f oldu , do\u011frulamak i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilir ayr\u0131ca versiyonunu g\u00f6rebilirsiniz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ansible &#8211;version<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">root@ansible:\/home\/ayhanarda# ansible &#8211;version<br> ansible 2.8.3<br>   config file = \/etc\/ansible\/ansible.cfg<br>   configured module search path = [u&#8217;\/root\/.ansible\/plugins\/modules&#8217;, u&#8217;\/usr\/share\/ansible\/plugins\/modules&#8217;]<br>   ansible python module location = \/usr\/lib\/python2.7\/dist-packages\/ansible<br>   executable location = \/usr\/bin\/ansible<br>   python version = 2.7.16 (default, Apr  6 2019, 01:42:57) [GCC 8.3.0]<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u015eimdi s\u0131ra host eklemeye geldi , ansible hostlara ssh key ile ba\u011flanmakta , \u00f6nce sunucumuzda bir key olu\u015ftural\u0131m ki daha sonra bu key&#8217;i hostlara g\u00f6nderip \u015fifresiz bir \u015fekilde oturum a\u00e7abilelim.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>ssh-keygen -t rsa<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Yukar\u0131daki komutu next next diyerek ge\u00e7ebilirsiniz , sonras\u0131nda keyimiz default ad\u0131 ile olu\u015fmu\u015f olacak , bunu hostumuza g\u00f6ndermek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz. Benim \u00f6rnek hostumun ip adresi 10.148.208.100 , Siz kendi ba\u011flanaca\u011f\u0131n\u0131z ip adresini yazmal\u0131s\u0131n\u0131z. A\u015fa\u011f\u0131daki komutu yazd\u0131ktan sonra Size bir seferlik hostun \u015fifresini soracak , yaz\u0131p ge\u00e7ebilirsiniz ve art\u0131k key&#8217;iniz g\u00f6nderilmi\u015f olacak.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>ssh-copy-id root@10.148.208.100<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sonra key&#8217;in \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131n denemek i\u00e7in a\u015fa\u011f\u0131daki \u015fekilde host&#8217;a ba\u011flanmay\u0131 deneyebilirsiniz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>ssh root@10.148.208.100<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u015eifresiz olarak Sizi i\u00e7eri ald\u0131 ise key&#8217;iniz tamam demektir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bu i\u015flemi t\u00fcm ba\u011flanaca\u011f\u0131n\u0131z hostlara yapmal\u0131s\u0131n\u0131z.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u015eimdi gelelim bu hostlar\u0131 ansible&#8217;\u0131n config dosyas\u0131na ekleme i\u015flemine. Sevdi\u011finiz bir edit\u00f6r ile \/etc\/ansible\/hosts dosyas\u0131n\u0131 a\u00e7al\u0131m ve i\u00e7ini a\u015fa\u011f\u0131daki \u015fekilde doldural\u0131m.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>nano \/etc\/ansible\/hosts<\/em><\/p>\n\n\n<p>## Ayhan ARDA<br \/>\n[servers]<br \/>\nhost1 ansible_ssh_host=10.148.208.100<br \/>\nhost2 ansible_ssh_host=10.148.208.101<br \/>\nhost3 ansible_ssh_host=10.148.208.102<\/p>\n<p>#[web_servers] \u00f6rnek!!<br \/>\n#host20 ansible_ssh_host=10.148.208.120<br \/>\n#host21 ansible_ssh_host=10.148.208.121<br \/>\n#host22 ansible_ssh_host=10.148.208.122<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u015e\u0130mdi geleneksel bir ansible testi yapal\u0131m , ping g\u00f6nderip pong cevab\u0131 almaya \u00e7al\u0131\u015faca\u011f\u0131z.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">root@ansible:\/home\/ayhanarda# ansible all -m ping<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">host1 | SUCCESS =&gt; {<br>     &#8220;ansible_facts&#8221;: {<br>         &#8220;discovered_interpreter_python&#8221;: &#8220;\/usr\/bin\/python&#8221;<br>     }, <br>     &#8220;changed&#8221;: false, <br>     &#8220;ping&#8221;: &#8220;pong&#8221;<br> }<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">host2 | SUCCESS =&gt; {<br>     &#8220;ansible_facts&#8221;: {<br>         &#8220;discovered_interpreter_python&#8221;: &#8220;\/usr\/bin\/python&#8221;<br>     }, <br>     &#8220;changed&#8221;: false, <br>     &#8220;ping&#8221;: &#8220;pong&#8221;<br> }<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">host3 | SUCCESS =&gt; {<br>     &#8220;ansible_facts&#8221;: {<br>         &#8220;discovered_interpreter_python&#8221;: &#8220;\/usr\/bin\/python&#8221;<br>     }, <br>     &#8220;changed&#8221;: false, <br>     &#8220;ping&#8221;: &#8220;pong&#8221;<br> }<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Her \u015fey yolunda g\u00f6z\u00fck\u00fcyor , \u015fimdi tek host a bir shell komutu g\u00f6nderelim, bakal\u0131m cevap alabilecek miyiz? Ben host1&#8217;e g\u00f6dneriyorum , all diyerek t\u00fcm\u00fcne g\u00f6nderebilirsiniz.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">root@ansible:\/home\/ayhanarda# ansible -m shell -a &#8220;uptime &amp;&amp; ifconfig&#8221; host1<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">host1 | CHANGED | rc=0 &gt;&gt;<br>\n 11:06:17 up 1 day,  1:29,  4 users,  load average: 8.28, 7.81, 7.73<br>\nenp4s0: flags=4163  mtu 1500<br>\n        inet 10.148.208.100  netmask 255.255.255.0  broadcast 10.148.208.255<br>\n        inet6 fe80::1e1b:dff:fe86:db8b  prefixlen 64  scopeid 0x20<br>\n        ether 1c:1b:0d:86:db:8b  txqueuelen 1000  (Ethernet)<br>\n        RX packets 6440934  bytes 423498590 (403.8 MiB)<br>\n        RX errors 1221  dropped 0  overruns 6  frame 1221<br>\n        TX packets 247728  bytes 327505028 (312.3 MiB)<br>\n        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0<br>\n        device memory 0xdf200000-df27ffff  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Birde i\u015fleri daha kolay hale getirmek i\u00e7in Ansible Tower var , bunu farkl\u0131 bir yaz\u0131da ele alaca\u011f\u0131m. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ayhan ARDA<\/p>\n<div style=\"padding-bottom:20px; padding-top:10px;\" class=\"hupso-share-buttons\"><!-- Hupso Share Buttons - https:\/\/www.hupso.com\/share\/ --><a class=\"hupso_toolbar\" href=\"https:\/\/www.hupso.com\/share\/\"><img decoding=\"async\" src=\"https:\/\/static.hupso.com\/share\/buttons\/lang\/tr\/share-medium.png\" style=\"border:0px; padding-top: 5px; float:left;\" alt=\"Share Button\"\/><\/a><script type=\"text\/javascript\">var hupso_services_t=new Array(\"Twitter\",\"Facebook\",\"Google Plus\",\"Pinterest\",\"Linkedin\");var hupso_background_t=\"#EAF4FF\";var hupso_border_t=\"#66CCFF\";var hupso_toolbar_size_t=\"medium\";var hupso_image_folder_url = \"\";var hupso_twitter_via=\"ayhanarda\";var hupso_url_t=\"\";var hupso_title_t=\"Ansible%20Nedir%20%3F%20Ubuntu%20%C3%BCzerine%20Ansible%20Kurulumu%20ve%20Host%20Ekleme\";<\/script><script type=\"text\/javascript\" src=\"https:\/\/static.hupso.com\/share\/js\/share_toolbar.js\"><\/script><!-- Hupso Share Buttons --><\/div>","protected":false},"excerpt":{"rendered":"Ansible Nedir ? Ubuntu \u00fczerine Ansible Kurulumu ve Host Ekleme Ansible, sistem y\u00f6neticisinin i\u015flerini basitle\u015ftirmek i\u00e7in geli\u015ftirilmi\u015f, agent a ihtiya\u00e7 duymayan (agent bazen iyidir) otomasyon arac\u0131d\u0131r. K\u0131saca i\u015flem yapaca\u011f\u0131n\u0131z hostlar\u0131 bir dosya da kategorilere ay\u0131r\u0131p t\u00fcm\u00fcne ya da kategoriye uyan t\u00fcm\u00fcne ya da diledi\u011finiz tek sunucuya komut g\u00f6ndermeniz yarar , sadece komut g\u00f6ndermekle kalmaz ayr\u0131ca [&hellip;]","protected":false},"author":1,"featured_media":1350,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","footnotes":""},"categories":[1353,66],"tags":[948,1356,1357,1355,949,1352,1347,1348,1351,1354,1350,1349,1260,1346,1130],"class_list":["post-1348","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ansible","category-linux-2","tag-ansible","tag-ansible-host-ekleme","tag-ansible-komut-gonderimi","tag-ansible-kullanimi","tag-ansible-kurulumu","tag-ansible-tower","tag-application-deployment","tag-automation","tag-configuration-management","tag-continuous-delivery","tag-devops","tag-linux-remote-access","tag-rundeck","tag-server-automation","tag-ssh-key"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.ayhanarda.com\/blog\/wp-json\/wp\/v2\/posts\/1348","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ayhanarda.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ayhanarda.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ayhanarda.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ayhanarda.com\/blog\/wp-json\/wp\/v2\/comments?post=1348"}],"version-history":[{"count":3,"href":"https:\/\/www.ayhanarda.com\/blog\/wp-json\/wp\/v2\/posts\/1348\/revisions"}],"predecessor-version":[{"id":1352,"href":"https:\/\/www.ayhanarda.com\/blog\/wp-json\/wp\/v2\/posts\/1348\/revisions\/1352"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ayhanarda.com\/blog\/wp-json\/wp\/v2\/media\/1350"}],"wp:attachment":[{"href":"https:\/\/www.ayhanarda.com\/blog\/wp-json\/wp\/v2\/media?parent=1348"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ayhanarda.com\/blog\/wp-json\/wp\/v2\/categories?post=1348"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ayhanarda.com\/blog\/wp-json\/wp\/v2\/tags?post=1348"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}