{"id":31994,"date":"2025-10-16T12:41:07","date_gmt":"2025-10-16T09:41:07","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=31994"},"modified":"2025-10-16T12:41:07","modified_gmt":"2025-10-16T09:41:07","slug":"ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/","title":{"rendered":"Ubuntu 12.04 \u00dczerine SaltStack Kurulumu: Detayl\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 12.04 \u00dczerine SaltStack Kurulumu: Detayl\u0131 Bir Rehber<\/h2>\n<p>Bu makale, uzun y\u0131llar boyunca sunucu ve altyap\u0131 y\u00f6netiminde \u00f6nemli bir rol oynam\u0131\u015f olsa da art\u0131k \u00f6mr\u00fcn\u00fc tamamlam\u0131\u015f (End-of-Life &#8211; EOL) bir i\u015fletim sistemi olan Ubuntu 12.04 LTS (Precise Pangolin) \u00fczerinde g\u00fc\u00e7l\u00fc bir otomasyon ve yap\u0131land\u0131rma y\u00f6netim arac\u0131 olan SaltStack&#8217;in nas\u0131l kurulaca\u011f\u0131n\u0131 ve temel d\u00fczeyde nas\u0131l kullan\u0131laca\u011f\u0131n\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klamaktad\u0131r. Ubuntu 12.04&#8217;\u00fcn g\u00fcncel sistemler i\u00e7in \u00f6nerilmedi\u011fini ve g\u00fcvenlik g\u00fcncellemeleri almad\u0131\u011f\u0131n\u0131 belirtmek \u00f6nemlidir. Ancak, bu makale, \u00f6zellikle eski sistemlerle \u00e7al\u0131\u015fmak zorunda kalan veya SaltStack&#8217;in eski s\u00fcr\u00fcmlerinin kurulum s\u00fcre\u00e7lerini anlamak isteyenler i\u00e7in de\u011ferli bir kaynak olacakt\u0131r.<\/p>\n<h2>Giri\u015f: SaltStack Nedir ve Neden Kullan\u0131l\u0131r?<\/h2>\n<h3>SaltStack&#8217;e Genel Bak\u0131\u015f<\/h3>\n<p>SaltStack, Python dilinde yaz\u0131lm\u0131\u015f, a\u00e7\u0131k kaynakl\u0131, y\u00fcksek performansl\u0131 bir otomasyon ve yap\u0131land\u0131rma y\u00f6netim sistemidir. Sunucu ve a\u011f cihazlar\u0131n\u0131 merkezi bir noktadan y\u00f6netmek, yap\u0131land\u0131rmak, yaz\u0131l\u0131m da\u011f\u0131tmak ve sistem durumlar\u0131n\u0131 izlemek i\u00e7in tasarlanm\u0131\u015ft\u0131r. Genellikle &#8220;Master-Minion&#8221; mimarisiyle \u00e7al\u0131\u015f\u0131r; bir veya birden fazla &#8220;Salt Master&#8221; sunucusu, binlerce &#8220;Salt Minion&#8221; (y\u00f6netilen sunucular veya cihazlar) ile ileti\u015fim kurarak komutlar\u0131 y\u00fcr\u00fct\u00fcr ve yap\u0131land\u0131rmalar\u0131 uygular.<\/p>\n<p>SaltStack, \u00f6zellikle b\u00fcy\u00fck \u00f6l\u00e7ekli altyap\u0131larda, h\u0131zl\u0131 ve verimli bir \u015fekilde de\u011fi\u015fiklikleri da\u011f\u0131tmak, g\u00fcvenlik politikalar\u0131n\u0131 uygulamak ve sistemlerin tutarl\u0131 bir durumda kalmas\u0131n\u0131 sa\u011flamak i\u00e7in idealdir. Komut sat\u0131r\u0131 aray\u00fcz\u00fc (CLI) arac\u0131l\u0131\u011f\u0131yla veya YAML tabanl\u0131 &#8220;state&#8221; dosyalar\u0131 kullanarak otomasyon s\u00fcre\u00e7lerini tan\u0131mlama esnekli\u011fi sunar. Bu state dosyalar\u0131, bir sistemin istenen durumunu (\u00f6rne\u011fin, belirli bir paketin kurulu olmas\u0131, bir servisin \u00e7al\u0131\u015f\u0131yor olmas\u0131, bir dosyan\u0131n belirli bir i\u00e7eri\u011fe sahip olmas\u0131) deklaratif bir \u015fekilde belirtir.<\/p>\n<h3>SaltStack&#8217;in Avantajlar\u0131<\/h3>\n<p>SaltStack&#8217;in sundu\u011fu ba\u015fl\u0131ca avantajlar \u015funlard\u0131r:<\/p>\n<ul>\n<li><strong>Y\u00fcksek H\u0131z ve Performans:<\/strong> SaltStack, ZeroMQ mesajla\u015fma k\u00fct\u00fcphanesini kullanarak Master ile Minion&#8217;lar aras\u0131nda \u00e7ok h\u0131zl\u0131 ve \u00f6l\u00e7eklenebilir bir ileti\u015fim sa\u011flar. Bu, binlerce sunucuya saniyeler i\u00e7inde komut g\u00f6ndermeyi m\u00fcmk\u00fcn k\u0131lar.<\/li>\n<li><strong>Da\u011f\u0131t\u0131k ve Merkezi Y\u00f6netim:<\/strong> Tek bir Master \u00fczerinden birden fazla Minion&#8217;u y\u00f6netme yetene\u011fi, altyap\u0131 y\u00f6netimini basitle\u015ftirir ve merkezi bir kontrol noktas\u0131 sunar.<\/li>\n<li><strong>Esneklik ve Geni\u015fletilebilirlik:<\/strong> Python ile yaz\u0131lm\u0131\u015f olmas\u0131, SaltStack&#8217;in kolayca geni\u015fletilebilir ve \u00f6zelle\u015ftirilebilir olmas\u0131n\u0131 sa\u011flar. Kullan\u0131c\u0131lar kendi mod\u00fcllerini ve eklentilerini yazabilirler.<\/li>\n<li><strong>Durum Y\u00f6netimi (State Management):<\/strong> Deklaratif state dosyalar\u0131 (SLS dosyalar\u0131), sistemlerin istenen durumunu tan\u0131mlamay\u0131 ve bu durumun korunmas\u0131n\u0131 otomatik olarak sa\u011flamay\u0131 kolayla\u015ft\u0131r\u0131r. Bu, yap\u0131land\u0131rma tutars\u0131zl\u0131klar\u0131n\u0131 en aza indirir.<\/li>\n<li><strong>Uzaktan Y\u00fcr\u00fctme (Remote Execution):<\/strong> Minion&#8217;lar \u00fczerinde an\u0131nda komutlar \u00e7al\u0131\u015ft\u0131rma yetene\u011fi, h\u0131zl\u0131 sorun giderme ve ad-hoc g\u00f6revler i\u00e7in \u00e7ok kullan\u0131\u015fl\u0131d\u0131r.<\/li>\n<li><strong>Veri Y\u00f6netimi (Pillar ve Grains):<\/strong> Pillar, hassas verileri (\u015fifreler, API anahtarlar\u0131 vb.) g\u00fcvenli bir \u015fekilde Minion&#8217;lara da\u011f\u0131tmak i\u00e7in kullan\u0131l\u0131rken, Grains, Minion&#8217;lar\u0131n donan\u0131m, yaz\u0131l\u0131m ve i\u015fletim sistemi gibi \u00f6zelliklerini otomatik olarak toplar.<\/li>\n<li><strong>Olay Y\u00f6netimi (Reactor):<\/strong> SaltStack, sistemde meydana gelen olaylara (Minion&#8217;un \u00e7evrimd\u0131\u015f\u0131 olmas\u0131, belirli bir log mesaj\u0131 vb.) tepki vererek otomatik eylemler ba\u015flatabilir.<\/li>\n<\/ul>\n<h2>Ubuntu 12.04 \u00dczerinde Salt Kurulumu \u0130\u00e7in \u00d6n Haz\u0131rl\u0131klar<\/h2>\n<p>Ubuntu 12.04 \u00fczerinde SaltStack kurmadan \u00f6nce, sistemin g\u00fcncel oldu\u011fundan ve gerekli temel paketlerin kurulu oldu\u011fundan emin olmal\u0131y\u0131z. Ubuntu 12.04&#8217;\u00fcn EOL oldu\u011funu tekrar hat\u0131rlatmakta fayda var; bu nedenle, bu ad\u0131mlar internet ba\u011flant\u0131s\u0131 olan bir ortamda ger\u00e7ekle\u015ftirilmelidir, ancak g\u00fcvenlik g\u00fcncellemeleri art\u0131k sa\u011flanmamaktad\u0131r.<\/p>\n<h3>Sistem G\u00fcncellemesi<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce, paket listesini g\u00fcncellemeli ve mevcut paketleri y\u00fckseltmeliyiz. Bu, olas\u0131 ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nlemeye yard\u0131mc\u0131 olur.<\/p>\n<pre><code>sudo apt-get update\nsudo apt-get upgrade -y\n<\/code><\/pre>\n<p><code>apt-get update<\/code> komutu, depolardaki paket listesini g\u00fcnceller. <code>apt-get upgrade -y<\/code> komutu ise mevcut t\u00fcm paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltir. <code>-y<\/code> bayra\u011f\u0131, t\u00fcm sorulara otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 verilmesini sa\u011flar.<\/p>\n<h3>Gerekli Paketlerin Kurulumu<\/h3>\n<p>SaltStack&#8217;in d\u00fczg\u00fcn \u00e7al\u0131\u015fmas\u0131 i\u00e7in baz\u0131 temel ara\u00e7lara ve k\u00fct\u00fcphanelere ihtiya\u00e7 duyulabilir. \u00d6zellikle SaltStack depolar\u0131n\u0131 eklemek i\u00e7in <code>python-software-properties<\/code> ve <code>software-properties-common<\/code> gibi paketler gerekebilir. Ayr\u0131ca, <code>curl<\/code> veya <code>wget<\/code> gibi ara\u00e7lar depo anahtar\u0131n\u0131 indirmek i\u00e7in faydal\u0131 olacakt\u0131r.<\/p>\n<pre><code>sudo apt-get install -y python-software-properties software-properties-common curl wget\n<\/code><\/pre>\n<p>Bu paketler, yeni depolar eklemek ve d\u0131\u015f kaynaklardan dosya indirmek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h2>SaltStack Depolar\u0131n\u0131 Ekleme (\u00d6nerilen Y\u00f6ntem)<\/h2>\n<p>Ubuntu 12.04&#8217;\u00fcn varsay\u0131lan depolar\u0131nda bulunan SaltStack s\u00fcr\u00fcm\u00fc muhtemelen \u00e7ok eski ve g\u00fcncel \u00f6zelliklerden yoksundur. Bu nedenle, SaltStack&#8217;in resmi depolar\u0131n\u0131 kullanmak, daha yeni ve kararl\u0131 bir s\u00fcr\u00fcme eri\u015fmenizi sa\u011flar. Bu, Ubuntu 12.04 i\u00e7in bile en iyi uygulamad\u0131r, zira SaltStack&#8217;in eski da\u011f\u0131t\u0131mlar i\u00e7in de belirli bir s\u00fcre destek sundu\u011fu bilinmektedir.<\/p>\n<h3>Depo Anahtar\u0131n\u0131 \u0130\u00e7e Aktarma<\/h3>\n<p>G\u00fcvenlik nedeniyle, ekledi\u011finiz depolar\u0131n g\u00fcvenilir oldu\u011funu do\u011frulamak i\u00e7in bir GPG anahtar\u0131 i\u00e7e aktarman\u0131z gerekir. SaltStack&#8217;in resmi deposu i\u00e7in bu anahtar genellikle a\u015fa\u011f\u0131daki komutla i\u00e7e aktar\u0131l\u0131r:<\/p>\n<pre><code>sudo curl -L https:\/\/repo.saltstack.com\/apt\/ubuntu\/12.04\/amd64\/latest\/SALTSTACK-GPG-KEY.pub | sudo apt-key add -\n<\/code><\/pre>\n<p>Bu komut, SaltStack&#8217;in genel GPG anahtar\u0131n\u0131 indirir ve sisteminize ekler. Bu anahtar, daha sonra indirilecek SaltStack paketlerinin orijinalli\u011fini do\u011frulamak i\u00e7in kullan\u0131l\u0131r. E\u011fer <code>curl<\/code> kurulu de\u011filse, yukar\u0131daki \u00f6n haz\u0131rl\u0131k ad\u0131m\u0131nda kurdu\u011funuzdan emin olun.<\/p>\n<h3>SaltStack Stabil Depolar\u0131n\u0131 Ekleme<\/h3>\n<p>Anahtar\u0131 i\u00e7e aktard\u0131ktan sonra, SaltStack deposunu sisteminizin paket kaynaklar\u0131na eklemelisiniz. Ubuntu 12.04 (Precise Pangolin) i\u00e7in depo yolu \u015fu \u015fekilde olacakt\u0131r:<\/p>\n<pre><code>echo \"deb http:\/\/repo.saltstack.com\/apt\/ubuntu\/12.04\/amd64\/latest precise main\" | sudo tee \/etc\/apt\/sources.list.d\/saltstack.list\n<\/code><\/pre>\n<p>Bu komut, <code>\/etc\/apt\/sources.list.d\/<\/code> dizini alt\u0131na <code>saltstack.list<\/code> ad\u0131nda yeni bir dosya olu\u015fturur ve i\u00e7ine SaltStack deposunun adresini yazar. <code>precise<\/code> kelimesi, Ubuntu 12.04&#8217;\u00fcn kod ad\u0131d\u0131r ve depodan do\u011fru paketlerin \u00e7ekilmesini sa\u011flar. <code>amd64<\/code> ise sistem mimarisini belirtir; e\u011fer 32-bit bir sistem kullan\u0131yorsan\u0131z, <code>i386<\/code> olarak de\u011fi\u015ftirmeniz gerekebilir.<\/p>\n<h3>Paket Listesini G\u00fcncelleme<\/h3>\n<p>Yeni depoyu ekledikten sonra, sistemin bu depoyu tan\u0131mas\u0131 i\u00e7in paket listesini tekrar g\u00fcncellemeniz gerekir:<\/p>\n<pre><code>sudo apt-get update\n<\/code><\/pre>\n<p>Bu ad\u0131m, SaltStack paketlerinin art\u0131k <code>apt-get<\/code> taraf\u0131ndan bulunabilir olmas\u0131n\u0131 sa\u011flar.<\/p>\n<h2>Salt Master Kurulumu<\/h2>\n<p>Salt Master, t\u00fcm Minion&#8217;lara komut g\u00f6nderen ve yap\u0131land\u0131rmalar\u0131 uygulayan merkezi sunucudur. Bir SaltStack altyap\u0131s\u0131nda en az bir Master sunucusu bulunmal\u0131d\u0131r.<\/p>\n<h3>Salt Master Paketinin Kurulumu<\/h3>\n<p>Salt Master&#8217;\u0131 kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code>sudo apt-get install -y salt-master\n<\/code><\/pre>\n<p>Bu komut, <code>salt-master<\/code> paketini ve gerekli t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 sisteminize kurar.<\/p>\n<h3>Salt Master Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Salt Master&#8217;\u0131n ana yap\u0131land\u0131rma dosyas\u0131 <code>\/etc\/salt\/master<\/code> konumundad\u0131r. \u00c7o\u011fu durumda, varsay\u0131lan yap\u0131land\u0131rma yeterli olsa da, baz\u0131 \u00f6nemli ayarlar\u0131 g\u00f6zden ge\u00e7irmek isteyebilirsiniz. \u00d6zellikle, Salt Master&#8217;\u0131n dinleyece\u011fi IP adresi veya aray\u00fcz belirtilebilir.<\/p>\n<p>Dosyay\u0131 bir metin d\u00fczenleyici ile a\u00e7\u0131n:<\/p>\n<pre><code>sudo nano \/etc\/salt\/master\n<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131r\u0131 bulup, e\u011fer birden fazla a\u011f aray\u00fcz\u00fcn\u00fcz varsa, Salt Master&#8217;\u0131n hangi IP adresinden dinlemesini istedi\u011finizi belirtebilirsiniz. Varsay\u0131lan olarak t\u00fcm aray\u00fczlerden dinler (0.0.0.0).<\/p>\n<pre><code>#interface: 0.0.0.0\n<\/code><\/pre>\n<p>E\u011fer belirli bir IP adresi kullanmak isterseniz, yorum i\u015faretini kald\u0131r\u0131n ve IP adresinizi yaz\u0131n, \u00f6rne\u011fin:<\/p>\n<pre><code>interface: 192.168.1.100\n<\/code><\/pre>\n<p>Bu ad\u0131m zorunlu de\u011fildir, ancak g\u00fcvenlik veya a\u011f yap\u0131land\u0131rmas\u0131 gere\u011fi yap\u0131labilir. Dosyay\u0131 kaydedip kapat\u0131n.<\/p>\n<h3>Salt Master Servisini Ba\u015flatma ve Etkinle\u015ftirme<\/h3>\n<p>Kurulum ve yap\u0131land\u0131rma tamamland\u0131ktan sonra, Salt Master servisini ba\u015flatmal\u0131 ve sistem a\u00e7\u0131l\u0131\u015f\u0131nda otomatik olarak ba\u015flamas\u0131 i\u00e7in etkinle\u015ftirmelisiniz:<\/p>\n<pre><code>sudo service salt-master start\nsudo update-rc.d salt-master defaults\n<\/code><\/pre>\n<p><code>service salt-master start<\/code> komutu servisi ba\u015flat\u0131r. <code>update-rc.d salt-master defaults<\/code> komutu ise servisin sistem yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Servisin durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code>sudo service salt-master status\n<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da &#8220;salt-master is running&#8221; gibi bir ifade g\u00f6rmelisiniz.<\/p>\n<h2>Salt Minion Kurulumu<\/h2>\n<p>Salt Minion, Salt Master taraf\u0131ndan y\u00f6netilecek olan sunucu veya cihazd\u0131r. Her y\u00f6netilecek sistemde bir Minion kurulu olmal\u0131d\u0131r.<\/p>\n<h3>Salt Minion Paketinin Kurulumu<\/h3>\n<p>Salt Minion&#8217;u kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code>sudo apt-get install -y salt-minion\n<\/code><\/pre>\n<p>Bu komut, <code>salt-minion<\/code> paketini ve gerekli t\u00fcm ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 sisteminize kurar.<\/p>\n<h3>Salt Minion Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Salt Minion&#8217;\u0131n ana yap\u0131land\u0131rma dosyas\u0131 <code>\/etc\/salt\/minion<\/code> konumundad\u0131r. Bu dosyada, Minion&#8217;\u0131n hangi Salt Master&#8217;a ba\u011flanaca\u011f\u0131n\u0131 belirtmeniz <strong>zorunludur<\/strong>.<\/p>\n<p>Dosyay\u0131 bir metin d\u00fczenleyici ile a\u00e7\u0131n:<\/p>\n<pre><code>sudo nano \/etc\/salt\/minion\n<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki sat\u0131r\u0131 bulup, yorum i\u015faretini kald\u0131r\u0131n ve Salt Master sunucunuzun IP adresini veya ana bilgisayar ad\u0131n\u0131 girin:<\/p>\n<pre><code>#master: salt\n<\/code><\/pre>\n<p>\u00d6rne\u011fin, Master&#8217;\u0131n\u0131z\u0131n IP adresi 192.168.1.100 ise:<\/p>\n<pre><code>master: 192.168.1.100\n<\/code><\/pre>\n<p>E\u011fer Master&#8217;\u0131n\u0131z bir DNS kayd\u0131na sahipse (\u00f6rne\u011fin <code>salt-master.example.com<\/code>), onu da kullanabilirsiniz:<\/p>\n<pre><code>master: salt-master.example.com\n<\/code><\/pre>\n<p>Ayr\u0131ca, her Minion&#8217;\u0131n benzersiz bir kimli\u011fe sahip olmas\u0131 gerekir. Varsay\u0131lan olarak, Minion&#8217;\u0131n ana bilgisayar ad\u0131 (hostname) kimlik olarak kullan\u0131l\u0131r. E\u011fer bu kimli\u011fi de\u011fi\u015ftirmek isterseniz, <code>id<\/code> parametresini kullanabilirsiniz:<\/p>\n<pre><code>#id: my-minion-id\n<\/code><\/pre>\n<p>\u00d6rne\u011fin:<\/p>\n<pre><code>id: webserver01\n<\/code><\/pre>\n<p>Bu, \u00f6zellikle ayn\u0131 ana bilgisayar ad\u0131na sahip Minion&#8217;lar\u0131n\u0131z varsa veya daha a\u00e7\u0131klay\u0131c\u0131 bir kimlik kullanmak istiyorsan\u0131z faydal\u0131d\u0131r. Dosyay\u0131 kaydedip kapat\u0131n.<\/p>\n<h3>Salt Minion Servisini Ba\u015flatma ve Etkinle\u015ftirme<\/h3>\n<p>Yap\u0131land\u0131rma tamamland\u0131ktan sonra, Salt Minion servisini ba\u015flatmal\u0131 ve sistem a\u00e7\u0131l\u0131\u015f\u0131nda otomatik olarak ba\u015flamas\u0131 i\u00e7in etkinle\u015ftirmelisiniz:<\/p>\n<pre><code>sudo service salt-minion start\nsudo update-rc.d salt-minion defaults\n<\/code><\/pre>\n<p>Servisin durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code>sudo service salt-minion status\n<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da &#8220;salt-minion is running&#8221; gibi bir ifade g\u00f6rmelisiniz.<\/p>\n<h2>Master ve Minion Aras\u0131nda Ba\u011flant\u0131 Kurma<\/h2>\n<p>Minion servisi ba\u015flat\u0131ld\u0131ktan sonra, Master ile ileti\u015fim kurmaya \u00e7al\u0131\u015f\u0131r. Bu ileti\u015fim, g\u00fcvenlik amac\u0131yla anahtar tabanl\u0131 bir kimlik do\u011frulama s\u00fcreciyle sa\u011flan\u0131r. Minion, Master&#8217;a bir kimlik do\u011frulama anahtar\u0131 g\u00f6nderir ve Master&#8217;\u0131n bu anahtar\u0131 kabul etmesi gerekir.<\/p>\n<h3>Minion Kimlik Do\u011frulama Anahtar\u0131n\u0131 G\u00f6nderme<\/h3>\n<p>Minion servisi ba\u015flat\u0131ld\u0131\u011f\u0131nda, otomatik olarak Master&#8217;a bir anahtar g\u00f6nderir. Minion taraf\u0131nda ek bir i\u015flem yapman\u0131za gerek yoktur.<\/p>\n<h3>Master \u00dczerinde Minion Anahtar\u0131n\u0131 Kabul Etme<\/h3>\n<p>Salt Master sunucusuna geri d\u00f6n\u00fcn. Bekleyen Minion anahtarlar\u0131n\u0131 listelemek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code>sudo salt-key -L\n<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da, Minion&#8217;\u0131n\u0131z\u0131n ana bilgisayar ad\u0131n\u0131n veya yap\u0131land\u0131rma dosyas\u0131nda belirtti\u011finiz <code>id<\/code> de\u011ferinin &#8220;Unaccepted Keys&#8221; (Kabul Edilmemi\u015f Anahtarlar) alt\u0131nda listelendi\u011fini g\u00f6rmelisiniz. \u00d6rne\u011fin:<\/p>\n<pre><code>Accepted Keys:\nDenied Keys:\nUnaccepted Keys:\nminion_hostname_or_id\nRejected Keys:\n<\/code><\/pre>\n<p>Minion&#8217;\u0131n anahtar\u0131n\u0131 kabul etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code>sudo salt-key -A minion_hostname_or_id\n<\/code><\/pre>\n<p>Burada <code>minion_hostname_or_id<\/code> yerine Minion&#8217;\u0131n\u0131z\u0131n ger\u00e7ek ad\u0131n\u0131 yazmal\u0131s\u0131n\u0131z. Komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, anahtar\u0131 kabul etmek isteyip istemedi\u011finiz sorulacakt\u0131r. <code>y<\/code> tu\u015funa bas\u0131p Enter&#8217;a bas\u0131n.<\/p>\n<p>T\u00fcm bekleyen anahtarlar\u0131 kabul etmek i\u00e7in (dikkatli kullan\u0131lmal\u0131):<\/p>\n<pre><code>sudo salt-key -A '*'\n<\/code><\/pre>\n<p>Anahtar kabul edildikten sonra, <code>sudo salt-key -L<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, Minion&#8217;\u0131n\u0131z\u0131n ad\u0131n\u0131n &#8220;Accepted Keys&#8221; (Kabul Edilmi\u015f Anahtarlar) alt\u0131nda listelendi\u011fini g\u00f6rmelisiniz.<\/p>\n<h3>Ba\u011flant\u0131y\u0131 Test Etme<\/h3>\n<p>Anahtar kabul edildikten sonra, Master&#8217;dan Minion&#8217;a bir test komutu g\u00f6ndererek ba\u011flant\u0131y\u0131 do\u011frulayabilirsiniz. En basit test, Minion&#8217;a &#8220;ping&#8221; g\u00f6ndermektir:<\/p>\n<pre><code>sudo salt 'minion_hostname_or_id' test.ping\n<\/code><\/pre>\n<p>E\u011fer ba\u011flant\u0131 ba\u015far\u0131l\u0131ysa, a\u015fa\u011f\u0131daki gibi bir \u00e7\u0131kt\u0131 al\u0131rs\u0131n\u0131z:<\/p>\n<pre><code>minion_hostname_or_id:\n    True\n<\/code><\/pre>\n<p>Bu, Salt Master&#8217;\u0131n Minion ile ba\u015far\u0131l\u0131 bir \u015fekilde ileti\u015fim kurdu\u011funu ve Minion&#8217;\u0131n komutlar\u0131 alabildi\u011fini g\u00f6sterir.<\/p>\n<h2>Temel Salt Komutlar\u0131 ve Kullan\u0131m \u00d6rnekleri<\/h2>\n<p>SaltStack kurulduktan ve Master ile Minion aras\u0131ndaki ba\u011flant\u0131 sa\u011fland\u0131ktan sonra, temel komutlar\u0131 kullanarak sistemlerinizi y\u00f6netmeye ba\u015flayabilirsiniz.<\/p>\n<h3>T\u00fcm Minion&#8217;lara Komut G\u00f6nderme<\/h3>\n<p>T\u00fcm ba\u011fl\u0131 ve anahtar\u0131 kabul edilmi\u015f Minion&#8217;lara komut g\u00f6ndermek i\u00e7in hedefleme ifadesi olarak <code>'*'<\/code> kullanabilirsiniz:<\/p>\n<pre><code>sudo salt '*' cmd.run 'uptime'\n<\/code><\/pre>\n<p>Bu komut, t\u00fcm Minion&#8217;lar \u00fczerinde <code>uptime<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131r ve \u00e7\u0131kt\u0131lar\u0131 Master&#8217;a d\u00f6nd\u00fcr\u00fcr. <code>cmd.run<\/code> mod\u00fcl\u00fc, Minion \u00fczerinde kabuk komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code>sudo salt '*' pkg.install apache2\n<\/code><\/pre>\n<p>Bu komut, t\u00fcm Minion&#8217;larda <code>apache2<\/code> paketini kurar. <code>pkg<\/code> mod\u00fcl\u00fc, paket y\u00f6netimi i\u015flemleri i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h3>Belirli Minion&#8217;lara Komut G\u00f6nderme<\/h3>\n<p>Belirli bir Minion&#8217;a veya Minion grubuna komut g\u00f6ndermek i\u00e7in hedefleme ifadesini kullanabilirsiniz:<\/p>\n<pre><code>sudo salt 'webserver01' cmd.run 'df -h'\n<\/code><\/pre>\n<p>Bu komut, yaln\u0131zca <code>webserver01<\/code> adl\u0131 Minion \u00fczerinde <code>df -h<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131r.<\/p>\n<p>Birden fazla Minion&#8217;a komut g\u00f6ndermek i\u00e7in virg\u00fclle ay\u0131rarak Minion kimliklerini belirtebilirsiniz:<\/p>\n<pre><code>sudo salt 'webserver01,dbserver01' system.reboot\n<\/code><\/pre>\n<p>Bu komut, <code>webserver01<\/code> ve <code>dbserver01<\/code> Minion&#8217;lar\u0131n\u0131 yeniden ba\u015flat\u0131r. <code>system<\/code> mod\u00fcl\u00fc, sistem seviyesi i\u015flemler i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h3>Uzun S\u00fcreli Komutlar ve Arka Plan \u0130\u015flemleri<\/h3>\n<p>SaltStack, uzun s\u00fcren komutlar\u0131n veya arka plan i\u015flemlerinin nas\u0131l y\u00f6netilece\u011fi konusunda da esneklik sunar. <code>salt<\/code> komutunun varsay\u0131lan olarak bekleyen bir davran\u0131\u015f sergiledi\u011fini ve Minion&#8217;lardan yan\u0131t gelene kadar bekledi\u011fini unutmay\u0131n.<\/p>\n<p>Bir komutu arka planda \u00e7al\u0131\u015ft\u0131rmak ve hemen Master&#8217;a d\u00f6nmek isterseniz <code>salt-run jobs.run_async<\/code> veya Salt&#8217;\u0131n <code>async<\/code> parametresini kullanabilirsiniz, ancak genellikle <code>cmd.run<\/code> ile \u00e7al\u0131\u015f\u0131rken do\u011frudan arka plan i\u015flemi yapmak i\u00e7in kabuk \u00f6zelliklerini kullanmak daha yayg\u0131nd\u0131r (\u00f6rn. <code>&<\/code>).<\/p>\n<pre><code>sudo salt 'minion_hostname' cmd.run 'sleep 60 &'\n<\/code><\/pre>\n<p>Bu komut, Minion \u00fczerinde 60 saniye bekler, ancak Master hemen yan\u0131t\u0131 al\u0131r ve ba\u015fka komutlar\u0131 \u00e7al\u0131\u015ft\u0131rmaya devam edebilir.<\/p>\n<h3>Durum Y\u00f6netimi (State Management) Kavram\u0131na Giri\u015f<\/h3>\n<p>SaltStack&#8217;in en g\u00fc\u00e7l\u00fc \u00f6zelliklerinden biri durum y\u00f6netimidir (State Management). Bu, sistemlerin istenen durumunu tan\u0131mlayan YAML tabanl\u0131 &#8220;Salt State&#8221; (SLS) dosyalar\u0131 arac\u0131l\u0131\u011f\u0131yla yap\u0131l\u0131r. \u00d6rne\u011fin, bir web sunucusunun kurulu olmas\u0131n\u0131, belirli bir servisin \u00e7al\u0131\u015fmas\u0131n\u0131 ve bir yap\u0131land\u0131rma dosyas\u0131n\u0131n belirli bir i\u00e7eri\u011fe sahip olmas\u0131n\u0131 sa\u011flayabilirsiniz.<\/p>\n<p>State dosyalar\u0131 genellikle Master sunucusundaki <code>\/srv\/salt<\/code> dizininde saklan\u0131r. Basit bir \u00f6rnek olarak, bir Apache web sunucusunun kurulu ve \u00e7al\u0131\u015f\u0131r durumda olmas\u0131n\u0131 sa\u011flayan bir SLS dosyas\u0131 olu\u015ftural\u0131m:<\/p>\n<p>Master \u00fczerinde <code>\/srv\/salt\/webserver.sls<\/code> dosyas\u0131n\u0131 olu\u015fturun:<\/p>\n<pre><code>sudo nano \/srv\/salt\/webserver.sls\n<\/code><\/pre>\n<p>\u0130\u00e7eri\u011fi a\u015fa\u011f\u0131daki gibi yap\u0131n:<\/p>\n<pre><code>apache2:\n  pkg.installed\n  service.running:\n    - enable: True\n    - watch:\n      - pkg: apache2\n      - file: \/etc\/apache2\/sites-available\/default\n<\/code><\/pre>\n<p>Bu state dosyas\u0131, <code>apache2<\/code> paketinin kurulu olmas\u0131n\u0131 ve <code>apache2<\/code> servisinin \u00e7al\u0131\u015f\u0131r durumda olmas\u0131n\u0131 sa\u011flar. Ayr\u0131ca, paketin veya varsay\u0131lan site yap\u0131land\u0131rma dosyas\u0131n\u0131n de\u011fi\u015fmesi durumunda servisin yeniden ba\u015flat\u0131lmas\u0131n\u0131 izler (<code>watch<\/code>).<\/p>\n<p>Bu state&#8217;i Minion&#8217;a uygulamak i\u00e7in:<\/p>\n<pre><code>sudo salt 'webserver01' state.apply webserver\n<\/code><\/pre>\n<p>Bu komut, <code>webserver01<\/code> adl\u0131 Minion&#8217;a <code>webserver.sls<\/code> dosyas\u0131nda tan\u0131mlanan durumlar\u0131 uygular. SaltStack, Minion&#8217;\u0131n mevcut durumunu kontrol eder ve tan\u0131mlanan duruma ula\u015fmak i\u00e7in gerekli de\u011fi\u015fiklikleri yapar.<\/p>\n<h2>Yayg\u0131n Sorun Giderme ve \u0130pu\u00e7lar\u0131<\/h2>\n<p>SaltStack kurulumu ve kullan\u0131m\u0131 s\u0131ras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve bunlar\u0131n \u00e7\u00f6z\u00fcmleri a\u015fa\u011f\u0131da listelenmi\u015ftir:<\/p>\n<h3>Ba\u011flant\u0131 Sorunlar\u0131<\/h3>\n<ul>\n<li><strong>Master ve Minion Birbirini G\u00f6rm\u00fcyor:<\/strong>\n<ul>\n<li>Minion yap\u0131land\u0131rma dosyas\u0131ndaki (<code>\/etc\/salt\/minion<\/code>) <code>master<\/code> parametresinin do\u011fru IP adresi veya ana bilgisayar ad\u0131n\u0131 g\u00f6sterdi\u011finden emin olun.<\/li>\n<li>Master&#8217;\u0131n anahtar kabul etme listesini (<code>sudo salt-key -L<\/code>) kontrol edin ve Minion&#8217;\u0131n anahtar\u0131n\u0131n kabul edildi\u011finden emin olun.<\/li>\n<li>Her iki tarafta da <code>salt-master<\/code> ve <code>salt-minion<\/code> servislerinin \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun (<code>sudo service salt-master status<\/code>, <code>sudo service salt-minion status<\/code>).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3>Log Dosyalar\u0131n\u0131 Kontrol Etme<\/h3>\n<p>SaltStack, ayr\u0131nt\u0131l\u0131 loglar tutar. Sorunlar\u0131 te\u015fhis etmek i\u00e7in bu log dosyalar\u0131n\u0131 incelemek \u00e7ok \u00f6nemlidir.<\/p>\n<ul>\n<li><strong>Master Loglar\u0131:<\/strong> <code>\/var\/log\/salt\/master<\/code><\/li>\n<li><strong>Minion Loglar\u0131:<\/strong> <code>\/var\/log\/salt\/minion<\/code><\/li>\n<\/ul>\n<p>Bu dosyalardaki hata mesajlar\u0131 veya uyar\u0131lar, sorunun k\u00f6kenini anlaman\u0131za yard\u0131mc\u0131 olabilir.<\/p>\n<h3>G\u00fcvenlik Duvar\u0131 Ayarlar\u0131<\/h3>\n<p>Master ve Minion aras\u0131ndaki ileti\u015fimi engelleyebilecek g\u00fcvenlik duvar\u0131 kurallar\u0131n\u0131 kontrol edin.<\/p>\n<ul>\n<li><strong>Salt Master i\u00e7in A\u00e7\u0131lmas\u0131 Gereken Portlar:<\/strong>\n<ul>\n<li>4505 (publish port)<\/li>\n<li>4506 (request\/response port)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Ubuntu 12.04&#8217;te genellikle <code>ufw<\/code> (Uncomplicated Firewall) veya <code>iptables<\/code> kullan\u0131l\u0131r. \u00d6rne\u011fin, <code>ufw<\/code> kullan\u0131yorsan\u0131z:<\/p>\n<pre><code>sudo ufw allow 4505\/tcp\nsudo ufw allow 4506\/tcp\nsudo ufw enable\n<\/code><\/pre>\n<p>Bu komutlar, Master sunucunuzda 4505 ve 4506 TCP portlar\u0131n\u0131 a\u00e7ar.<\/p>\n<h3>Paket Ba\u011f\u0131ml\u0131l\u0131klar\u0131<\/h3>\n<p>SaltStack kurulumu s\u0131ras\u0131nda eksik ba\u011f\u0131ml\u0131l\u0131klar sorunlara yol a\u00e7abilir. <code>apt-get install<\/code> komutu genellikle ba\u011f\u0131ml\u0131l\u0131klar\u0131 otomatik olarak \u00e7\u00f6zer, ancak nadiren sorunlar ya\u015fanabilir. E\u011fer bir kurulum hatas\u0131 al\u0131rsan\u0131z, \u00e7\u0131kt\u0131daki eksik paketleri veya k\u00fct\u00fcphaneleri kontrol edin.<\/p>\n<h3>Minion ID \u00c7ak\u0131\u015fmalar\u0131<\/h3>\n<p>Ayn\u0131 <code>id<\/code> de\u011ferine sahip iki Minion&#8217;unuz varsa, bu durum Salt Master&#8217;da sorunlara yol a\u00e7ar ve yaln\u0131zca bir Minion&#8217;\u0131n anahtar\u0131 kabul edilir. Her Minion&#8217;\u0131n benzersiz bir <code>id<\/code>&#8216;ye sahip oldu\u011fundan emin olun.<\/p>\n<h2>Sonraki Ad\u0131mlar ve \u0130leri Seviye Kullan\u0131m<\/h2>\n<p>SaltStack&#8217;in kurulumu ve temel kullan\u0131m\u0131 sadece ba\u015flang\u0131\u00e7t\u0131r. Bu g\u00fc\u00e7l\u00fc arac\u0131n tam potansiyelini ke\u015ffetmek i\u00e7in daha bir\u00e7ok \u00f6zelli\u011fi bulunmaktad\u0131r:<\/p>\n<h3>Salt States (Durumlar) ve Pillar (Veri Yap\u0131lar\u0131)<\/h3>\n<ul>\n<li><strong>States:<\/strong> Sistemlerinizi deklaratif bir \u015fekilde yap\u0131land\u0131rmak i\u00e7in daha karma\u015f\u0131k SLS dosyalar\u0131 yazmay\u0131 \u00f6\u011frenin. Dosya y\u00f6netimi, kullan\u0131c\u0131\/grup y\u00f6netimi, servis y\u00f6netimi gibi bir\u00e7ok Salt mod\u00fcl\u00fcn\u00fc ke\u015ffedin.<\/li>\n<li><strong>Pillar:<\/strong> Hassas verileri (\u015fifreler, API anahtarlar\u0131) Minion&#8217;lara g\u00fcvenli bir \u015fekilde da\u011f\u0131tmak i\u00e7in Pillar&#8217;\u0131 kullan\u0131n. Pillar verileri, Master&#8217;da \u015fifrelenir ve yaln\u0131zca ilgili Minion taraf\u0131ndan okunabilir.<\/li>\n<\/ul>\n<h3>Salt Grains (Minion \u00d6zellikleri)<\/h3>\n<p>Grains, Minion&#8217;lar hakk\u0131nda otomatik olarak toplanan statik verilerdir (i\u015fletim sistemi, CPU mimarisi, a\u011f aray\u00fczleri vb.). Bu verileri, Minion&#8217;lar\u0131 hedeflemek veya state dosyalar\u0131nda ko\u015fullu mant\u0131k uygulamak i\u00e7in kullanabilirsiniz.<\/p>\n<pre><code>sudo salt 'minion_hostname' grains.items\n<\/code><\/pre>\n<p>Bu komut, belirli bir Minion&#8217;\u0131n t\u00fcm Grains verilerini listeler.<\/p>\n<h3>Salt Reactor (Olay Y\u00f6netimi)<\/h3>\n<p>Salt Reactor, SaltStack&#8217;in olay bus&#8217;\u0131 \u00fczerinden yay\u0131lan olaylara (\u00f6rne\u011fin, bir Minion&#8217;\u0131n \u00e7evrimd\u0131\u015f\u0131 olmas\u0131, bir dosyan\u0131n de\u011fi\u015fmesi) tepki vererek otomatik eylemler ba\u015flatman\u0131za olanak tan\u0131r. Bu, otomatik hata d\u00fczeltme veya bildirim sistemleri olu\u015fturmak i\u00e7in kullan\u0131labilir.<\/p>\n<h3>Salt Cloud ve Salt SSH<\/h3>\n<ul>\n<li><strong>Salt Cloud:<\/strong> \u00c7e\u015fitli bulut sa\u011flay\u0131c\u0131lar\u0131 (AWS, Google Cloud, Azure, OpenStack vb.) \u00fczerinde sanal makineleri otomatik olarak sa\u011flamak ve Salt Minion&#8217;lar\u0131 kurmak i\u00e7in kullan\u0131l\u0131r.<\/li>\n<li><strong>Salt SSH:<\/strong> Salt Minion kurulu olmayan sistemleri SSH \u00fczerinden y\u00f6netmek i\u00e7in kullan\u0131l\u0131r. Bu, \u00f6zellikle Salt Minion kurulamayan veya kurulmas\u0131 istenmeyen cihazlar i\u00e7in faydal\u0131d\u0131r.<\/li>\n<\/ul>\n<h3>Salt Formulas<\/h3>\n<p>Salt Formulas, yayg\u0131n olarak kullan\u0131lan uygulamalar\u0131n veya sistemlerin yap\u0131land\u0131rmas\u0131n\u0131 otomatikle\u015ftiren \u00f6nceden yaz\u0131lm\u0131\u015f, yeniden kullan\u0131labilir Salt state setleridir. \u00d6rne\u011fin, bir web sunucusu, veritaban\u0131 veya DNS sunucusu i\u00e7in haz\u0131r formulalar bulabilirsiniz.<\/p>\n<h3>Salt Orchestration (Orkestrasyon)<\/h3>\n<p>Orkestrasyon, birden fazla sunucu \u00fczerinde karma\u015f\u0131k, \u00e7ok ad\u0131ml\u0131 s\u00fcre\u00e7leri koordine etmek i\u00e7in kullan\u0131l\u0131r. \u00d6rne\u011fin, bir uygulaman\u0131n da\u011f\u0131t\u0131m\u0131n\u0131 veya bir veritaban\u0131 k\u00fcmesinin kurulumunu otomatikle\u015ftirebilirsiniz. Bu, genellikle <code>\/srv\/salt\/orchestrate<\/code> dizininde tan\u0131mlanan \u00f6zel state dosyalar\u0131 arac\u0131l\u0131\u011f\u0131yla yap\u0131l\u0131r.<\/p>\n<pre><code>sudo salt-run state.orch my_orchestration_scenario\n<\/code><\/pre>\n<p>Bu komut, tan\u0131mlanan orkestrasyon senaryosunu \u00e7al\u0131\u015ft\u0131r\u0131r.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu makale, Ubuntu 12.04 gibi eski bir i\u015fletim sistemi \u00fczerinde SaltStack&#8217;in nas\u0131l kurulaca\u011f\u0131n\u0131 ve temel d\u00fczeyde nas\u0131l kullan\u0131laca\u011f\u0131n\u0131 detayl\u0131 bir \u015fekilde a\u00e7\u0131klam\u0131\u015ft\u0131r. SaltStack, modern altyap\u0131 y\u00f6netiminde vazge\u00e7ilmez bir ara\u00e7 olsa da, bu rehber eski sistemlerle \u00e7al\u0131\u015fmak zorunda kalan veya ge\u00e7mi\u015f s\u00fcr\u00fcmlerin kurulum s\u00fcre\u00e7lerini merak edenler i\u00e7in bir k\u00f6pr\u00fc g\u00f6revi g\u00f6rm\u00fc\u015ft\u00fcr. Kurulum ad\u0131mlar\u0131, Salt Master ve Salt Minion&#8217;\u0131n yap\u0131land\u0131r\u0131lmas\u0131, anahtar kabul\u00fc ve temel komutlar\u0131n kullan\u0131m\u0131 gibi temel konulara odaklan\u0131lm\u0131\u015ft\u0131r. Ayr\u0131ca, kar\u015f\u0131la\u015fabilece\u011finiz yayg\u0131n sorunlara \u00e7\u00f6z\u00fcm \u00f6nerileri ve SaltStack&#8217;in ileri seviye \u00f6zelliklerine dair k\u0131sa bir genel bak\u0131\u015f sunulmu\u015ftur.<\/p>\n<p>Unutulmamal\u0131d\u0131r ki, Ubuntu 12.04 art\u0131k g\u00fcvenlik g\u00fcncellemeleri almad\u0131\u011f\u0131ndan, \u00fcretim ortamlar\u0131nda kullan\u0131lmas\u0131 kesinlikle \u00f6nerilmez. Ancak, bu rehber SaltStack&#8217;in temel prensiplerini ve kurulum s\u00fcrecini anlamak i\u00e7in de\u011ferli bir kaynak olabilir. SaltStack&#8217;in sundu\u011fu otomasyon yetenekleri, do\u011fru kullan\u0131ld\u0131\u011f\u0131nda, karma\u015f\u0131k altyap\u0131lar\u0131n y\u00f6netimini b\u00fcy\u00fck \u00f6l\u00e7\u00fcde basitle\u015ftirebilir ve i\u015fletme verimlili\u011fini art\u0131rabilir.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 12.04 \u00dczerine SaltStack Kurulumu: Detayl\u0131 Bir Rehber\nBu makale, uzun y\u0131llar boyunca sunucu ve altyap\u0131 y\u00f6netiminde \u00f6nemli bir rol oynam\u0131","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-31994","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ubuntu 12.04 \u00dczerine SaltStack Kurulumu: Detayl\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 12.04 \u00dczerine SaltStack Kurulumu: Detayl\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 12.04 \u00dczerine SaltStack Kurulumu: Detayl\u0131 Bir Rehber Bu makale, uzun y\u0131llar boyunca sunucu ve altyap\u0131 y\u00f6netiminde \u00f6nemli bir rol oynam\u0131\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-16T09:41:07+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 12.04 \u00dczerine SaltStack Kurulumu: Detayl\u0131 Bir Rehber\",\"datePublished\":\"2025-10-16T09:41:07+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/\"},\"wordCount\":3190,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/\",\"name\":\"Ubuntu 12.04 \u00dczerine SaltStack Kurulumu: Detayl\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-16T09:41:07+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 12.04 \u00dczerine SaltStack Kurulumu: Detayl\u0131 Bir Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ubuntu 12.04 \u00dczerine SaltStack Kurulumu: Detayl\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 12.04 \u00dczerine SaltStack Kurulumu: Detayl\u0131 Bir Rehber","og_description":"Ubuntu 12.04 \u00dczerine SaltStack Kurulumu: Detayl\u0131 Bir Rehber Bu makale, uzun y\u0131llar boyunca sunucu ve altyap\u0131 y\u00f6netiminde \u00f6nemli bir rol oynam\u0131","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-16T09:41:07+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"18 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 12.04 \u00dczerine SaltStack Kurulumu: Detayl\u0131 Bir Rehber","datePublished":"2025-10-16T09:41:07+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/"},"wordCount":3190,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/","name":"Ubuntu 12.04 \u00dczerine SaltStack Kurulumu: Detayl\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-16T09:41:07+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-12-04-uzerine-saltstack-kurulumu-detayli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 12.04 \u00dczerine SaltStack Kurulumu: Detayl\u0131 Bir Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31994","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=31994"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31994\/revisions"}],"predecessor-version":[{"id":31995,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31994\/revisions\/31995"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31994"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}