Sürü modunda Docker motoru olarak da bilinen Docker Swarm, bir grup Docker ana bilgisayarını yönetmek için kullanılan Docker kapsayıcıları için yeni bir kümeleme ve düzenleme aracıdır.


Bu makalede, Docker’ı Docker 1.12’de sunuyoruz. Hesaplama işleminde kabın toplanmasına ve çıkarılmasına izin verir. Docker Swarm’ın iki ana bileşeni vardır:

Yönetici Düğümü: Zamanlama hizmetleri, kümelerin durumunu koruma ve liman işçiliği sürüsü modu uç noktalarını sunma gibi küme görevlerinin yönetimi ile ilgilenir.

İşçi Düğümü: Küme kapsayıcısını yürütmek için kullanılır.

Bu eğitimde, CentOS 7’de Docker Swarm Modunu kurma ve yapılandırma hakkında ayrıntılara gireceğiz. Bu makalede, docker motorunu kurmak ve başlatmak için üç CentOS 7 kullanacağız. Bunlardan, iki sunucu Çalışan düğümü veya Docker Motoru olarak görev yapacak ve geri kalan sunucu yönetici olacak

Ön koşul

Bu durumda, aşağıdakilere ihtiyacımız olacak:

  • Docker ile yüklenmiş yerel bir makine. Makine Windows, Linux veya macOS’ta çalışıyor olabilir.
  • CentOS 7’nin yüklü olduğu üç sunucu. Bir sunucu Yönetici düğümü olurken, diğer iki sunucu Çalışan düğümü olacaktır.
  • Şu IP adresini kullanacağız: Yönetici Düğümü için 172.168.0.101, Çalışan düğümü1 için 172.168.0.102 ve Çalışan düğümü2 için 172.168.0.103.

Bu en iyi 3 VPS hizmetine göz atın:

A2 Hosting

Başlangıç ​​fiyatı:
$ 5.00


Güvenilirlik
9.3


Fiyatlandırma
9.0


Kullanıcı dostu
9.3


Destek
9.3


Özellikleri
9.3

Yorumları oku

A2 Hosting’i ziyaret edin

ScalaHosting

Başlangıç ​​fiyatı:
$ 12.00


Güvenilirlik
9.4


Fiyatlandırma
9.5


Kullanıcı dostu
9.5


Destek
9.5


Özellikleri
9.4

Yorumları oku

ScalaHosting’i ziyaret edin

Hostinger

Başlangıç ​​fiyatı:
$ 3,95


Güvenilirlik
9.3


Fiyatlandırma
9.3


Kullanıcı dostu
9.4


Destek
9.4


Özellikleri
9.2

Yorumları oku

Hostinger’ı ziyaret edin

Https://ecs.console.aliyun.com/?spm=a3c0i.o25424en.a3.13.388d499ep38szx adresinde oturum açın ve CentOS 7’yi seçin. Oturum açtıktan sonra, sistemin en son paketler:

yum güncelleme -y

Başlamak

İşleme başlamadan önce, / etc / hosts dosyasını her düğümde yapılandırdığınızdan emin olun, böylece ana bilgisayar adlarını kullanarak birbirleriyle iletişim kurması daha kolay olur.

Ana makine dosyasını güncellemek için aşağıdaki komutu kullanın:

172.168.0.101dkmanager.example.com dkmanager

172.168.0.102 workernode1.example.com workernode1

172.168.0.103 workernode2.example.com workernode2

İşiniz bittiğinde dosyayı kaydedin.

Şimdi anasistemler dosyasına bağlı olarak her düğümün anasistem adını yapılandırın.

Her düğüm için aşağıdaki komutu çalıştırın.

Yönetici düğümü:

hostnamectl set-hostname yönetim

Çalışan düğümü1:

hostnamectl set-anamakine adı workernode1

Çalışan düğümü2:

hostnamectl set-anamakine adı workernode2

Adım 1: Docker Motorunu Takma

Şimdi, her düğüme Docker sürümünü yükleyin. Liman işçisi depo sistemini ayarlayın ve tüm ana bilgisayar adlarında aşağıdaki komutu çalıştırın.

İki Çalışan düğümü sunucusu için de aynısını yapın.

Adım 2: Her Düğümde Güvenlik Duvarını Yapılandırma

Sonraki adım, küme kümesinin doğru çalıştığından emin olmak için güvenlik duvarındaki bağlantı noktalarını açmaktır.

Devam edin ve tüm düğümlerde aşağıdaki komutu çalıştırın:

Liman hizmetini yeniden başlatın:

Her çalışan düğümünde aşağıdaki güvenlik duvarı bağlantı noktalarını açın ve docker hizmetini yeniden başlatın:

3. Adım: Sürü veya Kümeyi başlatın

Yönetici düğümündeki sürüyü başlattı. Bunu yapmak için aşağıdaki komutu çalıştırın.

liman işçisi sürüsü init –advertise-addr 192.168.0.101

Aşağıdaki çıktıyı gördüğünüzden emin olun:

Yukarıdaki çıktı tarafından oluşturulan belirteç, yönetici düğümüne ve çalışan düğümlerine katılmaya yardımcı olur

