0Pricing
Docker & DevOps Fundamentals · Ders

Swarm’a Hizmet Dağıtma

Kapsayıcılı uygulamaları Swarm kümenizde hizmet olarak dağıtıp ölçeklendirin ve yaşam döngülerini yönetin.

Swarm’a Hizmet Dağıtma, CoddyKit'te ücretsiz bir Docker & DevOps Fundamentals dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Docker & DevOps Fundamentals öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Docker & DevOps Fundamentals kursu toplamda 4 dersten oluşur.

Docker Swarm Hizmeti Nedir?

Docker Swarm'da hizmet, kapsayıcılı bir uygulamayı kümeniz genelinde nasıl çalıştırmak istediğinizin tanımıdır.

Tek tek kapsayıcıları çalıştırmak yerine Swarm'a şunu söylemek için bir hizmet tanımlarsınız: "Bu görüntünün, bu bağlantı noktalarında ve bu ayarlarla X örneğini çalıştırmak istiyorum."

Swarm, istenen durumunuzun korunmasını sağlar ve başarısız olmaları durumunda kapsayıcıları otomatik olarak yeniden başlatır.

Swarm’a Hizmet Dağıtma — resim 1

Hizmetler ve Kapsayıcılar

Şöyle düşünebilirsiniz:

  • Bir kapsayıcı, bir uygulamanın tek bir örneğidir.
  • Bir hizmet, Swarm'ınız genelinde bir veya daha fazla aynı kapsayıcıyı ( görev olarak adlandırılır) çalıştırmak için kullanılan bir taslaktır.

Hizmetler, görevleri dağıtarak ve hataları otomatik olarak ele alarak yüksek kullanılabilirlik ve ölçeklenebilirlik sağlar.

İlk Hizmetinizi Dağıtma

Uygulamaları Swarm kümenize hizmet olarak dağıtmak için docker service create komutunu kullanırsınız. Basit bir Nginx web sunucusu hizmeti oluşturalım.

Bu örneği çalıştırmayı deneyin:

docker service create \
  --name my-web-app \
  -p 80:80 \
  --replicas 1 \
  nginx

Hizmet Oluşturmayı Anlama

Az önce kullandığımız komutu parçalara ayıralım:

  • --name my-web-app: Hizmetinize akılda kalıcı bir ad verir.
  • -p 80:80: Swarm düğümlerindeki 80 numaralı bağlantı noktasını kapsayıcının içindeki 80 numaralı bağlantı noktasına eşler.
  • --replicas 1: Swarm'a bu hizmetin çalışan bir örneğini (görevini) korumasını söyler.
  • nginx: Hizmetin görevleri için kullanılacak Docker görüntüsünü belirtir.

Hizmetlerinizi İnceleme

Bir hizmet oluşturduktan sonra durumunu doğrulamak ve çalışan görevlerini görmek isteyebilirsiniz. Şu komutları kullanın:

  • docker service ls: Swarm'ınızdaki tüm hizmetleri listeler.
  • docker service ps <service_name>: Bir hizmetle ilişkili görevleri (kapsayıcıları) tek tek gösterir.
docker service ls
docker service ps my-web-app

Hizmetinizi Ölçeklendirme

Docker Swarm'ın temel avantajlarından biri kolay ölçeklendirmedir. Tek bir komutla hizmetinizin çalışan örneklerinin (replikalarının) sayısını artırabilirsiniz.

my-web-app hizmetimizi üç replikaya ölçeklendirelim:

docker service scale my-web-app=3

Hizmetinizi Küçültme

Aynı kolaylıkla kaynak kullanımını azaltmak veya trafiği yönetmek için hizmetinizi küçültebilirsiniz. Swarm, kalan kapsayıcıları çalışır durumda tutarken fazla kapsayıcıları kontrollü biçimde durdurur.

my-web-app hizmetimizi yeniden bir replikaya küçültelim:

docker service scale my-web-app=1

Hizmeti Güncelleme

Uygulamanızın yeni bir sürümünü dağıtmanız veya hizmet ayarlarını değiştirmeniz gerektiğinde docker service update komutu kademeli güncelleme gerçekleştirir. Swarm, uygulamanızın kullanılabilir kalmasını sağlayarak görevleri teker teker günceller.

Nginx hizmetimizi belirli bir sürüme güncelleyelim:

docker service update --image nginx:1.25 my-web-app

Bir Hizmeti Kaldırma

Bir hizmete artık ihtiyaç duyulmadığında onu Swarm'ınızdan kaldırabilirsiniz. Bu işlem, ilgili tüm görevleri durdurur ve hizmet tanımını kümeden siler.

Örnek web uygulaması hizmetimizi kaldırmak için:

docker service rm my-web-app

Hizmet Yönetimi Sınavı

my-backend adlı, 3 replikayla çalışan ve my-backend:v1 görüntüsünü kullanan bir hizmetiniz var. Bu hizmeti yeni bir görüntü olan my-backend:v2'yi kullanacak şekilde güncellemeniz ve replikalarını 5'e çıkarmanız gerekiyor.

Özet: Swarm Hizmetleri

Harika iş çıkardınız! Docker Swarm'da uygulamaları hizmet olarak dağıtmanın ve yönetmenin temel adımlarını öğrendiniz.

  • Hizmetler, kapsayıcılı uygulamalarınızın istenen durumunu tanımlar.
  • docker service create kullanarak hizmet oluşturmayı öğrendiniz.
  • Hizmetleri incelemeyi, ölçeklendirmeyi (docker service scale) ve güncellemeyi (docker service update) ele aldık.
  • Son olarak hizmetleri docker service rm ile kaldırabilirsiniz.

Hizmetler, bir Swarm kümesinde ölçeklenebilir ve dayanıklı uygulamalar oluşturmanın temelidir!

Sıkça Sorulan Sorular

“Swarm’a Hizmet Dağıtma” dersi ücretsiz mi?

Evet — “Swarm’a Hizmet Dağıtma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Docker & DevOps Fundamentals kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Docker & DevOps Fundamentals kursu toplamda 4 dersten oluşur.

“Swarm’a Hizmet Dağıtma” dersinde ne öğreneceğim?

Kapsayıcılı uygulamaları Swarm kümenizde hizmet olarak dağıtıp ölçeklendirin ve yaşam döngülerini yönetin. Docker & DevOps Fundamentals ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Docker & DevOps Fundamentals öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Docker & DevOps Fundamentals, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“Swarm’a Hizmet Dağıtma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Docker & DevOps Fundamentals dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Docker & DevOps Fundamentals dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Docker Swarm’a Giriş
  2. Swarm Kümesi Kurma
  3. Swarm’a Hizmet Dağıtma
  4. Swarm'da Ölçeklendirme ve Aşamalı Güncellemeler
← Docker & DevOps Fundamentals Sayfasına Dön