Docker Machine, yerel bir makinede veya bulut platformunda çalışan bir Docker kümesini dağıtarak çözümler sunan bir araçtır. Docker Swarm’ı bir kümedeki farklı Docker ana bilgisayarlarına ayırarak yüksek performansı artırmak için kullanabilirsiniz.


Küme özelliği, yüksek kullanılabilirlik için önemli bir özelliktir. Kullanıcının küme sürüsü küme yöneticisi olarak bilinen kümeleri yönetmesini sağlar. Bu, kullanıcının tek bir uygulama için kapsayıcı örneği sayısını artırmasına olanak tanır.

Bu durumda, harici bir keşif hizmeti gerektirmeyen Docker 1.12’yi kullanacağız, çünkü bu amaçla dahili bir bellek anahtarı değeri deposuyla birlikte gelir. Ubuntu sürüm 16.04’te Docker Swarm kümesini kurmaya çalışacağız.

Başlamak için ihtiyacınız olacak:

  • Docker ve Ubuntu 16.04 sürüm bilgisi
  • Docker yüklü en az iki düğüm.
  • Çalışan Düğümü ve Yönetici Düğümünde yapılandırılmış bir IP adresi.

Düğümlere bir göz atalım

Docker Kümeleri iki ana bölümden oluşur:

Yönetici Düğümleri: Kümelerin durumunu korumak, hizmetlerin hazırlanması ve sürü modu uç noktalarına (HTTP API) hizmet vermek gibi kümelerin yönetimi ile ilgilenirler. Yönetici çekirdeğinde, Sürü kümesiyle ilgili kritik verileri depolayan önemli bir özellik.

İşçi Düğümleri: Bunlar kapları yürütür. Kararları planlamada yer almazlar. Çalışan düğümünün birden fazla Yönetici Düğümü olmamalıdır. Bir alt düğüm bakım altındayken bir çalışan düğümü Yönetici düğümüne yükseltmek mümkündür.

Başlamadan önce, depo sisteminizin güncel olduğundan emin olun. Güncellemek için aşağıdaki komutu kullanın:

sudo uygun-güncelleştirme -y && sudo uygun-almak yükseltme -y

Sisteminiz mevcut depo sistemiyle güncellendiğinde, bu güncellemeleri uygulamak için makinenizi yeniden başlatın.

Adım 1: Docker’ı Yükleme

Docker makinesini düğümlerin her birine kurun. Docker Swarm, Ubuntu sürüm 16.04 varsayılan modunda varsayılan modda bulunmadığından, önce çalıştırmanız gerekir.

Gerekli paketleri yüklemek için aşağıdaki komutu çalıştırın:

sudo apt-get install apt-transport-https yazılım-özellikleri-ortak ca-sertifikalar -y

Docker’ınızın uygulaması için GPG anahtarını eklemeyi unutmayın:

wget https://download.docker.com/linux/ubuntu/gpg && sudo apt-key ekle gpg

Ayrıca Docker Swarm deposunu ekleyin ve sistemi güncelleyin:

sudo yankı "deb [arch = amd64]
https://download.docker.com/linux/ubuntu xenial kararlı" >>
/etc/apt/sources.list
sudo uygun-güncelleştirme -y

Son olarak, Docker motorunu kurmak için aşağıdaki komutu kullanın:

sudo apt-get yükleme docker-ce -y

Docker motorunun kurulumu tamamlandıktan sonra, Docker’ı çalıştırın ve önyükleme süresi içinde çalışmasına izin verin:

sudo systemctl başlangıç ​​docker && sudo systemctl docker’ı etkinleştir

Varsayılan modunda, Docker arka plan programı yalnızca sistemin kök kullanıcısı olarak çalışabilir, bu nedenle diğer kullanıcılar kullanmadıkları sürece erişemez sudo. Docker’ınızı olmadan çalıştırmak için sudo, docker olarak bilinen bir Tekdüzen grubu oluşturmanız ve ardından istediğiniz kullanıcı sayısını eklemeniz gerekir. İşlemi başarılı kılmak için aşağıdaki komutu çalıştırın:

sudo groupadd docker && sudo usermod -aG liman işçisi liman işçisi

Sistemden çıkın ve üyeliğinizi güncellemek için giriş yapın. Her düğüm için ayrı ayrı komutu çalıştırın.

2. Adım: Güvenlik duvarını yapılandırma