Aşağıdaki komutu kullanarak yönetici durumunu doğrulayın:

liman işçisi bilgisi

Çıktı şöyle görünmelidir:

Kapsayıcılar: 0
Koşu: 0
Duraklatıldı: 0
Durduruldu: 0
Görüntüler: 0
Sunucu Sürümü: 17.12.0-ce
Depolama Sürücüsü: devicemapper
Havuz Adı: docker-253: 0-618740-pool
Havuz Blok Boyutu: 65.54kB
Temel Cihaz Boyutu: 10.74GB
Dosya Sistemini Yedekleme: xfs
Udev Sync Desteklenir: true
Veri dosyası: / dev / loop0
Meta veri dosyası: / dev / loop1
Veri döngüsü dosyası: / var / lib / docker / devicemapper / devicemapper / data
Meta veri döngü dosyası: / var / lib / docker / devicemapper / devicemapper / metadata
Kullanılan Veri Alanı: 11.8MB
Toplam Veri Alanı: 107.4GB
Mevcut Veri Alanı: 3.817GB
Kullanılan Meta Veri Alanı: 581.6kB
Meta Veri Alanı Toplam: 2.147 GB
Mevcut Meta Veri Alanı: 2.147GB
İnce Havuz Minimum Boş Alan: 10.74GB
Ertelenmiş Kaldırma Etkin: true
Ertelenmiş Silme Etkin: true
Ertelenmiş Silinmiş Cihaz Sayısı: 0
Kütüphane Sürümü: 1.02.140-RHEL7 (2017-05-03)
Günlük Sürücüsü: json-file
Cgroup Sürücüsü: cgroupfs
eklentiler:
Hacim: yerel
Ağ: Bridge Host Macvlan Boş Yer Paylaşımı
Günlük: awslogs fluentd gcplogs gelf journal json dosya logentries splunk syslog
Sürü: aktif
Düğüm Kimliği: viwovkb0bk0kxlk98r78apopo
İş Yöneticisi: true
Küme Kimliği: ttauawqrc8mmd0feluhcr1b0d
Yöneticiler: 1
Düğümler: 1
Orkestrasyon:
Görev Geçmişi Saklama Sınırı: 5
Sal:
Fotoğraf Aralığı: 10000
Saklanacak Eski Anlık Görüntü Sayısı: 0
Kalp Atışı Kene: 1
Seçim Kene: 3
Sevk görevlisi:
Kalp Atışı Süresi: 5 saniye
CA Yapılandırması:
Sona Erme Süresi: 3 ay
Zorla Döndür: 0
Otomatik Kilit Yöneticileri: yanlış
Kök Dönüş Sürüyor: yanlış
Düğüm Adresi: 192.168.0.102
Yönetici Adresleri:
192.168.0.102:2377
Çalışma zamanları: runc
Varsayılan Çalışma Zamanı: runc
İkili İnit: docker-init
containerd sürümü: 89623f28b87a6004d4b785663257362d1658a729
runc sürümü: b2567b37d7b75eb4cf325b77297b140ea686ce8f
init sürümü: 949e6fa
Güvenlik seçenekleri:
Seccomp
Profil: varsayılan
Çekirdek Sürümü: 3.10.0-693.11.1.el7.x86_64
İşletim Sistemi: CentOS Linux 7 (Core)
OSType: linux
Mimari: x86_64
İşlemciler: 1
Toplam Bellek: 1.102GiB
İsim: centOS-7
ID: DN4N: BHHJ: 6DJ7: SZPG: FJJC: XP6T: 23R4: CESK: E5PO: SJ6B: BOST: HZQ5
Docker Root Dizini: / var / lib / docker
Hata Ayıklama Modu (istemci): yanlış
Hata Ayıklama Modu (sunucu): yanlış
Kayıt Defteri: https://index.docker.io/v1/
Etiketler:
Deneysel: yanlış
Güvensiz Kayıtlar:
127.0.0.0/8
Canlı Geri Yükleme Etkin: yanlış

Aşağıdaki komutu kullanarak kümenizde bulunan düğümlerin tam listesini görmelisiniz:

docker düğümü ls

Çıktı şöyle olmalıdır:

Adım 4: Yönetici düğümüne Çalışan düğümleri ekleme

İşçi düğümlerini aşağıdaki komutla docker sürüsü hizmetine ekleyin:

docker sürüsü katılmak –token SWMTKN-1
3793hvb71g0a6ubkgq8zgk9w99hlusajtmj5aqr3n2wrhzzf8z-1s38lymnir13hhso1qxt5pqru 192.168.0.101:2377

Çıktı şöyle olmalıdır:

Düğümlerin durumunu kontrol etmek için aşağıdaki komutu çalıştırın:

docker düğümü ls

İşlem başarılı olursa, aşağıda gösterilen çıktıyı almalısınız:

Kayıp birleştirme belirteci almak istiyorsanız, aşağıdaki komutu çalıştırın:

docker sürüsü katılmak token yöneticisi -q

Şimdiye kadar, liman işçiliği sürüsü modu iki işçi düğümü ile başarıyla çalışıyor olmalıdır.

