Ubuntu

Ubuntu Docker Swarm Nasıl Dağıtılır?

Ubuntu Docker Swarm Nasil Dagitilir
Share

Bu kılavuzda, Docker Swarm’ın Ubuntu 22.04’te adım adım nasıl kurulacağını ele alacağız.

Docker Swarm nedir?
Docker Swarm, Docker platformunda çalışan bir konteyner düzenleme aracıdır. Kullanıcıların bir Docker düğümü kümesi oluşturmasına ve yönetmesine yardımcı olur. Docker’da kümeleme, kümedeki bir veya daha fazla düğümün başarısız olması durumunda Docker Swarm’ın yük devretmesini sağlayarak yedeklilik sağlamada çok önemli bir kavramdır.

Docker Swarm, Docker Engine gibi diğer araçlarla iletişim kurmak için standart Docker API’sini kullanır. Kapsayıcıları çalışan düğümlere akıllıca atar ve kapsayıcı iş yüklerini en uygun düğüm(ler)de çalışacak şekilde planlayarak kaynak optimizasyonu sağlar.

Laboratuvar kurulumu
Docker Swarm’ın nasıl çalıştığını göstermek için, gösterildiği gibi bir Swarm Manager düğümü ve iki çalışan düğümden oluşan basit bir kümemiz var. Yönetici düğümleri, tüm küme yönetimi görevlerini yerine getirirken, çalışan düğümler kapsayıcıları çalıştırır.

  • swarm-manager                  10.128.0.57
  • worker-node-1                    10.128.0.58
  • worker-node-2                    10.128.0.59

Adım 1) Küme ana bilgisayarları dosyasını yapılandırın
Başlamak için, her bir düğümde oturum açın ve /etc/hosts dosyasını aşağıdaki girişlerle güncelleyin:

swarm-manager          10.128.0.57
worker-node-1          10.128.0.58
worker-node-2          10.128.0.59

Ardından, tüm düğümlerin birbirine ping atabildiğinden emin olun. Bu nedenle, yönetici düğümünde şu komutları çalıştırın:

$ ping -c 4 10.128.0.58
$ ping -c 4 10.128.0.59

Çalışan Düğüm 1’de

$ ping -c 4 10.128.0.57
$ ping -c 4 10.128.0.59

Çalışan Düğüm 2’de

$ ping -c 4 10.128.0.57
$ ping -c 4 10.128.0.58

Adım 2) Docker CE’yi tüm düğümlere kurun

Bir sonraki adım, Docker’ı tüm düğümlere kurmaktır. Kurulumu ve kullanımı ücretsiz olan Docker Community Edition’ı (Docker CE) kuracağız.

Bu nedenle, düğümlerin her birinde oturum açın ve yerel paket dizinini güncelleyin.

$ sudo apt update

Ardından, kurulum sırasında gereken önkoşul paketini kurun

$ sudo apt install apt-transport-https ca-certificates curl software-properties-common -y

Tüm paketler yüklendikten sonra Docker GPG anahtarını ekleyin

$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/docker.gpg

Bir sonraki adımda, resmi Docker deposunu Ubuntu 22.04 sisteminize ekleyin

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

Ardından, sistemin yeni eklenen depodan haberdar olmasını sağlamak için yerel paket dizinini güncelleyin.

$ sudo apt update

Ardından resmi Docker deposundan Docker’ı yükleyin,

$ sudo apt install docker-ce -y

Komut, Docker’ın beklendiği gibi çalışması için gerekli olacak ek paketlerin yanına Docker’ı yükler.

Ubuntu Docker Swarm Nasil Dagitilir

Docker yüklendikten sonra, Docker’ı her çalıştırdığınızda Docker’ı sudo kullanıcısı olarak çalıştırmamak için şu anda oturum açmış olan kullanıcıyı Docker grubuna ekleyin .

$ sudo usermod -aG docker ${USER}
$ newgrp docker

Adım 3) Docker’ın tüm düğümlerde çalıştığını doğrulayın

Kurulduktan sonra Docker arka plan programı otomatik olarak başlar. Aşağıdaki komutu çalıştırarak hizmetin çalıştığını doğrulayabilirsiniz:

$ sudo systemctl status docker
Ubuntu Docker Swarm Nasil Dagitilir2

Ayrıca, Docker hizmetini, açılışta otomatik olarak başlaması için etkinleştirdiğinizden emin olun.

$ sudo systemctl enable docker

Adım 4) Docker Swarm Cluster Oluşturun

Sonraki adım, Yönetici düğümünde Docker Swarm’ı başlatmaktır. Başlatıldıktan sonra, işçi düğümlerini kümeye ekleyeceğiz.

Bir Docker Swarm Cluster oluşturmak için şu komutu çalıştırın:

$ sudo docker swarm init --advertise-addr 10.128.0.57
Ubuntu Docker Swarm Nasil Dagitilir3

Docker Swarm başlatıldığında, işçi düğümlerini kümeye birleştirmek için bir komut terminalde görüntülenecektir. Komutu, daha önce belirtildiği gibi çalışan düğümlerin her birinde çalıştırmanız gerekeceğinden kopyalayın.

Ardından, çalışan düğümlerin her birinde tekrar oturum açın ve kümeye katılmak için komutu yapıştırın.

$ sudo docker swarm join --token SWMTKN-1-1k397e5o52cae0yipopqcu9werjcwuss1exbyj4635rrjjl723-7ocx56uhb7p1ri7h2u6ynxyno 10.128.0.57:2377

Her şey yolunda giderse, aşağıdaki çıktıyı almalısınız

Çıktı

Bu düğüm bir işçi olarak bir sürüye katıldı

Ubuntu Docker Swarm Nasil Dagitilir4

Ardından, tüm düğümlerin kümeye katıldığını aşağıdaki gibi onaylayın.

$ sudo docker node ls

Kümedeki tüm düğümleri gösteren aşağıdaki çıktıyı almalısınız.

Ubuntu Docker Swarm Nasil Dagitilir5

Adım 5) Docker Swarm Kurulumunu Test Edin

Docker sürüsü kurulumunu test etmek için yönetici düğümüne gidin ve kümeye bir kapsayıcı uygulaması dağıtın. Bu örnekte, bir Nginx web sunucusu kapsayıcısını dağıtıyoruz ve onu ana bilgisayardaki 8080 numaralı bağlantı noktasına eşliyoruz.

$ sudo docker service create --name web-server --publish 8080:80 nginx:latest
Ubuntu Docker Swarm Nasil Dagitilir6

Ardından, dağıtılan uygulama hizmetinin durumunu doğrulayın.

$ sudo docker service ls
Ubuntu Docker Swarm Nasil Dagitilir7

Adım 6) Hizmetin kopyalarını oluşturun

Son olarak, hizmetin üç kopyasını oluşturun ve bunları hem Docker yöneticisi hem de çalışan düğümleri arasında ölçeklendirin.

$ sudo docker service scale web-server=3
Ubuntu Docker Swarm Nasil Dagitilir8

Ardından, kopyaların durumunu onaylayın. Bu sefer 3 kopyamız olduğunu fark edeceksiniz.

Ubuntu Docker Swarm Nasil Dagitilir9

Bu noktada, Nginx web sunucusu konteyneri, 8080 numaralı bağlantı noktasındaki kümedeki tüm düğümlerde çalışıyor olmalıdır. Bunu doğrulamak için tarayıcınıza gidin ve tüm düğümlerden web sunucusuna erişin.

http://yönetici düğümü:8080

http://worker-node-1:8080

http://worker-node-2:8080

Ubuntu Docker Swarm Nasil Dagitilir10