"Enter"a basıp içeriğe geçin

Docker-Compose Ölçeği – Linux tavsiyesi

Bordür konteynırlarına evcil hayvan olarak değil, canlı hayvan olarak davranılması gerekiyor. Bu, bunların oluşturulması, yapılandırılması, yönetilmesi ve atılmasının yukarıdan aşağıya otomatik olarak yapılması gerektiği anlamına gelir. Bireysel konteynerler oluşturup yapılandırmayız. Bunun yerine, daha fazla kapsayıcıyı döndürerek yatay olarak ölçeklendiriyoruz.

Yatay ölçeklendirme, taleplerdeki herhangi bir artışı karşılamak için daha fazla bilgisayarı, yani sanal makineleri, konteynerleri veya fiziksel sunucuları geri getirmek anlamına gelir. Bu, ölçeklendirmenin tersidirdikey’, Bu genellikle daha yavaş bir makinenin (daha küçük bellek ve depolama alanına sahip) daha hızlı bir makineyle değiştirilmesi anlamına gelir.En büyük ‘ a.

Kapsayıcılar ile her iki türün de ölçeklenmesi çok dinamik hale geldi. Erişebilecekleri CPU, bellek veya depolama miktarını ayarlayarak belirli uygulamalar için kotalar belirleyebilirsiniz. Bu kota, gerektiğinde ölçeği artırmak veya azaltmak için değiştirilebilir. Aynı şekilde talep artışını karşılamak için daha fazla konteyner döndürerek yatay olarak ölçeklendirebilir ve ardından oluşturduğunuz konteynerlerdeki fazlalıkları kaldırarak küçültebilirsiniz. Sizi saate (veya dakikaya) göre faturalandıran bulutta barındırılan hizmetler kullanıyorsanız, bu, barındırma faturalarınızı önemli ölçüde azaltabilir.

Bu makalede, yalnızca yukarıdaki açıklama kadar dinamik olmayan ancak temelleri öğrenen biri için iyi bir başlangıç ​​noktası olan yatay ölçeklemeye odaklanacağız. Başlayalım.

Derleme dosyanızı CLI’ye geçirerek uygulama yığınınızı başlattığınızda liman işçisi oluştur bilimi kullanabilirsin -Ölçek Orada herhangi bir özel hizmetin ölçeklenebilirliğini belirtmek için.

Örneğin, docker yapı dosyam için:

ihraç: “3”
Hizmetler:
beyaz:
resim: “nginx: en oğlum”
Limanlar:
“80-85:80”

$ liman işçisi oluştur -NS–Ölçekbeyaz=5

Burada hizmet, yml bildiriminde web olarak adlandırılır, ancak dağıtımınızın web arabirimi, veritabanı, monitör arka plan programı vb. belki olabilirsin Global mimari, Üst Düzey Hizmetler bölümü altında bir öğe seçmenizi gerektirir. Ayrıca aldığınız hizmete göre betiğin diğer kısımlarını da değiştirmeniz gerekebilir. Örneğin, 80-85 aralığındaki ana bilgisayar bağlantı noktaları, tümü dahili olarak dinleyen 5 Nginx kapsayıcısı örneğini barındırmak için verilir. Bağlantı noktası 80, ancak ana bilgisayar 80-85 bağlantı noktalarını dinler ve trafiği her bir benzersiz bağlantı noktasından Nginx’ten bir bağlantı noktasına iletir. Örnekler.

Hangi kapsayıcının bağlantı noktası numarasını aldığını öğrenmek için şu komutu kullanabilirsiniz:

$ liman işçisi Not-a
Bir kapsayıcı tanımlayıcı resim komutu oluşturuldu
d02e19d1b688 nginx: Bayıldım “nginx -g ‘arka plan programı…'” 1 dakika önce
34b4dd74352d nginx: en son “nginx -g ‘arka plan programı…'” 1 dakika önce
98549c0f3dcf nginx: en son “nginx -g ‘arka plan programı…'” 1 dakika önce
Durum bağlantı noktası adları
Yaklaşık 0.0.0.0 1 dakika yukarı:83>80/tcp projesi_web_1
Yaklaşık 0.0.0.0 1 dakika yukarı:82>80/tcp projesi_web_3
Yaklaşık 0.0.0.0 1 dakika yukarı:81>80/tcp projesi_web_2

