{"id":42565,"date":"2026-06-15T17:00:37","date_gmt":"2026-06-15T14:00:37","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=42565"},"modified":"2026-06-15T17:00:55","modified_gmt":"2026-06-15T14:00:55","slug":"etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/","title":{"rendered":"Etcdctl ve Etcd: CoreOS&#8217;un Da\u011f\u0131t\u0131k Anahtar-De\u011fer Deposu Nas\u0131l Kullan\u0131l\u0131r?"},"content":{"rendered":"<h2>Etcdctl ve Etcd: CoreOS&#8217;un Da\u011f\u0131t\u0131k Anahtar-De\u011fer Deposu Nas\u0131l Kullan\u0131l\u0131r?<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn modern yaz\u0131l\u0131m geli\u015ftirme ve operasyon d\u00fcnyas\u0131nda, da\u011f\u0131t\u0131k sistemlerin karma\u015f\u0131kl\u0131\u011f\u0131 giderek artmaktad\u0131r. Bu sistemlerde tutarl\u0131l\u0131\u011f\u0131 sa\u011flamak, konfig\u00fcrasyonlar\u0131 y\u00f6netmek ve servis ke\u015ffini kolayla\u015ft\u0131rmak kritik \u00f6neme sahiptir. \u0130\u015fte tam da bu noktada etcd gibi da\u011f\u0131t\u0131k anahtar-de\u011fer depolar\u0131 devreye girer. CoreOS taraf\u0131ndan geli\u015ftirilen etcd, y\u00fcksek eri\u015filebilirlik ve tutarl\u0131l\u0131k sunan, g\u00fcvenilir bir da\u011f\u0131t\u0131k kilitlenme ve anahtar-de\u011fer deposudur. Bu makalede, etcd&#8217;nin ne oldu\u011funu, neden \u00f6nemli oldu\u011funu ve etcdctl komut sat\u0131r\u0131 arac\u0131 ile nas\u0131l kullan\u0131laca\u011f\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h3>Etcd Nedir ve Neden \u00d6nemlidir?<\/h3>\n<p>Etcd, Go dilinde yaz\u0131lm\u0131\u015f, a\u00e7\u0131k kaynakl\u0131, da\u011f\u0131t\u0131k bir anahtar-de\u011fer deposudur. Temel amac\u0131, da\u011f\u0131t\u0131k sistemlerdeki kritik verileri g\u00fcvenilir bir \u015fekilde depolamak ve bu verilere h\u0131zl\u0131 eri\u015fim sa\u011flamakt\u0131r. Etcd, Raft konsens\u00fcs algoritmas\u0131n\u0131 kullanarak verilerin birden fazla d\u00fc\u011f\u00fcmde tutarl\u0131 bir \u015fekilde saklanmas\u0131n\u0131 garanti eder. Bu, tek bir d\u00fc\u011f\u00fcm\u00fcn ar\u0131zalanmas\u0131 durumunda bile sistemin \u00e7al\u0131\u015fmaya devam etmesini sa\u011flar.<\/p>\n<p>Etcd&#8217;nin \u00f6nemini \u015fu ba\u015fl\u0131klar alt\u0131nda toplayabiliriz:<\/p>\n<p>*   <strong>Konfig\u00fcrasyon Y\u00f6netimi:<\/strong> Uygulamalar\u0131n ve servislerin konfig\u00fcrasyon dosyalar\u0131n\u0131 merkezi bir yerden y\u00f6netmek i\u00e7in etcd idealdir. Dinamik olarak de\u011fi\u015fen konfig\u00fcrasyonlar etcd&#8217;ye yaz\u0131l\u0131r ve uygulamalar bu de\u011fi\u015fiklikleri an\u0131nda okuyabilir.<br \/>\n*   <strong>Servis Ke\u015ffi (Service Discovery):<\/strong> Da\u011f\u0131t\u0131k sistemlerde servislerin birbirini bulmas\u0131 \u00f6nemlidir. Servisler, kendi adreslerini ve durumlar\u0131n\u0131 etcd&#8217;ye kaydedebilir ve di\u011fer servisler de etcd&#8217;den bu bilgileri sorgulayarak birbirlerini bulabilirler.<br \/>\n*   <strong>Kilitlenme (Locking):<\/strong> Da\u011f\u0131t\u0131k sistemlerde kaynaklara eri\u015fimi koordine etmek i\u00e7in kilit mekanizmalar\u0131na ihtiya\u00e7 duyulur. Etcd, da\u011f\u0131t\u0131k kilitlenme hizmeti sunarak birden fazla i\u015flemin ayn\u0131 anda kritik bir kayna\u011fa eri\u015fmesini engeller.<br \/>\n*   <strong>Da\u011f\u0131t\u0131k Kilitlenme (Distributed Locking):<\/strong> Birden fazla istemcinin ayn\u0131 anda belirli bir kayna\u011fa eri\u015fimini koordine etmek i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <strong>Da\u011f\u0131t\u0131k Konfig\u00fcrasyon (Distributed Configuration):<\/strong> Uygulamalar\u0131n veya servislerin konfig\u00fcrasyon bilgilerini merkezi ve tutarl\u0131 bir \u015fekilde saklamak i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <strong>S\u0131ral\u0131 Da\u011f\u0131t\u0131m (Ordered Distribution):<\/strong> Verilerin belirli bir s\u0131raya g\u00f6re da\u011f\u0131t\u0131lmas\u0131 gereken senaryolarda etcd kullan\u0131labilir.<\/p>\n<p>Etcd&#8217;nin Raft konsens\u00fcs algoritmas\u0131n\u0131 kullanmas\u0131, ona y\u00fcksek eri\u015filebilirlik ve tutarl\u0131l\u0131k kazand\u0131r\u0131r. Raft, da\u011f\u0131t\u0131k sistemlerde lider se\u00e7imi, log replikasyonu ve hata tolerans\u0131 gibi karma\u015f\u0131k g\u00f6revleri y\u00f6netmek i\u00e7in tasarlanm\u0131\u015f bir konsens\u00fcs algoritmas\u0131d\u0131r.<\/p>\n<h3>Etcdctl: Etcd ile Etkile\u015fim Kurma Arac\u0131<\/h3>\n<p>Etcdctl, etcd k\u00fcmesiyle etkile\u015fim kurmak i\u00e7in kullan\u0131lan resmi komut sat\u0131r\u0131 arac\u0131d\u0131r. Bu ara\u00e7 sayesinde etcd&#8217;ye anahtar-de\u011fer \u00e7iftleri ekleyebilir, okuyabilir, g\u00fcncelleyebilir, silebilir ve etcd&#8217;nin di\u011fer \u00f6zelliklerini y\u00f6netebilirsiniz. Etcdctl, etcd&#8217;nin sundu\u011fu t\u00fcm i\u015flevselli\u011fi komut sat\u0131r\u0131ndan eri\u015filebilir hale getirir.<\/p>\n<p>Etcdctl&#8217;yi kullanabilmek i\u00e7in \u00f6ncelikle etcd&#8217;nin kurulu ve \u00e7al\u0131\u015f\u0131r durumda olmas\u0131 gerekir. Genellikle etcdctl, etcd ile birlikte y\u00fcklenir.<\/p>\n<h3>Etcdctl Temel Kullan\u0131m\u0131<\/h3>\n<p>Etcdctl&#8217;nin temel kullan\u0131m\u0131n\u0131 anlamak i\u00e7in baz\u0131 \u00f6nemli komutlar\u0131 inceleyelim.<\/p>\n<h4>Etcdctl&#8217;yi Yap\u0131land\u0131rma<\/h4>\n<p>Etcdctl&#8217;yi kullanmadan \u00f6nce, hangi etcd k\u00fcmesiyle ileti\u015fim kuraca\u011f\u0131n\u0131 belirtmeniz gerekir. Bu, <code>ETCDCTL_ENDPOINTS<\/code> ortam de\u011fi\u015fkeni arac\u0131l\u0131\u011f\u0131yla yap\u0131l\u0131r. E\u011fer tek bir etcd d\u00fc\u011f\u00fcm\u00fc \u00e7al\u0131\u015ft\u0131r\u0131yorsan\u0131z, bu genellikle <code>http:\/\/127.0.0.1:2379<\/code> olacakt\u0131r. Birden fazla d\u00fc\u011f\u00fcmden olu\u015fan bir k\u00fcme i\u00e7in ise t\u00fcm d\u00fc\u011f\u00fcmlerin adreslerini virg\u00fclle ay\u0131rarak belirtebilirsiniz.<\/p>\n<p>\u00d6rnek:<\/p>\n<pre><code class=\"language-bash\">export ETCDCTL_ENDPOINTS=&quot;http:\/\/127.0.0.1:2379&quot;<\/code><\/pre>\n<p>K\u00fcme yap\u0131n\u0131zda TLS kullan\u0131yorsan\u0131z, <code>ETCDCTL_CERT<\/code>, <code>ETCDCTL_KEY<\/code> ve <code>ETCDCTL_CA_FILE<\/code> gibi ortam de\u011fi\u015fkenlerini de ayarlaman\u0131z gerekebilir.<\/p>\n<h4>Anahtar-De\u011fer \u00c7iftleri ile \u00c7al\u0131\u015fma<\/h4>\n<p>Etcd&#8217;nin temel i\u015flevi anahtar-de\u011fer \u00e7iftlerini depolamakt\u0131r. Etcdctl ile bu \u00e7iftlerle \u00e7e\u015fitli i\u015flemler yapabiliriz.<\/p>\n<p>*   <strong>Anahtar De\u011feri Ekleme\/G\u00fcncelleme (<code>put<\/code>):<\/strong><br \/>\n    Bir anahtara bir de\u011fer atamak veya mevcut bir anahtar\u0131n de\u011ferini g\u00fcncellemek i\u00e7in <code>put<\/code> komutu kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">etcdctl put mykey &quot;myvalue&quot;<\/code><\/pre>\n<p>    Bu komut, <code>mykey<\/code> anahtar\u0131na <code>myvalue<\/code> de\u011ferini atayacakt\u0131r. E\u011fer <code>mykey<\/code> zaten varsa, de\u011feri g\u00fcncellenir.<\/p>\n<p>*   <strong>Anahtar De\u011feri Okuma (<code>get<\/code>):<\/strong><br \/>\n    Bir anahtar\u0131n de\u011ferini okumak i\u00e7in <code>get<\/code> komutu kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">etcdctl get mykey<\/code><\/pre>\n<p>    Bu komut, <code>mykey<\/code> anahtar\u0131n\u0131n de\u011ferini d\u00f6nd\u00fcrecektir.<\/p>\n<p>*   <strong>Anahtar Silme (<code>del<\/code>):<\/strong><br \/>\n    Bir anahtar\u0131 ve ili\u015fkili de\u011ferini silmek i\u00e7in <code>del<\/code> komutu kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">etcdctl del mykey<\/code><\/pre>\n<p>    Bu komut, <code>mykey<\/code> anahtar\u0131n\u0131 etcd&#8217;den kald\u0131racakt\u0131r.<\/p>\n<p>*   <strong>Anahtar\u0131n Varl\u0131\u011f\u0131n\u0131 Kontrol Etme (<code>member list<\/code> ile dolayl\u0131 olarak):<\/strong><br \/>\n    Do\u011frudan bir anahtar\u0131n varl\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in \u00f6zel bir komut olmasa da, <code>get<\/code> komutu bir anahtar\u0131n var olup olmad\u0131\u011f\u0131n\u0131 de\u011ferini d\u00f6nd\u00fcrerek veya bo\u015f bir \u00e7\u0131kt\u0131 vererek g\u00f6sterir.<\/p>\n<h4>Anahtar Alanlar\u0131 ve S\u0131k\u0131\u015ft\u0131rma (Compaction)<\/h4>\n<p>Etcd, anahtar-de\u011fer ge\u00e7mi\u015fini saklar. Bu ge\u00e7mi\u015f, belirli bir s\u00fcr\u00fcm numaras\u0131na kadar geri d\u00f6nmek veya silinen anahtarlar\u0131 kurtarmak i\u00e7in kullan\u0131labilir. Ancak, bu ge\u00e7mi\u015f zamanla b\u00fcy\u00fcyebilir ve depolama alan\u0131n\u0131 t\u00fcketebilir. S\u0131k\u0131\u015ft\u0131rma (compaction), ge\u00e7mi\u015fin belirli bir noktaya kadar temizlenmesini sa\u011flar.<\/p>\n<p>*   <strong>T\u00fcm Anahtarlar\u0131 Listeleme (<code>get --prefix<\/code>):<\/strong><br \/>\n    Belirli bir \u00f6n ekle ba\u015flayan t\u00fcm anahtarlar\u0131 listelemek i\u00e7in <code>get --prefix<\/code> kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">etcdctl get --prefix \/config\/<\/code><\/pre>\n<p>    Bu komut, <code>\/config\/<\/code> ile ba\u015flayan t\u00fcm anahtarlar\u0131 d\u00f6nd\u00fcrecektir.<\/p>\n<p>*   <strong>Tarihsel Veri Okuma (<code>get --rev<\/code>):<\/strong><br \/>\n    Belirli bir revizyon numaras\u0131na ait anahtar de\u011ferini okumak i\u00e7in <code>--rev<\/code> se\u00e7ene\u011fi kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">etcdctl get mykey --rev 12345<\/code><\/pre>\n<p>*   <strong>S\u0131k\u0131\u015ft\u0131rma (<code>compact<\/code>):<\/strong><br \/>\n    Etcd&#8217;de depolanan ge\u00e7mi\u015fi temizlemek i\u00e7in <code>compact<\/code> komutu kullan\u0131l\u0131r. Bu komut, belirli bir revizyon numaras\u0131na kadar olan ge\u00e7mi\u015fi siler.<\/p>\n<pre><code class=\"language-bash\">etcdctl compact 1000<\/code><\/pre>\n<p>    Bu komut, 1000 revizyon numaras\u0131na kadar olan t\u00fcm ge\u00e7mi\u015fi siler. S\u0131k\u0131\u015ft\u0131rma i\u015flemi ger\u00e7ekle\u015ftikten sonra, silinen ge\u00e7mi\u015fe art\u0131k eri\u015filemez.<\/p>\n<p>*   <strong>S\u00fcr\u00fcm Bilgisi Alma (<code>get --with-\u0ab5\u0ab0\u0acd\u0a9d\u0aa8<\/code>):<\/strong><br \/>\n    Bir anahtar\u0131n mevcut s\u00fcr\u00fcm numaras\u0131n\u0131 almak i\u00e7in <code>--with-\u0ab5\u0ab0\u0acd\u0a9d\u0aa8<\/code> se\u00e7ene\u011fi kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">etcdctl get mykey --with-\u0ab5\u0ab0\u0acd\u0a9d\u0aa8<\/code><\/pre>\n<h4>Etcd K\u00fcmesi Y\u00f6netimi<\/h4>\n<p>Etcdctl, etcd k\u00fcmesinin y\u00f6netimi i\u00e7in de \u00e7e\u015fitli komutlar sunar.<\/p>\n<p>*   <strong>\u00dcye Listeleme (<code>member list<\/code>):<\/strong><br \/>\n    Etcd k\u00fcmesindeki mevcut t\u00fcm \u00fcyeleri listeler.<\/p>\n<pre><code class=\"language-bash\">etcdctl member list<\/code><\/pre>\n<p>    Bu komut, her \u00fcyenin ID&#8217;sini, durumunu, ad\u0131n\u0131 ve adresini g\u00f6sterir.<\/p>\n<p>*   <strong>\u00dcye Ekleme (<code>member add<\/code>):<\/strong><br \/>\n    K\u00fcme yeni bir etcd d\u00fc\u011f\u00fcm\u00fc eklemek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">etcdctl member add newmember --peer-urls=&quot;http:\/\/newnode:2380&quot;<\/code><\/pre>\n<p>    Burada <code>newmember<\/code> yeni \u00fcyenin ad\u0131 ve <code>--peer-urls<\/code> yeni d\u00fc\u011f\u00fcm\u00fcn peer ileti\u015fim kuraca\u011f\u0131 URL&#8217;dir.<\/p>\n<p>*   <strong>\u00dcye Silme (<code>member remove<\/code>):<\/strong><br \/>\n    K\u00fcmeden bir etcd d\u00fc\u011f\u00fcm\u00fcn\u00fc kald\u0131rmak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">etcdctl member remove &lt;member-id&gt;<\/code><\/pre>\n<p>    <code><member-id><\/code> k\u0131sm\u0131na silinecek \u00fcyenin ID&#8217;sini yazman\u0131z gerekir.<\/p>\n<p>*   <strong>\u00dcye G\u00fcncelleme (<code>member update<\/code>):<\/strong><br \/>\n    Bir \u00fcyenin bilgilerini (\u00f6rne\u011fin peer URL&#8217;leri) g\u00fcncellemek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">etcdctl member update &lt;member-id&gt; --peer-urls=&quot;http:\/\/updatednode:2380&quot;<\/code><\/pre>\n<h4>Kilitlenme (Locking) Mekanizmalar\u0131<\/h4>\n<p>Etcd, da\u011f\u0131t\u0131k kilitlenme mekanizmalar\u0131 olu\u015fturmak i\u00e7in kullan\u0131labilir. Bu, birden fazla istemcinin ayn\u0131 anda kritik bir kayna\u011fa eri\u015fmesini engellemek i\u00e7in \u00f6nemlidir.<\/p>\n<p>*   <strong>Kilit Alma (<code>lock<\/code>):<\/strong><br \/>\n    Bir kilit edinmek i\u00e7in <code>lock<\/code> komutu kullan\u0131l\u0131r. Bu komut, kilit al\u0131nd\u0131\u011f\u0131nda bir anahtar olu\u015fturur ve kilit serbest b\u0131rak\u0131lana kadar bekler.<\/p>\n<pre><code class=\"language-bash\">etcdctl lock mylock<\/code><\/pre>\n<p>    Bu komut, <code>mylock<\/code> ad\u0131nda bir kilit edinmeye \u00e7al\u0131\u015facakt\u0131r. Kilit al\u0131nd\u0131\u011f\u0131nda, komut tamamlanacak ve bir anahtar olu\u015fturulacakt\u0131r.<\/p>\n<p>*   <strong>Kilit Serbest B\u0131rakma (<code>unlock<\/code>):<\/strong><br \/>\n    Edinilmi\u015f bir kilidi serbest b\u0131rakmak i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">etcdctl unlock mylock<\/code><\/pre>\n<p>    Bu komut, <code>mylock<\/code> kilidini serbest b\u0131rakacakt\u0131r.<\/p>\n<p>Bu kilit mekanizmas\u0131, genellikle programatik olarak kullan\u0131l\u0131r. Komut sat\u0131r\u0131ndan <code>lock<\/code> komutunu \u00e7al\u0131\u015ft\u0131rmak, o terminal oturumu s\u00fcresince kilidi tutacakt\u0131r.<\/p>\n<h4>G\u00f6zlemleme (Watch) Mekanizmalar\u0131<\/h4>\n<p>Etcd, anahtar de\u011ferlerindeki de\u011fi\u015fiklikleri izlemek i\u00e7in bir g\u00f6zlemleme mekanizmas\u0131 sunar. Bu, uygulamalar\u0131n konfig\u00fcrasyon de\u011fi\u015fikliklerini veya servis durumundaki g\u00fcncellemeleri an\u0131nda fark etmesini sa\u011flar.<\/p>\n<p>*   <strong>De\u011fi\u015fiklikleri \u0130zleme (<code>watch<\/code>):<\/strong><br \/>\n    Belirli bir anahtar veya bir \u00f6n ekteki de\u011fi\u015fiklikleri izlemek i\u00e7in <code>watch<\/code> komutu kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">etcdctl watch mykey<\/code><\/pre>\n<p>    Bu komut, <code>mykey<\/code> anahtar\u0131ndaki her de\u011fi\u015fikli\u011fi ekrana yazd\u0131racakt\u0131r.<\/p>\n<pre><code class=\"language-bash\">etcdctl watch --prefix \/config\/<\/code><\/pre>\n<p>    Bu komut ise <code>\/config\/<\/code> ile ba\u015flayan t\u00fcm anahtarlardaki de\u011fi\u015fiklikleri izleyecektir.<\/p>\n<p>    <code>watch<\/code> komutu, bir de\u011fi\u015fiklik oldu\u011funda \u00e7\u0131kt\u0131s\u0131n\u0131 verir ve ard\u0131ndan yeni de\u011fi\u015fiklikleri beklemeye devam eder. Bu, s\u00fcrekli izleme senaryolar\u0131 i\u00e7in idealdir.<\/p>\n<h4>Anahtar-De\u011fer \u00c7iftlerine Zaman Damgas\u0131 ve S\u00fcr\u00fcm Ekleme<\/h4>\n<p>Etcd, her anahtar-de\u011fer \u00e7ifti i\u00e7in otomatik olarak bir s\u00fcr\u00fcm numaras\u0131 ve zaman damgas\u0131 tutar. Bu bilgiler, verilerin ne zaman olu\u015fturuldu\u011funu veya g\u00fcncellendi\u011fini takip etmek i\u00e7in kullan\u0131labilir.<\/p>\n<p>*   <strong>Anahtar Bilgisi Alma (<code>get --key-only --rev<\/code> gibi se\u00e7eneklerle):<\/strong><br \/>\n    Anahtarlar\u0131n s\u00fcr\u00fcmlerini ve zaman damgalar\u0131n\u0131 g\u00f6rmek i\u00e7in <code>get<\/code> komutunu farkl\u0131 se\u00e7eneklerle kullanabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">etcdctl get mykey --rev &lt;rev-num&gt; --print-key<\/code><\/pre>\n<p>    Bu t\u00fcr komutlar, anahtar\u0131n kendisiyle birlikte s\u00fcr\u00fcm ve zaman damgas\u0131 bilgilerini de d\u00f6nd\u00fcrebilir.<\/p>\n<h4>Anahtar Alanlar\u0131n\u0131 Y\u00f6netme (Lease ve TTL)<\/h4>\n<p>Etcd, anahtar-de\u011fer \u00e7iftlerine bir ya\u015fam s\u00fcresi (TTL &#8211; Time To Live) atama imkan\u0131 sunar. Bu, belirli bir s\u00fcre sonra otomatik olarak silinecek anahtarlar olu\u015fturmak i\u00e7in kullan\u0131\u015fl\u0131d\u0131r. Bu i\u015flevsellik, genellikle &#8220;lease&#8221; mekanizmas\u0131 ile sa\u011flan\u0131r.<\/p>\n<p>*   <strong>Lease Olu\u015fturma (<code>lease grant<\/code>):<\/strong><br \/>\n    Belirli bir TTL s\u00fcresiyle bir lease olu\u015fturulur.<\/p>\n<pre><code class=\"language-bash\">etcdctl lease grant 60<\/code><\/pre>\n<p>    Bu komut, 60 saniye \u00f6mr\u00fc olan bir lease olu\u015fturur ve bu lease&#8217;in ID&#8217;sini d\u00f6nd\u00fcr\u00fcr.<\/p>\n<p>*   <strong>Lease&#8217;e Anahtar Ba\u011flama (<code>put --lease<\/code>):<\/strong><br \/>\n    Olu\u015fturulan lease ID&#8217;sini kullanarak bir anahtar de\u011feri atan\u0131r. Bu anahtar, lease s\u00fcresi doldu\u011funda otomatik olarak silinecektir.<\/p>\n<pre><code class=\"language-bash\">etcdctl put mykey &quot;myvalue&quot; --lease &lt;lease-id&gt;<\/code><\/pre>\n<p>    Burada <code><lease-id><\/code>, daha \u00f6nce <code>lease grant<\/code> komutuyla elde etti\u011finiz lease ID&#8217;sidir.<\/p>\n<p>*   <strong>Lease&#8217;i Yenileme (<code>lease keep-alive<\/code>):<\/strong><br \/>\n    Bir lease&#8217;in \u00f6mr\u00fcn\u00fc uzatmak i\u00e7in <code>keep-alive<\/code> komutu kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">etcdctl lease keep-alive &lt;lease-id&gt;<\/code><\/pre>\n<p>    Bu komut, lease&#8217;in TTL&#8217;sini s\u0131f\u0131rlar ve lease s\u00fcresince aktif kalmas\u0131n\u0131 sa\u011flar. Bu, genellikle servislerin canl\u0131 oldu\u011funu bildirmek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<p>*   <strong>Lease Listeleme (<code>lease list<\/code>):<\/strong><br \/>\n    Mevcut lease&#8217;leri ve durumlar\u0131n\u0131 listeler.<\/p>\n<pre><code class=\"language-bash\">etcdctl lease list<\/code><\/pre>\n<p>*   <strong>Lease&#8217;i \u0130ptal Etme (<code>lease revoke<\/code>):<\/strong><br \/>\n    Bir lease&#8217;i manuel olarak iptal etmek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<pre><code class=\"language-bash\">etcdctl lease revoke &lt;lease-id&gt;<\/code><\/pre>\n<p>    Bu komut, lease&#8217;i hemen iptal eder ve lease&#8217;e ba\u011fl\u0131 t\u00fcm anahtarlar\u0131 da siler.<\/p>\n<h4>Etcdctl ile Da\u011f\u0131t\u0131k Kilitlerin Geli\u015fmi\u015f Kullan\u0131m\u0131<\/h4>\n<p>Programatik olarak etcd kilitlerini kullanmak, da\u011f\u0131t\u0131k sistemlerde g\u00fcvenli bir \u015fekilde kaynaklara eri\u015fim sa\u011flamak i\u00e7in olduk\u00e7a yayg\u0131nd\u0131r. Etcdctl, bu mekanizmalar\u0131n nas\u0131l \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 anlamak i\u00e7in iyi bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.<\/p>\n<p>Bir senaryo d\u00fc\u015f\u00fcnelim: Birden fazla worker i\u015flemi ayn\u0131 anda bir g\u00f6revi sadece bir tanesinin yapmas\u0131n\u0131 istiyor. Bu durumda, bir distributed lock (da\u011f\u0131t\u0131k kilit) kullan\u0131labilir.<\/p>\n<p>1.  <strong>Kilit Alma Denemesi:<\/strong> Worker&#8217;lar, belirli bir kilit anahtar\u0131 \u00fczerinde bir kilit edinmeye \u00e7al\u0131\u015f\u0131rlar. Etcd, bu istekleri s\u0131ralar ve sadece bir worker&#8217;a kilidi verir.<br \/>\n2.  <strong>\u0130\u015flem Yapma:<\/strong> Kilidi alan worker, g\u00f6revi ger\u00e7ekle\u015ftirir.<br \/>\n3.  <strong>Kilit Serbest B\u0131rakma:<\/strong> G\u00f6rev tamamland\u0131\u011f\u0131nda, worker kilidi serbest b\u0131rak\u0131r. Bu, bir sonraki bekleyen worker&#8217;\u0131n kilidi almas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Bu s\u00fcre\u00e7, etcd&#8217;nin <code>lock<\/code> ve <code>unlock<\/code> API&#8217;leri (veya <code>lease<\/code> mekanizmas\u0131 ile birlikte) arac\u0131l\u0131\u011f\u0131yla y\u00f6netilebilir.<\/p>\n<h4>Etcdctl ile Da\u011f\u0131t\u0131k Konfig\u00fcrasyon \u00d6rne\u011fi<\/h4>\n<p>Bir web uygulamas\u0131n\u0131n konfig\u00fcrasyonunu etcd&#8217;de saklayabiliriz.<\/p>\n<p>*   <strong>Konfig\u00fcrasyon Ekleme\/G\u00fcncelleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">etcdctl put \/app\/config\/database\/host &quot;db.example.com&quot;\n    etcdctl put \/app\/config\/database\/port &quot;5432&quot;\n    etcdctl put \/app\/config\/api\/timeout &quot;30&quot;<\/code><\/pre>\n<p>*   <strong>Uygulama Taraf\u0131ndan Okuma:<\/strong><br \/>\n    Uygulama, etcd&#8217;den bu de\u011ferleri okuyabilir. \u00d6rne\u011fin, bir Python uygulamas\u0131nda <code>python-etcd<\/code> k\u00fct\u00fcphanesi ile:<\/p>\n<pre><code class=\"language-python\">from etcd import Client\n    etcd_client = Client(host='127.0.0.1', port=2379)\n\n    db_host = etcd_client.get('\/app\/config\/database\/host').value.decode('utf-8')\n    db_port = etcd_client.get('\/app\/config\/database\/port').value.decode('utf-8')\n    api_timeout = etcd_client.get('\/app\/config\/api\/timeout').value.decode('utf-8')\n\n    print(f&quot;Database Host: {db_host}&quot;)\n    print(f&quot;Database Port: {db_port}&quot;)\n    print(f&quot;API Timeout: {api_timeout}&quot;)<\/code><\/pre>\n<p>*   <strong>Konfig\u00fcrasyon De\u011fi\u015fikliklerini \u0130zleme:<\/strong><br \/>\n    Uygulama, etcd&#8217;deki konfig\u00fcrasyon de\u011fi\u015fikliklerini izleyerek dinamik olarak yeniden y\u00fcklenebilir.<\/p>\n<pre><code class=\"language-bash\">etcdctl watch --prefix \/app\/config\/<\/code><\/pre>\n<p>    Bu komut, <code>\/app\/config\/<\/code> alt\u0131ndaki herhangi bir anahtarda yap\u0131lan de\u011fi\u015fiklikleri g\u00f6sterir. Uygulama, bu de\u011fi\u015fiklikleri yakalay\u0131p ilgili konfig\u00fcrasyonlar\u0131 g\u00fcncelleyebilir.<\/p>\n<h4>Etcdctl ile Servis Ke\u015ffi \u00d6rne\u011fi<\/h4>\n<p>Servisler, kendilerini etcd&#8217;ye kaydedebilir ve di\u011fer servisler de onlar\u0131 etcd&#8217;den bulabilir.<\/p>\n<p>*   <strong>Servis Kayd\u0131:<\/strong><br \/>\n    Bir servis ba\u015flad\u0131\u011f\u0131nda, kendini etcd&#8217;ye kaydedebilir. Genellikle bu, bir lease ile birlikte yap\u0131l\u0131r, b\u00f6ylece servis durdu\u011funda kayd\u0131 otomatik olarak silinir.<\/p>\n<pre><code class=\"language-bash\"># 60 saniye \u00f6m\u00fcrl\u00fc bir lease olu\u015ftur\n    LEASE_ID=$(etcdctl lease grant 60 -w simple | awk '{print $1}')\n\n    # Servis bilgilerini lease ile birlikte kaydet\n    etcdctl put --lease $LEASE_ID \/services\/userservice\/192.168.1.100:8080 &quot;active&quot;<\/code><\/pre>\n<p>    Bu, <code>userservice<\/code>&#8216;in <code>192.168.1.100:8080<\/code> adresinde aktif oldu\u011funu belirtir.<\/p>\n<p>*   <strong>Servis Ke\u015ffi:<\/strong><br \/>\n    Di\u011fer servisler, kay\u0131tl\u0131 servisleri sorgulayabilir.<\/p>\n<pre><code class=\"language-bash\">etcdctl get --prefix \/services\/userservice\/<\/code><\/pre>\n<p>    Bu komut, <code>\/services\/userservice\/<\/code> alt\u0131ndaki t\u00fcm kay\u0131tl\u0131 kullan\u0131c\u0131 servisi \u00f6rneklerini d\u00f6nd\u00fcrecektir.<\/p>\n<p>*   <strong>Canl\u0131l\u0131k Kontrol\u00fc (Health Check):<\/strong><br \/>\n    <code>lease keep-alive<\/code> komutu, servisin canl\u0131 oldu\u011funu etcd&#8217;ye s\u00fcrekli bildirir. E\u011fer servis durursa ve <code>keep-alive<\/code> g\u00f6nderemezse, lease s\u00fcresi dolacak ve etcd&#8217;den kayd\u0131 silinecektir.<\/p>\n<h4>\u00d6nemli Etcdctl Se\u00e7enekleri<\/h4>\n<p>Etcdctl&#8217;nin sundu\u011fu bir\u00e7ok kullan\u0131\u015fl\u0131 se\u00e7enek bulunmaktad\u0131r. Bunlardan baz\u0131lar\u0131:<\/p>\n<p>*   <code>--endpoints<\/code>: Etcd k\u00fcmesinin u\u00e7 noktalar\u0131n\u0131 belirtir.<br \/>\n*   <code>--write-out<\/code> veya <code>-w<\/code>: \u00c7\u0131kt\u0131 format\u0131n\u0131 belirler (\u00f6rne\u011fin <code>simple<\/code>, <code>json<\/code>, <code>table<\/code>).<br \/>\n*   <code>--prefix<\/code>: Belirli bir \u00f6n ekle ba\u015flayan anahtarlar\u0131 sorgulamak i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>--rev<\/code>: Belirli bir revizyon numaras\u0131na ait veriyi okumak i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>--with-\u0ab5\u0ab0\u0acd\u0a9d\u0aa8<\/code>: Anahtar\u0131n s\u00fcr\u00fcm bilgisini de d\u00f6nd\u00fcrmek i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>--prev-kv<\/code>: Bir anahtar\u0131n \u00f6nceki de\u011ferini de d\u00f6nd\u00fcrmek i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>--timeout<\/code>: Komutun zaman a\u015f\u0131m\u0131 s\u00fcresini belirler.<br \/>\n*   <code>--user<\/code> ve <code>--password<\/code>: Temel kimlik do\u011frulama i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>--cert<\/code>, <code>--key<\/code>, <code>--ca-file<\/code>: TLS sertifikalar\u0131 i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h4>Sonu\u00e7<\/h4>\n<p>Etcd, da\u011f\u0131t\u0131k sistemlerde konfig\u00fcrasyon y\u00f6netimi, servis ke\u015ffi, kilitlenme ve daha bir\u00e7ok kritik g\u00f6rev i\u00e7in g\u00fc\u00e7l\u00fc ve g\u00fcvenilir bir \u00e7\u00f6z\u00fcmd\u00fcr. Etcdctl komut sat\u0131r\u0131 arac\u0131 ise etcd&#8217;nin sundu\u011fu t\u00fcm bu \u00f6zellikleri y\u00f6netmek ve etkile\u015fim kurmak i\u00e7in vazge\u00e7ilmez bir ara\u00e7t\u0131r. Bu makalede etcdctl&#8217;nin temel komutlar\u0131n\u0131 ve kullan\u0131m senaryolar\u0131n\u0131 inceledik. Da\u011f\u0131t\u0131k sistemlerle \u00e7al\u0131\u015fan geli\u015ftiriciler ve operasyon m\u00fchendisleri i\u00e7in etcd ve etcdctl&#8217;yi derinlemesine \u00f6\u011frenmek, sistemlerinizi daha kararl\u0131, \u00f6l\u00e7eklenebilir ve y\u00f6netilebilir hale getirmenize yard\u0131mc\u0131 olacakt\u0131r. Etcd&#8217;nin sundu\u011fu lease mekanizmas\u0131, kilitlenme ve g\u00f6zlemleme yetenekleri, modern mikroservis mimarilerinde ve konteyner orkestrasyon platformlar\u0131nda (\u00f6rne\u011fin Kubernetes) merkezi bir rol oynamaktad\u0131r.<\/p>\n<div class=\"github-example-link\"><strong>\u00d6rnek kod:<\/strong> <a href=\"https:\/\/github.com\/fatihsoysalcom\/etcdctl-basic-key-value-operations\" target=\"_blank\" rel=\"noopener noreferrer\">github.com\/fatihsoysalcom\/etcdctl-basic-key-value-operations<\/a><\/div>\n","protected":false},"excerpt":{"rendered":"Etcdctl ve Etcd: CoreOS&#8217;un Da\u011f\u0131t\u0131k Anahtar-De\u011fer Deposu Nas\u0131l Kullan\u0131l\u0131r? G\u00fcn\u00fcm\u00fcz\u00fcn modern yaz\u0131l\u0131m geli\u015ftirme ve operasyon d\u00fcnyas\u0131nda, da\u011f\u0131t\u0131k sistemlerin karma\u015f\u0131kl\u0131\u011f\u0131 giderek artmaktad\u0131r.","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":[1],"tags":[],"class_list":{"0":"post-42565","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","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>Etcdctl ve Etcd: CoreOS&#039;un Da\u011f\u0131t\u0131k Anahtar-De\u011fer Deposu Nas\u0131l Kullan\u0131l\u0131r? - 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\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Etcdctl ve Etcd: CoreOS&#039;un Da\u011f\u0131t\u0131k Anahtar-De\u011fer Deposu Nas\u0131l Kullan\u0131l\u0131r?\" \/>\n<meta property=\"og:description\" content=\"Etcdctl ve Etcd: CoreOS&#039;un Da\u011f\u0131t\u0131k Anahtar-De\u011fer Deposu Nas\u0131l Kullan\u0131l\u0131r? G\u00fcn\u00fcm\u00fcz\u00fcn modern yaz\u0131l\u0131m geli\u015ftirme ve operasyon d\u00fcnyas\u0131nda, da\u011f\u0131t\u0131k sistemlerin karma\u015f\u0131kl\u0131\u011f\u0131 giderek artmaktad\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-06-15T14:00:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-15T14:00:55+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=\"13 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Etcdctl ve Etcd: CoreOS&#8217;un Da\u011f\u0131t\u0131k Anahtar-De\u011fer Deposu Nas\u0131l Kullan\u0131l\u0131r?\",\"datePublished\":\"2026-06-15T14:00:37+00:00\",\"dateModified\":\"2026-06-15T14:00:55+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/\"},\"wordCount\":2248,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/\",\"name\":\"Etcdctl ve Etcd: CoreOS'un Da\u011f\u0131t\u0131k Anahtar-De\u011fer Deposu Nas\u0131l Kullan\u0131l\u0131r? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-06-15T14:00:37+00:00\",\"dateModified\":\"2026-06-15T14:00:55+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Etcdctl ve Etcd: CoreOS&#8217;un Da\u011f\u0131t\u0131k Anahtar-De\u011fer Deposu Nas\u0131l Kullan\u0131l\u0131r?\"}]},{\"@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":"Etcdctl ve Etcd: CoreOS'un Da\u011f\u0131t\u0131k Anahtar-De\u011fer Deposu Nas\u0131l Kullan\u0131l\u0131r? - 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\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/","og_locale":"tr_TR","og_type":"article","og_title":"Etcdctl ve Etcd: CoreOS'un Da\u011f\u0131t\u0131k Anahtar-De\u011fer Deposu Nas\u0131l Kullan\u0131l\u0131r?","og_description":"Etcdctl ve Etcd: CoreOS'un Da\u011f\u0131t\u0131k Anahtar-De\u011fer Deposu Nas\u0131l Kullan\u0131l\u0131r? G\u00fcn\u00fcm\u00fcz\u00fcn modern yaz\u0131l\u0131m geli\u015ftirme ve operasyon d\u00fcnyas\u0131nda, da\u011f\u0131t\u0131k sistemlerin karma\u015f\u0131kl\u0131\u011f\u0131 giderek artmaktad\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-06-15T14:00:37+00:00","article_modified_time":"2026-06-15T14:00:55+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"13 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Etcdctl ve Etcd: CoreOS&#8217;un Da\u011f\u0131t\u0131k Anahtar-De\u011fer Deposu Nas\u0131l Kullan\u0131l\u0131r?","datePublished":"2026-06-15T14:00:37+00:00","dateModified":"2026-06-15T14:00:55+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/"},"wordCount":2248,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/","url":"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/","name":"Etcdctl ve Etcd: CoreOS'un Da\u011f\u0131t\u0131k Anahtar-De\u011fer Deposu Nas\u0131l Kullan\u0131l\u0131r? - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-06-15T14:00:37+00:00","dateModified":"2026-06-15T14:00:55+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/etcdctl-ve-etcd-coreosun-dagitik-anahtar-deger-deposu-nasil-kullanilir\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Etcdctl ve Etcd: CoreOS&#8217;un Da\u011f\u0131t\u0131k Anahtar-De\u011fer Deposu Nas\u0131l Kullan\u0131l\u0131r?"}]},{"@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\/42565","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=42565"}],"version-history":[{"count":2,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/42565\/revisions"}],"predecessor-version":[{"id":42567,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/42565\/revisions\/42567"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=42565"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=42565"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=42565"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}