Belirli bir kümede Yönetici düğümü olarak işlev gören en az bir düğüm olmalıdır, ancak düzgün bir işlem için üç yönetici kullanılmalıdır. Bu öğretici için, ilk düğümü Sürü yöneticisi olarak ele alalım, geri kalan iki düğüm işçi düğümlerini temsil edecek.

Daha sonra, uygulamanın düzgün çalışmasını sağlayacak bir kümenin parçası olmak için bu düğümlerde ağ bağlantı noktalarını açmanız gerekir. Bu nedenle, UFW güvenlik duvarını kullanmak 80, 2377, 2376, 2376, 4789 ve 7946 numaralı bağlantı noktalarına erişime izin verir. Sonra aşağıdaki komutu çalıştırın:

sudo ufw izin 2376 / tcp && sudo ufw izin 7946 / udp &&
sudo ufw izin 7946 / tcp && sudo ufw izin 80 / tcp &&
sudo ufw izin vermek 2377 / tcp && sudo ufw izin 4789 / udp

Şimdi güvenlik duvarını yeniden yükleyin ve önyükleme yaptıktan sonra başlayacak şekilde ayarlayın:

sudo ufw yeniden yükle && sudo ufw etkinleştirme

Yeni kuralları uygulamak için Docker sisteminizi yeniden başlatın:

sudo systemctl yeniden başlat docker

3. Adım: Docker Kümesini Oluşturma

Bu durumda, küme yöneticimizin düğüm-1 olacağına karar verdik, bu nedenle düğümünüzde aşağıdaki gibi oturum açın:

liman işçisi makine ssh düğümü-1

Bu komut istemini çalıştırdıktan sonra, sistem o düğüme giriş yaptığınızı gösterecek şekilde değişir. Düğümü Sürü yöneticisi olarak tanımlamak için aşağıdaki komutu çalıştırın:

root @ node-1: ˜ # liman işçisi sürüsü init –advertise-addr node_ip_address

Bu durumda, nope_ip_address düğümün IP adresini gösterir.

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

Bu sürüye bir işçi eklemek için aşağıdaki komutu çalıştırın:

docker swarm join –token SWMTKN-1-5p5f6p6tv1cmjzq9ntx3zmck9kpgt355qq0uaqoj2ple629dl4-5880qso8jio78djpx5mzbqcfu 192.168.0.103:2377

Bu sürüye bir yönetici eklemek için ‘docker swarm join-token manager’ı çalıştırın ve talimatları izleyin.

Bu simge, sonraki süreçte küme kümesine düğüm eklemede yararlı olacaktır. Docker makinesi, komuta sağlanan jetona dayalı olarak küme kümesine katılacak.

Şimdi devam edin ve aşağıdaki komutu yazarak Yönetici Düğümü durumunu kontrol edin:

liman işçisi bilgisi

Çıktının aşağıdaki gibi görünüp görünmediğini kontrol edin:

Kapsayıcılar: 0
Koşu: 0
Duraklatıldı: 0
Durduruldu: 0
Görüntüler: 0
Sunucu Sürümü: 17.09.0-ce
Depolama Sürücüsü: overlay2
Dosya Sistemini Yedekleme: extfs
D_type: true’yu destekler
Doğal Yer Paylaşımı Farkı: true
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: iwjtf6u951g7rpx6ugkty3ksa
İş Yöneticisi: true
Küme Kimliği: fo24c1dvp7ent771rhrjhplnu
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.103
Yönetici Adresleri:
192.168.0.103:2377
Çalışma zamanları: runc
Varsayılan Çalışma Zamanı: runc
İkili İnit: docker-init
containerd sürümü: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc sürümü: 3f2f8b84a77f73d38244dd690525642a72156c64
init sürümü: 949e6fa
Güvenlik seçenekleri:
AppArmoru
Seccomp
Profil: varsayılan
Çekirdek Sürümü: 4.4.0-45-jenerik
İşletim Sistemi: Ubuntu 16.04.1 LTS
OSType: linux
Mimari: x86_64
İşlemciler: 1
Toplam Bellek: 992.5MiB
İsim: Yönetici-Düğüm
ID: R5H4: JL3F: OXVI: NLNY: 76MV: 5FJU: XMVM: SCJG: VIL5: ISG4: YSDZ: KUV4
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/
Deneysel: yanlış
Güvensiz Kayıtlar:
127.0.0.0/8
Canlı Geri Yükleme Etkin: yanlış

Adım 4: Sürü Kümesine Çalışan Düğümleri Ekleme

İşçi Düğümü artık yapılandırıldığına göre, Küme’ye ekleyin.

İle bağlanarak başlayın Düğüm-2 yerel makinenizden:

$ liman işçisi makine ssh düğümü-2

Sonra metni metinle tamamlayın your_swarm_token küme oluşturulduğunda aldığınız belirteç olmak, manager_node_ip_address Swarm yöneticisinin IP adresini temsil eder:

Komut başarıyla yürütüldüğünde, aşağıdaki çıktıyı göreceksiniz:

Düğüm-2 oturumunu kapatın ve Yönetici Düğümü’nde oturum açın ve ardından listelemek için aşağıdaki komutu çalıştırın:

docker düğümü ls

İşçi Düğümü şöyle görünmelidir:

5. Adım: Docker Sürüsü’nde Hizmetleri Başlatın

Artık Docker Swarm’ı başarıyla kurduğunuza göre, konteyneri test etme ve Swarm Manager’ın onu nasıl ele aldığını görme zamanı.

Bu nedenle, Yönetici Düğümünüzde aşağıdaki komutla bir web hizmeti ayarlayın:

docker hizmeti oluşturmak – adı web sunucusu -p 80:80 httpd

Bu komutta, kapsayıcıdaki 80 numaralı bağlantı noktasını, Apache sunucusundaki varsayılan moda tam erişim sağlamak için kümedeki 80 numaralı bağlantı noktasına eşleştirmeyi planlıyoruz.

Bu komutu yazarak hizmetin çalışıp çalışmadığını kontrol edin:

liman işçisi hizmet ls

Bunun gibi bir çıktı görmelisiniz:

ID AD MODU REPLICAS GÖRÜNTÜ LİMANLARI
nnt7i1lipo0h web sunucusu çoğaltıldı 0/1 apache: latest *: 80->80 / TCP

Adım 6: Docker Sürüsü’nün Test Edilmesi

Şimdi Apache sunucusu Yönetici Düğümünde sorunsuz çalışıyor olmalıdır. Web sunucusuna, tarayıcınızı yönlendirerek http: // düğüm-1_ip adresi.

Aşağıdaki çıktıyı görmelisiniz:

Artık her düğümde Apache sunucusu mevcut.

Docker Hizmeti bir hizmeti ölçeklendirebilir. Sunucunun yüksek kullanılabilirliğini test etmek için, Çalışan Düğümünde Docker’ı çalıştırmayı durdurun:

sudo systemctl liman kaldırıcı

Apache Sunucusu durumunu belirlemek için aşağıdaki komutu kullanın:

docker hizmeti ps web sunucusu

Yönetici Düğümünde aşağıdaki çıktıya sahip yeni bir kap başlatılmalıdır:

KİMLİK ADI GÖRÜNTÜ NODU İSTENEN DEVLET AKIM DEVLET HATASI LİMANLARI
ia2qc8a5f5n4 webserver.1 httpd: en son Yönetici-Düğüme Hazır 1 saniye önce
7roily9zpjvq \ _ webserver.1 httpd: En son Çalışan-Düğüm Kapatma 15 saniye önce çalışıyor
r7nzo325cu73 webserver.2 httpd: En son Manager-Node Running Koşu 23 dakika önce

Sonuç

Tebrikler! Bu kadar basit. Artık Ubuntu sürüm 16.04’te Docker Swarm’ın tam bir kurulumuna sahipsiniz. Ayrıca, artık Sürü Kümesi’nde çeşitli yönetim görevlerinin nasıl yapılacağını da biliyorsunuz. Bu temel anlayışla, Docker kümenizi yönetiminizin gereksinimlerine bağlı olarak birkaç Yönetici Düğümü ile yapılandırmanız gerekir.

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

İlgili Nasıl Yapılır Makaleleri

  • CentOS 7 VPS veya Özel Sunucuda Docker Sürü Kümesi Nasıl Kurulur
    uzman
  • Docker Kaplarını OpenStack Isı ile Dağıtma
    uzman
  • Ubuntu 18.04 VPS veya Dedicated Sunucuya Docker Compose Nasıl Kurulur ve Yapılandırılır
    acemi
  • Linux İstemcisinden Ubuntu 16.04 VPS için SSH Kurulumu
    acemi
  • 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