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.
- 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.
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:
$ sudo docker swarm init --advertise-addr 10.128.0.57
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ı
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.
http://yönetici düğümü:8080
http://worker-node-1:8080
http://worker-node-2:8080
Makaleniz gerçekten faydalıydı. Docker Swarm Cluster oluşturma ve kopyalarını oluşturma hakkında daha fazla bilgi alabilir miyim? Teşekkürler.