{"id":41752,"date":"2026-05-13T17:00:38","date_gmt":"2026-05-13T14:00:38","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=41752"},"modified":"2026-05-13T17:00:38","modified_gmt":"2026-05-13T14:00:38","slug":"coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/","title":{"rendered":"CoreOS K\u00fcmesi \u0130\u00e7in Fleet Unit Dosyalar\u0131 ile Esnek Hizmetler Olu\u015fturma"},"content":{"rendered":"<p><body><\/p>\n<h2>CoreOS K\u00fcmesi \u0130\u00e7in Fleet Unit Dosyalar\u0131 ile Esnek Hizmetler Olu\u015fturma<\/h2>\n<p>CoreOS, konteyner tabanl\u0131 uygulamalar\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in tasarlanm\u0131\u015f, minimal ve otomatik g\u00fcncellenebilen bir i\u015fletim sistemidir. CoreOS&#8217;un da\u011f\u0131t\u0131k mimarisinde hizmetlerin (uygulamalar\u0131n) y\u00f6netimi, \u00f6l\u00e7eklenmesi ve da\u011f\u0131t\u0131lmas\u0131 kritik \u00f6neme sahiptir. Bu noktada Fleet, CoreOS k\u00fcmelerinde hizmetleri y\u00f6netmek i\u00e7in kullan\u0131lan g\u00fc\u00e7l\u00fc bir ara\u00e7t\u0131r. Fleet, sistem hizmetlerini tan\u0131mlayan ve bu hizmetlerin k\u00fcmedeki hangi makinelerde \u00e7al\u0131\u015faca\u011f\u0131n\u0131 belirleyen Unit dosyalar\u0131 arac\u0131l\u0131\u011f\u0131yla esnek bir hizmet y\u00f6netimi sa\u011flar. Bu makalede, CoreOS k\u00fcmelerinde Fleet Unit dosyalar\u0131n\u0131 kullanarak nas\u0131l esnek hizmetler olu\u015fturabilece\u011finizi detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h3>Fleet ve CoreOS Ekosistemi<\/h3>\n<p>Fleet, CoreOS&#8217;un temel bile\u015fenlerinden biridir ve etcd ile entegre \u00e7al\u0131\u015farak k\u00fcme genelinde hizmetlerin da\u011f\u0131t\u0131m\u0131n\u0131 ve y\u00f6netimini kolayla\u015ft\u0131r\u0131r. Etcd, k\u00fcme durumunu depolayan da\u011f\u0131t\u0131k bir anahtar-de\u011fer deposudur ve Fleet, etcd&#8217;yi kullanarak hangi makinelerin mevcut oldu\u011funu, hangi hizmetlerin nerede \u00e7al\u0131\u015fmas\u0131 gerekti\u011fini ve hizmetlerin durumunu takip eder.<\/p>\n<p>Fleet&#8217;in temel \u00e7al\u0131\u015fma prensibi, &#8220;Unit&#8221; ad\u0131 verilen yap\u0131land\u0131rma dosyalar\u0131na dayan\u0131r. Bu Unit dosyalar\u0131, \u00e7al\u0131\u015ft\u0131r\u0131lacak hizmetin kendisini (genellikle bir Docker konteyneri), bu hizmetin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131, hangi makinelerde \u00e7al\u0131\u015fmas\u0131 gerekti\u011fini ve di\u011fer \u00e7e\u015fitli yap\u0131land\u0131rma parametrelerini tan\u0131mlar. Fleet, bu Unit dosyalar\u0131n\u0131 okuyarak belirtilen politikalar do\u011frultusunda hizmetleri k\u00fcme genelinde da\u011f\u0131t\u0131r ve y\u00f6netir.<\/p>\n<h3>Unit Dosyalar\u0131n\u0131n Yap\u0131s\u0131 ve Temel Kavramlar<\/h3>\n<p>Fleet Unit dosyalar\u0131, <code>systemd<\/code> servis dosyalar\u0131na benzer bir yap\u0131ya sahiptir. <code>.service<\/code> uzant\u0131s\u0131yla kaydedilirler veINI format\u0131nda b\u00f6l\u00fcmlerden olu\u015furlar. En yayg\u0131n kullan\u0131lan b\u00f6l\u00fcmler \u015funlard\u0131r:<\/p>\n<p>*   <strong>[Unit] B\u00f6l\u00fcm\u00fc:<\/strong> Bu b\u00f6l\u00fcm, Unit&#8217;in meta verilerini tan\u0131mlar.<br \/>\n    *   <code>Description<\/code>: Unit&#8217;in a\u00e7\u0131klay\u0131c\u0131 bir metnidir.<br \/>\n    *   <code>After<\/code>: Bu Unit&#8217;in ba\u015flamadan \u00f6nce hangi di\u011fer Unit&#8217;lerin tamamlanmas\u0131 gerekti\u011fini belirtir.<br \/>\n    *   <code>Requires<\/code>: Bu Unit&#8217;in \u00e7al\u0131\u015fmas\u0131 i\u00e7in kesinlikle gerekli olan di\u011fer Unit&#8217;leri belirtir. E\u011fer bu Unit&#8217;ler ba\u015flat\u0131lamazsa, mevcut Unit de ba\u015flat\u0131lamaz.<br \/>\n    *   <code>Wants<\/code>: Bu Unit&#8217;in \u00e7al\u0131\u015fmas\u0131 istenen di\u011fer Unit&#8217;leri belirtir. E\u011fer bu Unit&#8217;ler ba\u015flat\u0131lamazsa, mevcut Unit yine de ba\u015flat\u0131labilir.<br \/>\n    *   <code>Conflicts<\/code>: Bu Unit ile \u00e7ak\u0131\u015fan di\u011fer Unit&#8217;leri belirtir. E\u011fer bu Unit ba\u015flarsa, \u00e7ak\u0131\u015fan Unit&#8217;ler durdurulur.<\/p>\n<p>*   <strong>[Service] B\u00f6l\u00fcm\u00fc:<\/strong> Bu b\u00f6l\u00fcm, hizmetin nas\u0131l \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131 tan\u0131mlar.<br \/>\n    *   <code>ExecStart<\/code>: Hizmeti ba\u015flatmak i\u00e7in \u00e7al\u0131\u015ft\u0131r\u0131lacak komutu belirtir. Genellikle Docker konteynerlerini ba\u015flatmak i\u00e7in kullan\u0131l\u0131r.<br \/>\n    *   <code>ExecStop<\/code>: Hizmeti durdurmak i\u00e7in \u00e7al\u0131\u015ft\u0131r\u0131lacak komutu belirtir.<br \/>\n    *   <code>Restart<\/code>: Hizmet durdu\u011funda nas\u0131l yeniden ba\u015flat\u0131laca\u011f\u0131n\u0131 belirtir. Olas\u0131 de\u011ferler: <code>no<\/code>, <code>on-success<\/code>, <code>on-failure<\/code>, <code>on-abnormal<\/code>, <code>on-abort<\/code>, <code>always<\/code>.<br \/>\n    *   <code>RestartSec<\/code>: Yeniden ba\u015flatma denemeleri aras\u0131ndaki saniye cinsinden bekleme s\u00fcresini belirtir.<br \/>\n    *   <code>User<\/code>, <code>Group<\/code>: Hizmetin hangi kullan\u0131c\u0131 ve grupla \u00e7al\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131 belirtir.<br \/>\n    *   <code>WorkingDirectory<\/code>: Hizmetin \u00e7al\u0131\u015faca\u011f\u0131 dizini belirtir.<br \/>\n    *   <code>Environment<\/code>: Hizmet ortam\u0131na eklenecek ortam de\u011fi\u015fkenlerini belirtir.<\/p>\n<p>*   <strong>[Install] B\u00f6l\u00fcm\u00fc:<\/strong> Bu b\u00f6l\u00fcm, Unit&#8217;in k\u00fcme ba\u015flat\u0131ld\u0131\u011f\u0131nda nas\u0131l kurulaca\u011f\u0131n\u0131 tan\u0131mlar.<br \/>\n    *   <code>WantedBy<\/code>: Bu Unit&#8217;in hangi hedef taraf\u0131ndan istendi\u011fini belirtir. Genellikle <code>multi-user.target<\/code> kullan\u0131l\u0131r.<\/p>\n<h3>Esnek Hizmetler Olu\u015fturma Stratejileri<\/h3>\n<p>Fleet Unit dosyalar\u0131n\u0131 kullanarak esnek hizmetler olu\u015fturman\u0131n birka\u00e7 temel yolu vard\u0131r:<\/p>\n<h4>1. Konfig\u00fcrasyon Dosyalar\u0131n\u0131 D\u0131\u015far\u0131dan Y\u00f6netme<\/h4>\n<p>Uygulamalar\u0131n konfig\u00fcrasyonlar\u0131n\u0131 Unit dosyalar\u0131n\u0131n i\u00e7ine g\u00f6mmek yerine, bu konfig\u00fcrasyonlar\u0131 ayr\u0131 dosyalar halinde tutmak ve bunlar\u0131 Docker volume&#8217;lar\u0131 arac\u0131l\u0131\u011f\u0131yla konteyner i\u00e7ine ba\u011flamak esnekli\u011fi art\u0131r\u0131r. Bu yakla\u015f\u0131m, uygulaman\u0131n yeniden derlenmesi gerekmeden konfig\u00fcrasyon de\u011fi\u015fikliklerinin yap\u0131labilmesini sa\u011flar.<\/p>\n<p>\u00d6rnek bir <code>myapp.service<\/code> dosyas\u0131:<\/p>\n<pre><code class=\"language-ini\">[Unit]\nDescription=My Application Service\n\n[Service]\nExecStart=\/usr\/bin\/docker run --rm \\\n  -v \/path\/to\/your\/app\/config:\/app\/config \\\n  your-docker-image:latest\nRestart=always\nRestartSec=10\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code>\/path\/to\/your\/app\/config<\/code> adresindeki konfig\u00fcrasyon dosyalar\u0131, Docker konteynerinin i\u00e7indeki <code>\/app\/config<\/code> dizinine ba\u011flan\u0131r. B\u00f6ylece, sadece konfig\u00fcrasyon dosyas\u0131n\u0131 g\u00fcncelleyerek uygulaman\u0131n davran\u0131\u015f\u0131n\u0131 de\u011fi\u015ftirebilirsiniz.<\/p>\n<h4>2. Ortam De\u011fi\u015fkenleri ile Konfig\u00fcrasyon<\/h4>\n<p>Ortam de\u011fi\u015fkenleri, uygulamalar\u0131n konfig\u00fcrasyonunu dinamik olarak ayarlaman\u0131n ba\u015fka bir etkili yoludur. Fleet Unit dosyalar\u0131ndaki <code>Environment<\/code> direktifi veya <code>docker run<\/code> komutundaki <code>-e<\/code> se\u00e7ene\u011fi ile ortam de\u011fi\u015fkenleri ayarlanabilir.<\/p>\n<pre><code class=\"language-ini\">[Unit]\nDescription=My Application Service with Env Vars\n\n[Service]\nExecStart=\/usr\/bin\/docker run --rm \\\n  -e DATABASE_URL=postgres:\/\/user:pass@db.example.com:5432\/mydb \\\n  -e LOG_LEVEL=info \\\n  your-docker-image:latest\nRestart=always\nRestartSec=10\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n<p>Bu yakla\u015f\u0131m, \u00f6zellikle farkl\u0131 ortamlarda (geli\u015ftirme, test, \u00fcretim) ayn\u0131 Docker imaj\u0131n\u0131 kullan\u0131rken konfig\u00fcrasyonlar\u0131 kolayca de\u011fi\u015ftirmeyi sa\u011flar.<\/p>\n<h4>3. Makine \u00d6zelliklerine G\u00f6re Da\u011f\u0131t\u0131m (Constraints)<\/h4>\n<p>Fleet, hizmetlerin hangi makinelerde \u00e7al\u0131\u015faca\u011f\u0131n\u0131 belirlemek i\u00e7in \u00e7e\u015fitli k\u0131s\u0131tlamalar (constraints) sunar. Bu, belirli donan\u0131m \u00f6zelliklerine, etiketlere veya mevcut kaynaklara g\u00f6re hizmetlerin da\u011f\u0131t\u0131m\u0131n\u0131 kontrol etmenizi sa\u011flar.<\/p>\n<p>*   <strong>Makine Etiketleri:<\/strong> Makinelerinizi etiketleyerek, Unit&#8217;leri belirli etiketlere sahip makinelerde \u00e7al\u0131\u015fmaya zorlayabilirsiniz.<\/p>\n<p>    Bir makineye etiket eklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">fleetctl set-metadata my-machine.example.com role=database<\/code><\/pre>\n<p>    Unit dosyas\u0131nda etiket k\u0131s\u0131tlamas\u0131:<\/p>\n<pre><code class=\"language-ini\">[Unit]\n    Description=Database Service\n\n    [Service]\n    ExecStart=\/usr\/bin\/docker run --rm your-db-image:latest\n    Restart=always\n    RestartSec=10\n\n    [Install]\n    WantedBy=multi-user.target\n\n    [Fleet]\n    # Bu Unit sadece 'role=database' etiketine sahip makinelerde \u00e7al\u0131\u015fs\u0131n\n    MachineMetadata=role=database<\/code><\/pre>\n<p>*   <strong>Makine Ad\u0131 veya IP Adresi:<\/strong> Belirli bir makinede \u00e7al\u0131\u015fmas\u0131n\u0131 zorlamak i\u00e7in makinenin ad\u0131n\u0131 veya IP adresini kullanabilirsiniz.<\/p>\n<pre><code class=\"language-ini\">[Unit]\n    Description=Specific Machine Service\n\n    [Service]\n    ExecStart=\/usr\/bin\/docker run --rm your-specific-app:latest\n    Restart=always\n    RestartSec=10\n\n    [Install]\n    WantedBy=multi-user.target\n\n    [Fleet]\n    # Bu Unit sadece 'specific-machine.example.com' makinesinde \u00e7al\u0131\u015fs\u0131n\n    MachineName=specific-machine.example.com<\/code><\/pre>\n<p>*   <strong>Kaynak Kullan\u0131m\u0131 (\u015eu anda do\u011frudan Fleet taraf\u0131ndan desteklenmiyor, ancak dolayl\u0131 olarak \u00e7\u00f6z\u00fclebilir):<\/strong> Fleet&#8217;in do\u011frudan CPU veya bellek gibi kaynak kullan\u0131m\u0131na dayal\u0131 k\u0131s\u0131tlamalar\u0131 bulunmamaktad\u0131r. Ancak, k\u00fcme y\u00f6netimi ara\u00e7lar\u0131 (\u00f6rne\u011fin Kubernetes veya Mesos) bu t\u00fcr geli\u015fmi\u015f kaynak y\u00f6netimi \u00f6zellikleri sunar. Fleet ile bu t\u00fcr bir esneklik elde etmek i\u00e7in, makinelerinizi CPU veya bellek miktarlar\u0131na g\u00f6re etiketleyip bu etiketleri kullanarak k\u0131s\u0131tlamalar uygulayabilirsiniz.<\/p>\n<h4>4. Y\u00fcksek Eri\u015filebilirlik ve Yedeklilik<\/h4>\n<p>Fleet, hizmetlerinizi y\u00fcksek eri\u015filebilir hale getirmek i\u00e7in \u00e7e\u015fitli mekanizmalar sunar:<\/p>\n<p>*   <strong><code>Restart=always<\/code>:<\/strong> Bir hizmet beklenmedik bir \u015fekilde durdu\u011funda, Fleet otomatik olarak yeniden ba\u015flat\u0131lmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong><code>RestartSec<\/code>:<\/strong> Yeniden ba\u015flatma denemeleri aras\u0131ndaki bekleme s\u00fcresi, k\u00fcme \u00fczerinde a\u015f\u0131r\u0131 y\u00fcklenmeyi \u00f6nler.<br \/>\n*   <strong>Birden Fazla Kopyan\u0131n Da\u011f\u0131t\u0131m\u0131:<\/strong> Ayn\u0131 Unit dosyas\u0131n\u0131 birden fazla kez da\u011f\u0131tarak, hizmetinizin birden fazla kopyas\u0131n\u0131 farkl\u0131 makinelerde \u00e7al\u0131\u015ft\u0131rabilirsiniz. Bu, bir makine ar\u0131zaland\u0131\u011f\u0131nda hizmetinizin kesintisiz \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>    \u00d6rne\u011fin, bir web uygulamas\u0131n\u0131n 3 kopyas\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">fleetctl submit webapp.service\n    fleetctl start webapp.service\n    fleetctl list-units --full | grep webapp.service<\/code><\/pre>\n<p>    Ard\u0131ndan, <code>fleetctl<\/code> komutunu kullanarak belirli say\u0131da kopyay\u0131 farkl\u0131 makinelerde ba\u015flatabilirsiniz. Daha geli\u015fmi\u015f orkestrasyon i\u00e7in Kubernetes gibi ara\u00e7lar daha uygun olabilir, ancak Fleet ile de bu seviyede bir y\u00f6netim m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<p>*   <strong>Sa\u011fl\u0131k Kontrolleri (Health Checks):<\/strong> Do\u011frudan Fleet Unit dosyalar\u0131nda yerle\u015fik sa\u011fl\u0131k kontrol\u00fc mekanizmas\u0131 bulunmamaktad\u0131r. Ancak, Docker konteynerinizin i\u00e7inde bir sa\u011fl\u0131k kontrol beti\u011fi \u00e7al\u0131\u015ft\u0131rabilir ve bu beti\u011fin \u00e7\u0131k\u0131\u015f koduna g\u00f6re Docker&#8217;\u0131n kendisi (ve dolay\u0131s\u0131yla Fleet) hizmetin durumunu de\u011ferlendirebilir. Alternatif olarak, harici bir sa\u011fl\u0131k kontrol servisi ile entegrasyon sa\u011flanabilir.<\/p>\n<h4>5. De\u011fi\u015fken Unit Dosyalar\u0131 ve \u015eablonlar<\/h4>\n<p>Daha karma\u015f\u0131k senaryolarda, Unit dosyalar\u0131n\u0131 dinamik olarak olu\u015fturmak veya y\u00f6netmek isteyebilirsiniz. Bu, betikler veya \u015fablonlama motorlar\u0131 (\u00f6rne\u011fin <code>go-template<\/code>) kullan\u0131larak yap\u0131labilir. \u00d6rne\u011fin, farkl\u0131 veritaban\u0131 ba\u011flant\u0131 dizeleriyle ayn\u0131 temel Unit dosyas\u0131n\u0131 kullanmak i\u00e7in bir \u015fablon olu\u015fturabilirsiniz.<\/p>\n<p>\u00d6rnek bir \u015fablonlama yakla\u015f\u0131m\u0131 (basitle\u015ftirilmi\u015f):<\/p>\n<pre><code class=\"language-\"># myapp-template.service\n[Unit]\nDescription={{.ServiceName}}\n\n[Service]\nExecStart=\/usr\/bin\/docker run --rm \\\n  -e DATABASE_URL={{.DatabaseURL}} \\\n  your-docker-image:latest\nRestart=always\nRestartSec=10\n\n[Install]\nWantedBy=multi-user.target<\/code><\/pre>\n<p>Bu \u015fablon, bir programatik ara\u00e7 taraf\u0131ndan i\u015flenerek belirli de\u011ferlerle doldurulur ve nihai Unit dosyas\u0131 olu\u015fturulur.<\/p>\n<p>### Fleet ile Hizmetleri Y\u00f6netme<\/p>\n<p>Fleet ile Unit dosyalar\u0131n\u0131 kullanarak hizmetleri olu\u015fturduktan sonra, a\u015fa\u011f\u0131daki komutlarla onlar\u0131 y\u00f6netebilirsiniz:<\/p>\n<p>*   <strong>Unit Dosyalar\u0131n\u0131 G\u00f6nderme (Submit):<\/strong><\/p>\n<pre><code class=\"language-bash\">fleetctl submit myapp.service<\/code><\/pre>\n<p>    Bu komut, Unit dosyas\u0131n\u0131 etcd&#8217;ye g\u00f6nderir.<\/p>\n<p>*   <strong>Unitleri Ba\u015flatma:<\/strong><\/p>\n<pre><code class=\"language-bash\">fleetctl start myapp.service<\/code><\/pre>\n<p>    Bu komut, Unit dosyas\u0131n\u0131 k\u00fcmedeki uygun makinelerde ba\u015flat\u0131r.<\/p>\n<p>*   <strong>Unitleri Durdurma:<\/strong><\/p>\n<pre><code class=\"language-bash\">fleetctl stop myapp.service<\/code><\/pre>\n<p>    Bu komut, Unit&#8217;i durdurur.<\/p>\n<p>*   <strong>Unitleri Yeniden Ba\u015flatma:<\/strong><\/p>\n<pre><code class=\"language-bash\">fleetctl restart myapp.service<\/code><\/pre>\n<p>*   <strong>Unitleri Y\u00fckleme (Load):<\/strong> Bir Unit&#8217;i k\u00fcmede da\u011f\u0131t\u0131lmaya haz\u0131r hale getirir, ancak hen\u00fcz ba\u015flatmaz.<\/p>\n<pre><code class=\"language-bash\">fleetctl load myapp.service<\/code><\/pre>\n<p>*   <strong>Unitleri Kald\u0131rma (Unload):<\/strong> Bir Unit&#8217;i k\u00fcmeden kald\u0131r\u0131r.<\/p>\n<pre><code class=\"language-bash\">fleetctl unload myapp.service<\/code><\/pre>\n<p>*   <strong>Unit Durumunu Kontrol Etme:<\/strong><\/p>\n<pre><code class=\"language-bash\">fleetctl list-units\n    fleetctl status myapp.service<\/code><\/pre>\n<p>*   <strong>K\u0131s\u0131tlamalar\u0131 G\u00f6rme:<\/strong><\/p>\n<pre><code class=\"language-bash\">fleetctl list-unit-files\n    fleetctl list-machines\n    fleetctl list-metadata<\/code><\/pre>\n<p>### Geli\u015fmi\u015f Senaryolar ve Entegrasyonlar<\/p>\n<p>*   <strong>Docker Compose ile Entegrasyon:<\/strong> Fleet, do\u011frudan Docker Compose dosyalar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmaz. Ancak, Docker Compose dosyas\u0131ndaki servisleri ayr\u0131 ayr\u0131 Fleet Unit dosyalar\u0131na d\u00f6n\u00fc\u015ft\u00fcrerek veya bir betik arac\u0131l\u0131\u011f\u0131yla Docker Compose&#8217;u Fleet ile \u00e7al\u0131\u015ft\u0131rarak entegrasyon sa\u011flayabilirsiniz. Bu, \u00f6zellikle birden fazla servisden olu\u015fan uygulamalar i\u00e7in y\u00f6netim karma\u015f\u0131kl\u0131\u011f\u0131n\u0131 art\u0131rabilir.<\/p>\n<p>*   <strong>A\u011f Y\u00f6netimi:<\/strong> Hizmetlerinizin birbirleriyle ve d\u0131\u015f d\u00fcnya ile nas\u0131l ileti\u015fim kuraca\u011f\u0131n\u0131 belirlemek i\u00e7in Docker&#8217;\u0131n a\u011f yeteneklerini ve CoreOS&#8217;un a\u011f yap\u0131land\u0131rmalar\u0131n\u0131 kullanman\u0131z gerekir. Fleet, hizmetleri da\u011f\u0131t\u0131r, ancak a\u011f yap\u0131land\u0131rmas\u0131 genellikle Docker&#8217;\u0131n kendi ara\u00e7lar\u0131 veya CoreOS&#8217;un a\u011f bile\u015fenleri ile y\u00f6netilir.<\/p>\n<p>*   <strong>Depolama Y\u00f6netimi:<\/strong> Kal\u0131c\u0131 veriler i\u00e7in Docker volume&#8217;lar\u0131n\u0131 veya CoreOS&#8217;un sa\u011flad\u0131\u011f\u0131 di\u011fer depolama \u00e7\u00f6z\u00fcmlerini kullanabilirsiniz. Unit dosyalar\u0131n\u0131zda bu volume&#8217;lar\u0131 do\u011fru \u015fekilde ba\u011flad\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<p>*   <strong>G\u00fcncelleme Stratejileri:<\/strong> Fleet Unit dosyalar\u0131, hizmet g\u00fcncellemelerini y\u00f6netmek i\u00e7in temel bir mekanizma sa\u011flar. Yeni bir Docker imaj\u0131 yay\u0131nlad\u0131\u011f\u0131n\u0131zda, ilgili Unit dosyas\u0131ndaki imaj etiketini g\u00fcncelleyip hizmeti yeniden ba\u015flatarak da\u011f\u0131t\u0131m yapabilirsiniz. Daha karma\u015f\u0131k g\u00fcncelleme stratejileri (\u00f6rne\u011fin mavi\/ye\u015fil da\u011f\u0131t\u0131m, canary da\u011f\u0131t\u0131m\u0131) i\u00e7in daha geli\u015fmi\u015f orkestrasyon ara\u00e7lar\u0131 gerekebilir.<\/p>\n<p>### S\u0131n\u0131rlamalar ve Alternatifler<\/p>\n<p>Fleet, CoreOS k\u00fcmesinde hizmetleri y\u00f6netmek i\u00e7in g\u00fc\u00e7l\u00fc bir ara\u00e7 olsa da baz\u0131 s\u0131n\u0131rlamalar\u0131 vard\u0131r:<\/p>\n<p>*   <strong>\u00d6l\u00e7eklenebilirlik:<\/strong> \u00c7ok b\u00fcy\u00fck k\u00fcmelerde ve \u00e7ok say\u0131da hizmetle ba\u015fa \u00e7\u0131kmak i\u00e7in Kubernetes gibi daha geli\u015fmi\u015f orkestrasyon platformlar\u0131 daha uygun olabilir.<br \/>\n*   <strong>Geli\u015fmi\u015f Orkestrasyon \u00d6zellikleri:<\/strong> Servis ke\u015ffi, otomatik \u00f6l\u00e7eklendirme, karma\u015f\u0131k da\u011f\u0131t\u0131m stratejileri gibi \u00f6zellikler i\u00e7in Kubernetes, Mesos veya Docker Swarm gibi platformlar daha zengin \u00e7\u00f6z\u00fcmler sunar.<br \/>\n*   <strong>G\u00fcncel Geli\u015ftirme:<\/strong> CoreOS&#8217;un kendisi Kubernetes ile daha derin entegrasyonlara odaklanm\u0131\u015ft\u0131r ve Fleet&#8217;in gelecekteki geli\u015fimi Kubernetes&#8217;in pop\u00fclaritesi nedeniyle daha yava\u015f olabilir.<\/p>\n<p>Bu s\u0131n\u0131rlamalar g\u00f6z \u00f6n\u00fcne al\u0131nd\u0131\u011f\u0131nda, daha karma\u015f\u0131k veya \u00f6l\u00e7eklenebilir ihtiya\u00e7lar\u0131n\u0131z varsa Kubernetes&#8217;i CoreOS (veya di\u011fer Linux da\u011f\u0131t\u0131mlar\u0131) \u00fczerinde \u00e7al\u0131\u015ft\u0131rmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz. Ancak, basit ve orta d\u00fczeydeki da\u011f\u0131t\u0131mlar i\u00e7in Fleet, CoreOS k\u00fcmesinde esnek ve y\u00f6netilebilir hizmetler olu\u015fturmak i\u00e7in m\u00fckemmel bir se\u00e7enektir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Fleet Unit dosyalar\u0131, CoreOS k\u00fcmelerinde hizmetleri tan\u0131mlamak, da\u011f\u0131tmak ve y\u00f6netmek i\u00e7in g\u00fc\u00e7l\u00fc ve esnek bir yol sunar. Konfig\u00fcrasyon dosyalar\u0131n\u0131 d\u0131\u015far\u0131dan y\u00f6netme, ortam de\u011fi\u015fkenlerini kullanma ve makine k\u0131s\u0131tlamalar\u0131 gibi stratejilerle, uygulamalar\u0131n\u0131z\u0131n farkl\u0131 ortamlara kolayca uyum sa\u011flamas\u0131n\u0131 ve y\u00fcksek eri\u015filebilirli\u011fini sa\u011flamas\u0131n\u0131 sa\u011flayabilirsiniz. Fleet&#8217;in sundu\u011fu temel y\u00f6netim komutlar\u0131 ile hizmetlerinizin ya\u015fam d\u00f6ng\u00fcs\u00fcn\u00fc etkin bir \u015fekilde kontrol edebilirsiniz. CoreOS ekosisteminde hizmetlerinizi y\u00f6netirken esnekli\u011fi ve kontrol\u00fc elinizde tutmak istiyorsan\u0131z, Fleet Unit dosyalar\u0131n\u0131 derinlemesine anlamak ve etkin bir \u015fekilde kullanmak kritik \u00f6neme sahiptir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"CoreOS K\u00fcmesi \u0130\u00e7in Fleet Unit Dosyalar\u0131 ile Esnek Hizmetler Olu\u015fturma CoreOS, konteyner tabanl\u0131 uygulamalar\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in tasarlanm\u0131\u015f, minimal ve otomatik g\u00fcncellenebilen bir i\u015fletim sistemidir.","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-41752","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>CoreOS K\u00fcmesi \u0130\u00e7in Fleet Unit Dosyalar\u0131 ile Esnek Hizmetler Olu\u015fturma - 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\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"CoreOS K\u00fcmesi \u0130\u00e7in Fleet Unit Dosyalar\u0131 ile Esnek Hizmetler Olu\u015fturma\" \/>\n<meta property=\"og:description\" content=\"CoreOS K\u00fcmesi \u0130\u00e7in Fleet Unit Dosyalar\u0131 ile Esnek Hizmetler Olu\u015fturma CoreOS, konteyner tabanl\u0131 uygulamalar\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in tasarlanm\u0131\u015f, minimal ve otomatik g\u00fcncellenebilen bir i\u015fletim sistemidir.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-13T14:00:38+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=\"10 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"CoreOS K\u00fcmesi \u0130\u00e7in Fleet Unit Dosyalar\u0131 ile Esnek Hizmetler Olu\u015fturma\",\"datePublished\":\"2026-05-13T14:00:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/\"},\"wordCount\":1813,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/\",\"name\":\"CoreOS K\u00fcmesi \u0130\u00e7in Fleet Unit Dosyalar\u0131 ile Esnek Hizmetler Olu\u015fturma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-05-13T14:00:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CoreOS K\u00fcmesi \u0130\u00e7in Fleet Unit Dosyalar\u0131 ile Esnek Hizmetler Olu\u015fturma\"}]},{\"@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":"CoreOS K\u00fcmesi \u0130\u00e7in Fleet Unit Dosyalar\u0131 ile Esnek Hizmetler Olu\u015fturma - 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\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/","og_locale":"tr_TR","og_type":"article","og_title":"CoreOS K\u00fcmesi \u0130\u00e7in Fleet Unit Dosyalar\u0131 ile Esnek Hizmetler Olu\u015fturma","og_description":"CoreOS K\u00fcmesi \u0130\u00e7in Fleet Unit Dosyalar\u0131 ile Esnek Hizmetler Olu\u015fturma CoreOS, konteyner tabanl\u0131 uygulamalar\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in tasarlanm\u0131\u015f, minimal ve otomatik g\u00fcncellenebilen bir i\u015fletim sistemidir.","og_url":"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-05-13T14:00:38+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"10 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"CoreOS K\u00fcmesi \u0130\u00e7in Fleet Unit Dosyalar\u0131 ile Esnek Hizmetler Olu\u015fturma","datePublished":"2026-05-13T14:00:38+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/"},"wordCount":1813,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/","url":"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/","name":"CoreOS K\u00fcmesi \u0130\u00e7in Fleet Unit Dosyalar\u0131 ile Esnek Hizmetler Olu\u015fturma - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-05-13T14:00:38+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/coreos-kumesi-icin-fleet-unit-dosyalari-ile-esnek-hizmetler-olusturma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"CoreOS K\u00fcmesi \u0130\u00e7in Fleet Unit Dosyalar\u0131 ile Esnek Hizmetler Olu\u015fturma"}]},{"@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\/41752","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=41752"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41752\/revisions"}],"predecessor-version":[{"id":41753,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/41752\/revisions\/41753"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=41752"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=41752"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=41752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}