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:
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.
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
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:
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.
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ı
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.
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
Ardından, dağıtılan uygulama hizmetinin durumunu doğrulayın.
$ sudo docker service ls
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
Ardından, kopyaların durumunu onaylayın. Bu sefer 3 kopyamız olduğunu fark edeceksiniz.
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.
Ubuntu Docker Swarm Nasıl Dağıtılır?
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.
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:
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:
Çalışan Düğüm 1’de
Çalışan Düğüm 2’de
Makale İçeriği
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.
Ardından, kurulum sırasında gereken önkoşul paketini kurun
Tüm paketler yüklendikten sonra Docker GPG anahtarını ekleyin
Bir sonraki adımda, resmi Docker deposunu Ubuntu 22.04 sisteminize ekleyin
Ardından, sistemin yeni eklenen depodan haberdar olmasını sağlamak için yerel paket dizinini güncelleyin.
Ardından resmi Docker deposundan Docker’ı yükleyin,
Komut, Docker’ın beklendiği gibi çalışması için gerekli olacak ek paketlerin yanına Docker’ı yükler.
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 .
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:
Ayrıca, Docker hizmetini, açılışta otomatik olarak başlaması için etkinleştirdiğinizden emin olun.
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:
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.
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ı
Ardından, tüm düğümlerin kümeye katıldığını aşağıdaki gibi onaylayın.
Kümedeki tüm düğümleri gösteren aşağıdaki çıktıyı almalısınız.
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.
Ardından, dağıtılan uygulama hizmetinin durumunu doğrulayın.
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.
Ardından, kopyaların durumunu onaylayın. Bu sefer 3 kopyamız olduğunu fark edeceksiniz.
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