{"id":8903,"date":"2025-02-09T11:08:58","date_gmt":"2025-02-09T08:08:58","guid":{"rendered":"https:\/\/sunucucozumleri.com\/blog\/?p=8903"},"modified":"2025-02-09T11:08:58","modified_gmt":"2025-02-09T08:08:58","slug":"ansible-nedir","status":"publish","type":"post","link":"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/","title":{"rendered":"Ansible Nedir? Ansible Nas\u0131l Kurulur?"},"content":{"rendered":"<p><strong>Ansible<\/strong>, sunucular\u0131n ve a\u011f cihazlar\u0131n\u0131n yap\u0131land\u0131r\u0131lmas\u0131n\u0131 ve y\u00f6netilmesini otomatikle\u015ftirmek i\u00e7in kullan\u0131lan a\u00e7\u0131k kaynakl\u0131 bir yap\u0131land\u0131rma y\u00f6netimi arac\u0131d\u0131r. Ansible, IT altyap\u0131lar\u0131n\u0131n y\u00f6netimini kolayla\u015ft\u0131rmak, hatalar\u0131 azaltmak ve operasyonel verimlili\u011fi art\u0131rmak i\u00e7in tasarlanm\u0131\u015ft\u0131r. Bu makalede, Ansible&#8217;\u0131n ne oldu\u011funu, nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, temel \u00f6zelliklerini, kurulum ad\u0131mlar\u0131n\u0131 ve kullan\u0131m senaryolar\u0131n\u0131 detayl\u0131 ve teknik bir \u015fekilde inceleyece\u011fiz.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Makale \u0130\u00e7eri\u011fi<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u0130\u00e7indekiler Tablosunu A\u00e7\/Kapat\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#1_Ansible_Nedir\" >1. Ansible Nedir?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#11_Tanim_ve_Temel_Ozellikler\" >1.1. Tan\u0131m ve Temel \u00d6zellikler<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#12_Ansiblein_Avantajlari\" >1.2. Ansible&#8217;\u0131n Avantajlar\u0131<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#2_Ansible_Nasil_Calisir\" >2. Ansible Nas\u0131l \u00c7al\u0131\u015f\u0131r?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#21_Ansible_Mimarisi\" >2.1. Ansible Mimarisi<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#Temel_Bilesenler\" >Temel Bile\u015fenler:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#22_Ansible_Playbooklari\" >2.2. Ansible Playbook&#8217;lar\u0131<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#Ornek_Playbook\" >\u00d6rnek Playbook:<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#3_Ansible_Nasil_Kurulur\" >3. Ansible Nas\u0131l Kurulur?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#31_Gereksinimler\" >3.1. Gereksinimler<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#32_Ansible_Kurulumu_UbuntuDebian\" >3.2. Ansible Kurulumu (Ubuntu\/Debian)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#33_Ansible_Kurulumu_CentOSRHEL\" >3.3. Ansible Kurulumu (CentOS\/RHEL)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#4_Ansible_Yapilandirmasi\" >4. Ansible Yap\u0131land\u0131rmas\u0131<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#41_Inventory_Dosyasi\" >4.1. Inventory Dosyas\u0131<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#Ornek_Inventory_Dosyasi\" >\u00d6rnek Inventory Dosyas\u0131:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#42_Ansible_Yapilandirma_Dosyasi\" >4.2. Ansible Yap\u0131land\u0131rma Dosyas\u0131<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#Ornek_Ansible_Yapilandirma_Dosyasi\" >\u00d6rnek Ansible Yap\u0131land\u0131rma Dosyas\u0131:<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#5_Ansible_Kullanim_Senaryolari\" >5. Ansible Kullan\u0131m Senaryolar\u0131<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#51_Sunucu_Yapilandirmasi\" >5.1. Sunucu Yap\u0131land\u0131rmas\u0131<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#Ornek_Playbook-2\" >\u00d6rnek Playbook:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#52_Ag_Cihazlari_Yonetimi\" >5.2. A\u011f Cihazlar\u0131 Y\u00f6netimi<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-22\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#Ornek_Playbook-3\" >\u00d6rnek Playbook:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-23\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#53_Uygulama_Dagitimi\" >5.3. Uygulama Da\u011f\u0131t\u0131m\u0131<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-24\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#Ornek_Playbook-4\" >\u00d6rnek Playbook:<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-25\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#6_Ansible_Modulleri\" >6. Ansible Mod\u00fclleri<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-26\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#61_Temel_Moduller\" >6.1. Temel Mod\u00fcller<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-27\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#62_Ag_Modulleri\" >6.2. A\u011f Mod\u00fclleri<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-28\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#63_Bulut_Modulleri\" >6.3. Bulut Mod\u00fclleri<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-29\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#7_Ansible_Best_Practices\" >7. Ansible Best Practices<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-30\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#71_Playbooklari_Moduler_Hale_Getirin\" >7.1. Playbook&#8217;lar\u0131 Mod\u00fcler Hale Getirin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-31\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#72_Inventoryyi_Dinamik_Hale_Getirin\" >7.2. Inventory&#8217;yi Dinamik Hale Getirin<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-32\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#73_Rol_Kullanin\" >7.3. Rol Kullan\u0131n<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-33\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#Ornek_Rol_Yapisi\" >\u00d6rnek Rol Yap\u0131s\u0131:<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-34\" href=\"https:\/\/sunucucozumleri.com\/blog\/ansible-nedir\/#8_Sonuc\" >8. Sonu\u00e7<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"1_Ansible_Nedir\"><\/span>1. Ansible Nedir?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"11_Tanim_ve_Temel_Ozellikler\"><\/span>1.1. Tan\u0131m ve Temel \u00d6zellikler<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ansible, IT altyap\u0131lar\u0131n\u0131n yap\u0131land\u0131r\u0131lmas\u0131n\u0131, y\u00f6netilmesini ve otomasyonunu sa\u011flamak i\u00e7in kullan\u0131lan bir yap\u0131land\u0131rma y\u00f6netimi arac\u0131d\u0131r. Ansible, a\u015fa\u011f\u0131daki temel \u00f6zelliklere sahiptir:<\/p>\n<ul>\n<li><strong>Agentless<\/strong>: Hedef sistemlerde herhangi bir ajan yaz\u0131l\u0131m\u0131 gerektirmez. SSH \u00fczerinden ileti\u015fim kurar.<\/li>\n<li><strong>Playbook&#8217;lar<\/strong>: Yap\u0131land\u0131rma i\u015flemlerini tan\u0131mlamak i\u00e7in YAML tabanl\u0131 playbook&#8217;lar kullan\u0131r.<\/li>\n<li><strong>Mod\u00fcler Yap\u0131<\/strong>: Geni\u015f bir mod\u00fcl k\u00fct\u00fcphanesine sahiptir.<\/li>\n<li><strong>Idempotent<\/strong>: Ayn\u0131 playbook&#8217;u birden fazla kez \u00e7al\u0131\u015ft\u0131rmak, sistemin durumunu de\u011fi\u015ftirmez.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"12_Ansiblein_Avantajlari\"><\/span>1.2. Ansible&#8217;\u0131n Avantajlar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Basitlik<\/strong>: YAML tabanl\u0131 playbook&#8217;lar, kolay anla\u015f\u0131l\u0131r ve yaz\u0131l\u0131r.<\/li>\n<li><strong>Esneklik<\/strong>: Farkl\u0131 i\u015fletim sistemleri ve a\u011f cihazlar\u0131 i\u00e7in geni\u015f bir destek sunar.<\/li>\n<li><strong>\u00d6l\u00e7eklenebilirlik<\/strong>: K\u00fc\u00e7\u00fck \u00f6l\u00e7ekli kurulu\u015flardan b\u00fcy\u00fck \u00f6l\u00e7ekli kurulu\u015flara kadar geni\u015f bir kullan\u0131m alan\u0131na sahiptir.<\/li>\n<\/ul>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"2_Ansible_Nasil_Calisir\"><\/span>2. Ansible Nas\u0131l \u00c7al\u0131\u015f\u0131r?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"21_Ansible_Mimarisi\"><\/span>2.1. Ansible Mimarisi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ansible, istemci-sunucu mimarisi yerine merkezi bir kontrol makinesi \u00fczerinden \u00e7al\u0131\u015f\u0131r. Bu kontrol makinesi, hedef sistemlere SSH \u00fczerinden ba\u011flan\u0131r ve playbook&#8217;lar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131r.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Temel_Bilesenler\"><\/span>Temel Bile\u015fenler:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul>\n<li><strong>Control Node<\/strong>: Ansible&#8217;\u0131n kurulu oldu\u011fu ve playbook&#8217;lar\u0131n \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131 makine.<\/li>\n<li><strong>Managed Nodes<\/strong>: Ansible taraf\u0131ndan y\u00f6netilen hedef sistemler.<\/li>\n<li><strong>Inventory<\/strong>: Y\u00f6netilen sistemlerin listesi.<\/li>\n<li><strong>Playbook&#8217;lar<\/strong>: Yap\u0131land\u0131rma i\u015flemlerini tan\u0131mlayan YAML dosyalar\u0131.<\/li>\n<li><strong>Mod\u00fcller<\/strong>: Playbook&#8217;larda kullan\u0131lan k\u00fc\u00e7\u00fck programlar.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"22_Ansible_Playbooklari\"><\/span>2.2. Ansible Playbook&#8217;lar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Playbook&#8217;lar, YAML format\u0131nda yaz\u0131lm\u0131\u015f dosyalard\u0131r ve hedef sistemlerde ger\u00e7ekle\u015ftirilecek i\u015flemleri tan\u0131mlar. Her playbook, bir veya daha fazla &#8220;play&#8221; i\u00e7erir. Her play, belirli bir grup hedef sistemde ger\u00e7ekle\u015ftirilecek i\u015flemleri tan\u0131mlar.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Ornek_Playbook\"><\/span>\u00d6rnek Playbook:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"md-code-block\">\n<pre><span class=\"token punctuation\">-<\/span> <span class=\"token key atrule\">hosts<\/span><span class=\"token punctuation\">:<\/span> webservers\r\n  <span class=\"token key atrule\">tasks<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token punctuation\">-<\/span> <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> Ensure Apache is installed\r\n      <span class=\"token key atrule\">apt<\/span><span class=\"token punctuation\">:<\/span>\r\n        <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> apache2\r\n        <span class=\"token key atrule\">state<\/span><span class=\"token punctuation\">:<\/span> present<\/pre>\n<\/div>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"3_Ansible_Nasil_Kurulur\"><\/span>3. Ansible Nas\u0131l Kurulur?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"31_Gereksinimler\"><\/span>3.1. Gereksinimler<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>Control Node<\/strong>: Ansible&#8217;\u0131n kurulaca\u011f\u0131 makine (Linux veya macOS).<\/li>\n<li><strong>Managed Nodes<\/strong>: Y\u00f6netilecek hedef sistemler (Linux, Windows, a\u011f cihazlar\u0131).<\/li>\n<li><strong>SSH Eri\u015fimi<\/strong>: Control Node&#8217;dan Managed Nodes&#8217;a SSH eri\u015fimi.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"32_Ansible_Kurulumu_UbuntuDebian\"><\/span>3.2. Ansible Kurulumu (Ubuntu\/Debian)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ansible&#8217;\u0131 Ubuntu veya Debian tabanl\u0131 bir sistemde kurmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyebilirsiniz:<\/p>\n<ol start=\"1\">\n<li><strong>Sistem G\u00fcncellemelerini Yap\u0131n<\/strong>:\n<div class=\"md-code-block\">\n<div class=\"md-code-block-banner-wrap\">\n<div class=\"md-code-block-banner\"><\/div>\n<\/div>\n<pre><span class=\"token function\">sudo<\/span> <span class=\"token function\">apt<\/span> update\r\n<span class=\"token function\">sudo<\/span> <span class=\"token function\">apt<\/span> upgrade<\/pre>\n<\/div>\n<\/li>\n<li><strong>Ansible Reposunu Ekleyin<\/strong>:\n<div class=\"md-code-block\">\n<div class=\"md-code-block-banner-wrap\">\n<div class=\"md-code-block-banner\"><\/div>\n<\/div>\n<pre><span class=\"token function\">sudo<\/span> <span class=\"token function\">apt<\/span> <span class=\"token function\">install<\/span> software-properties-common\r\n<span class=\"token function\">sudo<\/span> add-apt-repository <span class=\"token parameter variable\">--yes<\/span> <span class=\"token parameter variable\">--update<\/span> ppa:ansible\/ansible<\/pre>\n<\/div>\n<\/li>\n<li><strong>Ansible&#8217;\u0131 Kurun<\/strong>:\n<div class=\"md-code-block\">\n<div class=\"md-code-block-banner-wrap\">\n<div class=\"md-code-block-banner\"><\/div>\n<\/div>\n<pre><span class=\"token function\">sudo<\/span> <span class=\"token function\">apt<\/span> <span class=\"token function\">install<\/span> ansible<\/pre>\n<\/div>\n<\/li>\n<li><strong>Kurulumu Do\u011frulay\u0131n<\/strong>:\n<div class=\"md-code-block\">\n<div class=\"md-code-block-banner-wrap\">\n<div class=\"md-code-block-banner\"><\/div>\n<\/div>\n<pre>ansible <span class=\"token parameter variable\">--version<\/span><\/pre>\n<\/div>\n<\/li>\n<\/ol>\n<h3><span class=\"ez-toc-section\" id=\"33_Ansible_Kurulumu_CentOSRHEL\"><\/span>3.3. Ansible Kurulumu (CentOS\/RHEL)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ansible&#8217;\u0131 CentOS veya RHEL tabanl\u0131 bir sistemde kurmak i\u00e7in a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 izleyebilirsiniz:<\/p>\n<ol start=\"1\">\n<li><strong>EPEL Reposunu Etkinle\u015ftirin<\/strong>:\n<div class=\"md-code-block\">\n<div class=\"md-code-block-banner-wrap\">\n<div class=\"md-code-block-banner\"><\/div>\n<\/div>\n<pre><span class=\"token function\">sudo<\/span> yum <span class=\"token function\">install<\/span> epel-release<\/pre>\n<\/div>\n<\/li>\n<li><strong>Ansible&#8217;\u0131 Kurun<\/strong>:\n<div class=\"md-code-block\">\n<div class=\"md-code-block-banner-wrap\">\n<div class=\"md-code-block-banner\"><\/div>\n<\/div>\n<pre><span class=\"token function\">sudo<\/span> yum <span class=\"token function\">install<\/span> ansible<\/pre>\n<\/div>\n<\/li>\n<li><strong>Kurulumu Do\u011frulay\u0131n<\/strong>:\n<div class=\"md-code-block\">\n<div class=\"md-code-block-banner-wrap\">\n<div class=\"md-code-block-banner\"><\/div>\n<\/div>\n<pre>ansible <span class=\"token parameter variable\">--version<\/span><\/pre>\n<\/div>\n<\/li>\n<\/ol>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"4_Ansible_Yapilandirmasi\"><\/span>4. Ansible Yap\u0131land\u0131rmas\u0131<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"41_Inventory_Dosyasi\"><\/span>4.1. Inventory Dosyas\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Inventory dosyas\u0131, y\u00f6netilen sistemlerin listesini i\u00e7erir. Varsay\u0131lan olarak\u00a0<code>\/etc\/ansible\/hosts<\/code>\u00a0dosyas\u0131 kullan\u0131l\u0131r.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Ornek_Inventory_Dosyasi\"><\/span>\u00d6rnek Inventory Dosyas\u0131:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"md-code-block\">\n<pre><span class=\"token section\"><span class=\"token punctuation\">[<\/span><span class=\"token section-name selector\">webservers<\/span><span class=\"token punctuation\">]<\/span><\/span>\r\n192.168.1.101\r\n192.168.1.102\r\n\r\n<span class=\"token section\"><span class=\"token punctuation\">[<\/span><span class=\"token section-name selector\">dbservers<\/span><span class=\"token punctuation\">]<\/span><\/span>\r\n192.168.1.201\r\n192.168.1.202<\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"42_Ansible_Yapilandirma_Dosyasi\"><\/span>4.2. Ansible Yap\u0131land\u0131rma Dosyas\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ansible yap\u0131land\u0131rma dosyas\u0131 (<code>ansible.cfg<\/code>), Ansible&#8217;\u0131n davran\u0131\u015f\u0131n\u0131 \u00f6zelle\u015ftirmek i\u00e7in kullan\u0131l\u0131r. Varsay\u0131lan olarak\u00a0<code>\/etc\/ansible\/ansible.cfg<\/code>\u00a0dosyas\u0131 kullan\u0131l\u0131r.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Ornek_Ansible_Yapilandirma_Dosyasi\"><\/span>\u00d6rnek Ansible Yap\u0131land\u0131rma Dosyas\u0131:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"md-code-block\">\n<pre><span class=\"token section\"><span class=\"token punctuation\">[<\/span><span class=\"token section-name selector\">defaults<\/span><span class=\"token punctuation\">]<\/span><\/span>\r\n<span class=\"token key attr-name\">inventory<\/span> <span class=\"token punctuation\">=<\/span> <span class=\"token value attr-value\">\/etc\/ansible\/hosts<\/span>\r\n<span class=\"token key attr-name\">remote_user<\/span> <span class=\"token punctuation\">=<\/span> <span class=\"token value attr-value\">ansible_user<\/span>\r\n<span class=\"token key attr-name\">private_key_file<\/span> <span class=\"token punctuation\">=<\/span> <span class=\"token value attr-value\">\/home\/ansible_user\/.ssh\/id_rsa<\/span><\/pre>\n<\/div>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"5_Ansible_Kullanim_Senaryolari\"><\/span>5. Ansible Kullan\u0131m Senaryolar\u0131<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"51_Sunucu_Yapilandirmasi\"><\/span>5.1. Sunucu Yap\u0131land\u0131rmas\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ansible, sunucular\u0131n yap\u0131land\u0131r\u0131lmas\u0131n\u0131 otomatikle\u015ftirmek i\u00e7in kullan\u0131labilir. \u00d6rne\u011fin, bir web sunucusu yap\u0131land\u0131rmak i\u00e7in a\u015fa\u011f\u0131daki playbook&#8217;u kullanabilirsiniz:<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Ornek_Playbook-2\"><\/span>\u00d6rnek Playbook:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"md-code-block\">\n<pre><span class=\"token punctuation\">-<\/span> <span class=\"token key atrule\">hosts<\/span><span class=\"token punctuation\">:<\/span> webservers\r\n  <span class=\"token key atrule\">tasks<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token punctuation\">-<\/span> <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> Ensure Apache is installed\r\n      <span class=\"token key atrule\">apt<\/span><span class=\"token punctuation\">:<\/span>\r\n        <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> apache2\r\n        <span class=\"token key atrule\">state<\/span><span class=\"token punctuation\">:<\/span> present\r\n\r\n    <span class=\"token punctuation\">-<\/span> <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> Ensure Apache is running\r\n      <span class=\"token key atrule\">service<\/span><span class=\"token punctuation\">:<\/span>\r\n        <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> apache2\r\n        <span class=\"token key atrule\">state<\/span><span class=\"token punctuation\">:<\/span> started\r\n        <span class=\"token key atrule\">enabled<\/span><span class=\"token punctuation\">:<\/span> yes<\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"52_Ag_Cihazlari_Yonetimi\"><\/span>5.2. A\u011f Cihazlar\u0131 Y\u00f6netimi<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ansible, a\u011f cihazlar\u0131n\u0131n yap\u0131land\u0131r\u0131lmas\u0131n\u0131 otomatikle\u015ftirmek i\u00e7in kullan\u0131labilir. \u00d6rne\u011fin, bir Cisco switch&#8217;in yap\u0131land\u0131rmas\u0131n\u0131 de\u011fi\u015ftirmek i\u00e7in a\u015fa\u011f\u0131daki playbook&#8217;u kullanabilirsiniz:<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Ornek_Playbook-3\"><\/span>\u00d6rnek Playbook:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"md-code-block\">\n<pre><span class=\"token punctuation\">-<\/span> <span class=\"token key atrule\">hosts<\/span><span class=\"token punctuation\">:<\/span> switches\r\n  <span class=\"token key atrule\">tasks<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token punctuation\">-<\/span> <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> Configure <a href=\"https:\/\/sunucucozumleri.com\/blog\/vlan-nedir-vlan-faydalari-nelerdir\/\">VLAN<\/a>\r\n      <span class=\"token key atrule\">ios_config<\/span><span class=\"token punctuation\">:<\/span>\r\n        <span class=\"token key atrule\">lines<\/span><span class=\"token punctuation\">:<\/span>\r\n          <span class=\"token punctuation\">-<\/span> vlan 10\r\n          <span class=\"token punctuation\">-<\/span> name Engineering<\/pre>\n<\/div>\n<h3><span class=\"ez-toc-section\" id=\"53_Uygulama_Dagitimi\"><\/span>5.3. Uygulama Da\u011f\u0131t\u0131m\u0131<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ansible, uygulamalar\u0131n da\u011f\u0131t\u0131m\u0131n\u0131 ve y\u00f6netimini otomatikle\u015ftirmek i\u00e7in kullan\u0131labilir. \u00d6rne\u011fin, bir web uygulamas\u0131n\u0131 da\u011f\u0131tmak i\u00e7in a\u015fa\u011f\u0131daki playbook&#8217;u kullanabilirsiniz:<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Ornek_Playbook-4\"><\/span>\u00d6rnek Playbook:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"md-code-block\">\n<pre><span class=\"token punctuation\">-<\/span> <span class=\"token key atrule\">hosts<\/span><span class=\"token punctuation\">:<\/span> webservers\r\n  <span class=\"token key atrule\">tasks<\/span><span class=\"token punctuation\">:<\/span>\r\n    <span class=\"token punctuation\">-<\/span> <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> Ensure Git is installed\r\n      <span class=\"token key atrule\">apt<\/span><span class=\"token punctuation\">:<\/span>\r\n        <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> git\r\n        <span class=\"token key atrule\">state<\/span><span class=\"token punctuation\">:<\/span> present\r\n\r\n    <span class=\"token punctuation\">-<\/span> <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> Clone the web application repository\r\n      <span class=\"token key atrule\">git<\/span><span class=\"token punctuation\">:<\/span>\r\n        <span class=\"token key atrule\">repo<\/span><span class=\"token punctuation\">:<\/span> https<span class=\"token punctuation\">:<\/span>\/\/github.com\/example\/webapp.git\r\n        <span class=\"token key atrule\">dest<\/span><span class=\"token punctuation\">:<\/span> \/var\/www\/webapp\r\n\r\n    <span class=\"token punctuation\">-<\/span> <span class=\"token key atrule\">name<\/span><span class=\"token punctuation\">:<\/span> Ensure dependencies are installed\r\n      <span class=\"token key atrule\">pip<\/span><span class=\"token punctuation\">:<\/span>\r\n        <span class=\"token key atrule\">requirements<\/span><span class=\"token punctuation\">:<\/span> \/var\/www\/webapp\/requirements.txt<\/pre>\n<\/div>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"6_Ansible_Modulleri\"><\/span>6. Ansible Mod\u00fclleri<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Ansible, geni\u015f bir mod\u00fcl k\u00fct\u00fcphanesine sahiptir. Bu mod\u00fcller, playbook&#8217;larda kullan\u0131larak \u00e7e\u015fitli i\u015flemler ger\u00e7ekle\u015ftirilir.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"61_Temel_Moduller\"><\/span>6.1. Temel Mod\u00fcller<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>apt<\/strong>: Debian tabanl\u0131 sistemlerde paket y\u00f6netimi.<\/li>\n<li><strong>yum<\/strong>: Red Hat tabanl\u0131 sistemlerde paket y\u00f6netimi.<\/li>\n<li><strong>service<\/strong>: Servis y\u00f6netimi.<\/li>\n<li><strong>copy<\/strong>: Dosya kopyalama.<\/li>\n<li><strong>file<\/strong>: Dosya ve dizin y\u00f6netimi.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"62_Ag_Modulleri\"><\/span>6.2. A\u011f Mod\u00fclleri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>ios_config<\/strong>: Cisco IOS cihazlar\u0131n\u0131n yap\u0131land\u0131r\u0131lmas\u0131.<\/li>\n<li><strong>nxos_config<\/strong>: Cisco NX-OS cihazlar\u0131n\u0131n yap\u0131land\u0131r\u0131lmas\u0131.<\/li>\n<li><strong>junos_config<\/strong>: Juniper cihazlar\u0131n\u0131n yap\u0131land\u0131r\u0131lmas\u0131.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"63_Bulut_Modulleri\"><\/span>6.3. Bulut Mod\u00fclleri<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<ul>\n<li><strong>ec2<\/strong>: AWS EC2 \u00f6rneklerinin y\u00f6netimi.<\/li>\n<li><strong>gcp_compute<\/strong>: Google Cloud Platform \u00f6rneklerinin y\u00f6netimi.<\/li>\n<li><strong>azure_rm<\/strong>: Azure kaynaklar\u0131n\u0131n y\u00f6netimi.<\/li>\n<\/ul>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"7_Ansible_Best_Practices\"><\/span>7. Ansible Best Practices<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"71_Playbooklari_Moduler_Hale_Getirin\"><\/span>7.1. Playbook&#8217;lar\u0131 Mod\u00fcler Hale Getirin<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Playbook&#8217;lar\u0131 k\u00fc\u00e7\u00fck ve yeniden kullan\u0131labilir mod\u00fcller halinde yaz\u0131n. Bu, playbook&#8217;lar\u0131n y\u00f6netimini ve bak\u0131m\u0131n\u0131 kolayla\u015ft\u0131r\u0131r.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"72_Inventoryyi_Dinamik_Hale_Getirin\"><\/span>7.2. Inventory&#8217;yi Dinamik Hale Getirin<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Dinamik inventory kullanarak, y\u00f6netilen sistemlerin listesini otomatik olarak g\u00fcncelleyebilirsiniz.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"73_Rol_Kullanin\"><\/span>7.3. Rol Kullan\u0131n<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ansible rolleri, playbook&#8217;lar\u0131 daha mod\u00fcler ve y\u00f6netilebilir hale getirir. Roller, playbook&#8217;lar\u0131n daha organize bir \u015fekilde yaz\u0131lmas\u0131n\u0131 sa\u011flar.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Ornek_Rol_Yapisi\"><\/span>\u00d6rnek Rol Yap\u0131s\u0131:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<div class=\"md-code-block\">\n<pre>roles\/\r\n  common\/\r\n    tasks\/\r\n      main.yml\r\n    handlers\/\r\n      main.yml\r\n    templates\/\r\n    files\/\r\n    vars\/\r\n      main.yml\r\n    defaults\/\r\n      main.yml\r\n    meta\/\r\n      main.yml<\/pre>\n<\/div>\n<hr \/>\n<h2><span class=\"ez-toc-section\" id=\"8_Sonuc\"><\/span>8. Sonu\u00e7<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Ansible, IT altyap\u0131lar\u0131n\u0131n yap\u0131land\u0131r\u0131lmas\u0131n\u0131, y\u00f6netilmesini ve otomasyonunu sa\u011flamak i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Basitlik, esneklik ve \u00f6l\u00e7eklenebilirlik gibi avantajlar\u0131 sayesinde, k\u00fc\u00e7\u00fck \u00f6l\u00e7ekli kurulu\u015flardan b\u00fcy\u00fck \u00f6l\u00e7ekli kurulu\u015flara kadar geni\u015f bir kullan\u0131m alan\u0131na sahiptir.<\/p>\n<p>Bu makalede, Ansible&#8217;\u0131n ne oldu\u011funu, nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, kurulum ad\u0131mlar\u0131n\u0131 ve kullan\u0131m senaryolar\u0131n\u0131 detayl\u0131 ve teknik bir \u015fekilde inceledik. Ansible&#8217;\u0131 kullanarak, IT altyap\u0131n\u0131z\u0131n y\u00f6netimini daha verimli ve g\u00fcvenli hale getirebilirsiniz.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ansible, sunucular\u0131n ve a\u011f cihazlar\u0131n\u0131n yap\u0131land\u0131r\u0131lmas\u0131n\u0131 ve y\u00f6netilmesini otomatikle\u015ftirmek i\u00e7in kullan\u0131lan a\u00e7\u0131k kaynakl\u0131 bir yap\u0131land\u0131rma y\u00f6netimi arac\u0131d\u0131r. Ansible, IT altyap\u0131lar\u0131n\u0131n y\u00f6netimini kolayla\u015ft\u0131rmak, hatalar\u0131 azaltmak ve operasyonel verimlili\u011fi art\u0131rmak i\u00e7in tasarlanm\u0131\u015ft\u0131r. Bu makalede, Ansible&#8217;\u0131n ne oldu\u011funu, nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131, temel \u00f6zelliklerini, kurulum ad\u0131mlar\u0131n\u0131 ve kullan\u0131m senaryolar\u0131n\u0131 detayl\u0131 ve teknik bir \u015fekilde inceleyece\u011fiz. 1. Ansible Nedir? 1.1. Tan\u0131m &hellip;<\/p>\n","protected":false},"author":1,"featured_media":8904,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[232],"tags":[],"class_list":["post-8903","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"_links":{"self":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/8903","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/comments?post=8903"}],"version-history":[{"count":0,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/8903\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media\/8904"}],"wp:attachment":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media?parent=8903"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/categories?post=8903"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/tags?post=8903"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}