Adım 5: Hizmeti Sürü modunda ayarlama

Şimdi hizmeti Sürü Modunda başlatın. Bu durumda, üç kapsayıcıyı kullanarak Docker Swarm Mode’da bir web hizmeti başlatacağız.

Aşağıdaki komutu yalnızca Docker Manager’dan çalıştırın:

docker hizmeti oluşturmak -p 80:80 –name webservice –replicas 3 httpd

Çıktı şöyle görünmelidir:

Hizmetinizin durumunu kontrol etmek için aşağıdaki komutu çalıştırın:

liman işçisi hizmet ls

Çıktı:

Yukarıdaki çıktıda, kaplar küme düğümlerine başarıyla dağıtılır. Aşağıdaki web tarayıcı adreslerini kullanarak herhangi bir düğümden web sayfasında oturum açmak artık daha kolay.

http: // 172.168. 0.101
http: //172.168. 0.102
http: //172.168. 0.103

Adım 6: Konteyner Kendi Kendini İyileştirme Testi

Docker Sürü Modu, konteyner kendini iyileştirme gibi benzersiz özellikler içerir. Bir kap işlevini yerine getiremezse, yönetici, kapların söz konusu düğümde otomatik olarak yeniden başlatılmasını sağlar..

Sürecin çalışıp çalışmadığını test etmek için, bir kapsayıcıyı workernode2’den kaldıralım ve yeni bir kapsayıcı başlatılıp başlatılmadığını öğrenelim.

Workernode2’de kapsayıcı kimliğini listelemek için aşağıdaki komutu çalıştırın:

docker ps

Çıktı şöyle olmalıdır:

Şimdi, kap 9b01b0a55cb7’yi kaldırmak için aşağıdaki komutu çalıştırın:

liman işçisi rm 9b01b0a55cb7 -f

Şimdi Manager düğümünden yeni bir kapsayıcı dağıtılıp dağıtılmadığını kontrol edin:

docker hizmeti ps webservice

Şimdiye kadar, bir konteynerin başarısız olduğunu ve hemen, workernode2’de başka bir konteynerin başlatıldığını fark edebilirsiniz:

Adım 7: Hizmet için kapları yukarı ve aşağı ölçeklendirme

Docker Kümesinde, kapsayıcıları ölçeklendirmek ve küçültmek mümkündür. Bu durumda, kapsayıcıları hizmet için 5’e yükseltmeye çalışalım.

[root @ dkmanager ~] # liman işçisi hizmet ölçeği web sunucusu = 5
5’e kadar ölçeklendirilmiş web sunucusu
[root @ dkmanager ~] #

Aşağıdaki komutu kullanarak hizmetin durumunu tekrar kontrol edin:

Şimdi, hizmet için kapsayıcıyı 2’ye indirmeye çalışalım:

[root @ dkmanager ~] # liman işçisi hizmet ölçeği web sunucusu = 2
web sunucusu 2’ye ölçeklendirildi
[root @ dkmanager ~] #

İşlemin aşağıdaki komutla yapıldığını kontrol edin:

Şimdi, CentOS7’de tamamen yapılandırılmış bir Docker Swarm kümeniz olmalı.

Sonuç

İşte aldın. Yeni Swarm modunun ve Docker motorunun yardımıyla Docker Swarm’ı kurmak bu kadar kolay. Kurulum tamamlandıktan sonra, ek bir güvenlik katmanı sağlayarak sunucuları koruduğunuzdan emin olmanız önemlidir. Güvenlik duvarı ve izleme özelliklerine sahip bir güvenlik özelliği iyi bir başlangıçtır.

En iyi 3 Özel sunucu barındırma hizmetine göz atın:

A2 Hosting

Başlangıç ​​fiyatı:
$ 99.59


Güvenilirlik
9.3


Fiyatlandırma
9.0


Kullanıcı dostu
9.3


Destek
9.3


Özellikleri
9.3

Yorumları oku

A2 Hosting’i ziyaret edin

FastComet

Başlangıç ​​fiyatı:
$ 139.00


Güvenilirlik
9.7


Fiyatlandırma
9.5


Kullanıcı dostu
9.7


Destek
9.7


Özellikleri
9.6

Yorumları oku

FastComet’i ziyaret edin

Hostwinds

Başlangıç ​​fiyatı:
$ 99.00


Güvenilirlik
9.3


Fiyatlandırma
9.2


Kullanıcı dostu
9.2


Destek
9.3


Özellikleri
9.2

Yorumları oku

Hostwinds’i ziyaret edin

İlgili Nasıl Yapılır Makaleleri

  • Docker Kaplarını OpenStack Isı ile Dağıtma
    uzman
  • Django bir CentOS 7 VPS veya Özel Sunucuya nasıl kurulur
    orta düzey
  • Ubuntu 16.04 VPS veya Adanmış Sunucuda Docker Sürüsü Kümesi Nasıl Kurulur
    uzman
  • Yüklemek & Caddy web sunucusunu CentOS 7 VPS’de yapılandırma
    orta düzey
  • Ubuntu 16.04 VPS veya Adanmış Sunucuda SSH Kurulumu
    orta düzey
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me