Birden çok hizmeti ölçeklendirmek için gerekli sayıda örneğin oluşturulduğundan emin olmak için ölçek bayrağını ve sayı parametresini kullanarak bunları tek tek tanımlamanız gerekir. Örneğin, iki farklı hizmetiniz varsa, şöyle bir şey yapmanız gerekir:

$ liman işçisi oluştur -NS–ÖlçekHizmet 1=5–ÖlçekHizmet 2=6

Bunu yapmanın tek yolu budur çünkü docker-compose up –scale hizmet başına iki kez çalıştıramazsınız. Bunu yapmak, önceki hizmetin kapsamını tek bir kapsayıcıya döndürür.

Ardından, belirli bir görüntü için ölçek değerini docker-compose.yml içinden nasıl ayarlayabileceğinizi göreceğiz. Dosya bir dizi ölçek seçeneği içeriyorsa, ölçek seçeneğinin CLI eşdeğeri dosyadaki değeri geçersiz kılar.

Ölçek

Bu seçenek, docker-compose dosya sürümü 2.2’de eklenmiştir ve teknik olarak kullanılabilir, ancak kullanılmasını önermem. Bütünlük adına burada bahsedilmiştir.

docker-compose.yml dosyam için:

ihraç: “2.2”
Hizmetler:
beyaz:
resim: “nginx: en oğlum”
Limanlar:
“80-85:80”
Ölçek: 3

Bu tamamen geçerli bir seçenektir. Docker Engine 1.13.0 ve üstü ile çalışmasına rağmen.

Üretimde transkripsiyon kullanımı

Derleme dosyasındaki ölçek komutunu veya eski ölçek değerini kullanmak yerine, çoğaltma değişkenini kullanmalısınız. Bu, belirli bir hizmetle ilişkili basit bir tamsayıdır ve bir ölçek değişkeni gibi davranır. Temel fark, Docker Swarm’ın açıkça dağıtılmış bir sistem için tasarlanmış olmasıdır.

Bu, uygulamanızı farklı bölgelerde ve birden çok farklı veri merkezinde çalışan birden çok sanal düğümde veya fiziksel sunucuda konuşlandırabileceğiniz anlamına gelir. Bu, çalışan çok sayıda hizmet örneğinden gerçekten yararlanmanıza olanak tanır.

Kesintilere karşı daha fazla dayanıklılık sağlamanın yanı sıra, tek bir değişkeni değiştirerek uygulamanızı yukarı ve aşağı ölçeklendirmenize olanak tanır. Veri merkezi kapalıysa veya ağ bağlantısı başarısız olursa, başka bir bulut sunucusu başka bir yerde çalıştığı için kullanıcılar uygulamaya erişmeye devam edebilir. Uygulama dağıtımınızı AB, ABD ve Asya gibi birden çok coğrafyaya yayarsanız Pasifik, uygulamanıza söz konusu cihazdan erişmeye çalışan kullanıcıların yanıt süresini kısaltacaktır. bölge.

çözüm

Docker-Compose ölçeklendirme, üretimde çalışan tek bir Docker ana bilgisayarı kadar küçük ortamlar için kullanışlıdır. Docker’ı iş istasyonlarında çalıştıran geliştiriciler için de çok kullanışlıdır. Uygulamanın üretimde ve farklı koşullar altında nasıl ölçeklendirileceğini test etmelerine yardımcı olabilir. Scale komutunu kullanmak, yeni bir Docker Swarm kurma zahmetini ortadan kaldırır.

Docker Swarm’ın çalışan bir örneğine sahipseniz, kopyalarla oynamaktan çekinmeyin. Rica etmek belgeler bu konuda,

Diğer gönderilerimize göz at

[wpcin-random-posts]

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir