Konteynerin görüntüsü: Docker Hub'ın hızının sınırlarını kontrol altında tutun

Adanali

Member


  1. Konteynerin görüntüsü: Docker Hub'ın hızının sınırlarını kontrol altında tutun

Docker şirketi yakın zamanda Docker Hub'dan konteynerlerin görüntülerinin indirilmesi (çekme) için oran sınırlarının açıkladı. Bu değişiklik belirli hesap hesaplarına ve kullanıcılarına uygulanmalı ve 01.04.2025 tarihinde etkin olacaktır. Docker, Docker Hub'ın işleyişini karlı bir şekilde gerçekleştirmek için önlemi haklı çıkardı.










Nicholas Dille, Freiburg'da bir grup dijital medya olan Haufe Group'ta Kıdemli DevOps Mühendisidir. Heterojen ortamlarda konteynerizasyon, sanallaştırma ve otomasyon ile ilgilenir. Yirmi yıl boyunca blog yazarı, konuşmacı, yazar ve koç olarak aktifti ve 2017'den beri Captains Docker'dan biri. Microsoft, 2010-2023'te MVP olarak onurlandırdı.







Şirketin maliyetleri çalıştırma endişesi anlaşılabilir. Öte yandan, bu tür reklamların tüm dünyada etkileri vardır. Docker Hub'ın yaygın dağılımı nedeniyle, tüm dünyadaki sayısız geliştirici platformdaki çekiş hızının sınırlarını etkiliyor. Bu nedenle, sınırlar oranının açıklanan güçlendirilmesinin son anda geri çekildiği ve eski koşulların uygulanmaya devam ettiği iyi bir haber. Bununla birlikte, oranda gelecekteki varyasyonlar için hazırlanabilecek seçenekleri kontrol etmeye değer ve belki de konteyner indirmelerini yönetmek için daha ucuzdur.

Konteyner görüntülerinin görüntülerinden gereksiz indirmeden kaçının


Bu kısıtlamalardan kaçınmak için çeşitli seçenekler vardır. Kullanım durumu ve çevre çevre uygun bir çözümün ne kadar karmaşık olduğunu belirler. Prensip olarak, uygun prosedürü seçmek için aşağıdaki durumlar dikkate alınmalıdır: Çalışma ve faaliyet yoluna bağlı olarak, geliştirici çalışma ekipmanlarının çekiş hızının sınırlarından etkilenebilir. Yapı işlemlerini yerel düzeyde başlatın, kapların görüntüsü hızla terler, böylece iş çekiş hızının sınırları ile tehlikeye girer. Değişiklikler CI/CD merkezi boruları tarafından kontrol edilir edilmez, çekirdek altyapı konteynerinin görüntüsünün çekimleri, sınırlara ulaşan can sıkıcı damlalar. Buna ek olarak, Kubernetes kümeleri veya bireysel Docker ana bilgisayarları gibi merkezi altyapılar Docker Hub'a erişir ve çekme sınırlarından etkilenebilir.

Sonuç olarak, geliştiriciler yavaşlatılabilir ve merkezi hizmetlerin dağıtılamadığı ve güncellenemeyeceği. Etkiler, açık kaynak projelerinde olduğu gibi, daha yüksek oran sınırları için bütçe yoksa, özellikle acı vericidir.

Geliştiriciler ne yapabilir


Kural olarak, geliştirici bir Docker hesabı kullanmaz ve daha sonra kapları kullanıcı olarak otantik olmadan anonim olarak indirmez. Hız, IPv4 adresine göre hesaplanır. İnternet erişimi birçok geliştirici tarafından aynı anda kullanıldığından ve bu nedenle kaynak olarak tek bir IPv4 adresi kullanıldığından orana hızlı bir şekilde ulaşılır. Ücretsiz bir hesap oluşturmak için özel kişilerin en kolay yoludur. Bu, görüntünün saatte 100 çektiği uygun konteyner sayısını arttırır ve kapların görüntüleri ile çalışarak genellikle kesintisiz mümkün olmalıdır.

Her boyuttaki şirketler, ücretli abonelik planları aracılığıyla çekme sınırlarını iptal edebilir. Bununla birlikte, Docker'ın çalışanı için bakımı, lisansların yönetiminde ve geliştiriciler arasında çabaya neden olur. İlgili her çalışan, bir ekibe veya kurumsal bir plana eklenmesi gereken kişisel bir hesap oluşturmalıdır. Bu tedavi ancak kurumsal planda tek bir erişim kullanılarak önlenebilir.

Docker masaüstünü kullanırken, gerekli planlar zaten mevcut olabilir. Docker Desktop lisans kontrolü yapmadığından, geliştiricinin tarafındaki bir Docker hesabı kesinlikle gerekli değildir. Ancak, geliştiricinin işyerinde hesap oluşturmak gerekebilir.

CI/CD ve merkezi altyapı


CI/CD çalışmaları veya Kubernetes kümeleri gibi merkezi altyapı, konteyner görüntüleri için çekme sınırlarından etkilenirse, aşağıdaki seçenekler mevcuttur. Her durumda, altyapı düzenlemelerine ihtiyaç vardır.

Prensip olarak, merkezi altyapıdaki değişiklikler zaman gerektirir ve kuruluş içinde iletilmelidir. Değişiklikler bir siparişte planlanmalı, test edilmeli ve başlatılmalıdır. Aynı zamanda, ilgilenen kullanıcıların gruplarıyla iletişim esastır, böylece yeni olasılıklar ve gerekli ayarlamalar gerçekleştirilebilir.

Seçenek 1: Docker Hub'dan halka açık aynaların kullanımı

Docker Hub'dan bir kamu aynasını (ayna) yöneten ve Google Contains (GCR) araştırması veya kaydı da dahil olmak üzere Amazon Elazon Elastik Konteyner Kayıt Defteri (ECR) kitlesi de dahil olmak üzere ücretsiz sağlayan bazı sağlayıcılar vardır.

Başlangıçta basit bir çözüm gibi görünse de, daha sonra adil kullanım için sınırların veya yönergelerin de sunulacağı risk devam etmektedir.

Seçenek 2: Bireysel Görüntülerin Aynaları

Bir şirket zaten özel bir konteyner kaydını yönetiyorsa, istenen resmi kaplar yansıtılabilir. Bu durumda, mevcut görüntü etiketlerinin yeni resim etiketlerini ve güncellemelerini tanımak ve özel konteynerler kaydında kopyalar oluşturmak için özel tedavilere ihtiyaç vardır. Bunun için yararlı bir araç, hantal indirme ve yükleme olan regctl görüntüsünün kopyasıdır. docker save VE docker load kaçınmak.

Bu prosedürün dezavantajı, ayna kaplarının görüntülerinin güncellemeler için düzenli olarak kontrol edilmesi gerektiğidir. Bu, ayna kaplarının bir listesinin korunmasını gerektirir. Geliştiricilerin yeni gereksinimlerinin manuel bir müdahaleye ihtiyacı vardır. Ayrıca, topikalliği doğrulamak için Docker Hub'a düzenli olarak talepler gönderilir. Bu istekler hız sınırları tarafından çok sayılmaz, ancak kabinin görüntülerini yansıtacak şekilde açıkça daha yüksek olan üçüncü bir seçenek olarak önlenebilir:

Seçenek 3: Proxy'den özel çekim

En rahat çözüm, çekiş proxy'dir. Bu, Docker Demon'daki sicilin kaydedilmiş bir kaydı olarak yapılandırılır ve Docker Hub yerine herhangi bir erişimle temasa geçilir. Bu, geliştiricileri tamamen şeffaf hale getirir. İndirilen her konteyner görüntüsü arşivlenir ve Docker Hub'ı her seferinde indirmek zorunda kalmadan şirketin birçok kullanıcısına teslim edilebilir. Proxy, çekiş hızının sınırlarını artırmak için ücretli bir hesabın erişim belirteci kullanmalıdır.

Çekme proxy, hem CI/CD işleri hem de merkezi altyapı için ve geliştiricinin çalışma ekipmanları için kullanılabilir.

Bazı örnekler GITLAB veya Docker Remote Jfrog Docker deposunun vekilidir. Kullanılan araca bağlı olarak, davranış düzenlenebilir. Örneğin, bakım süresi ayarlanabilir veya bir güncellemeden sonra Docker Hub ile tekrar iletişim kurmanın kaçınılması gerekebilir.

Özel Vaka: Açık Kaynak Projeler


Görüntü çekiş hızının sınırları açık kaynak projeleri için özel bir zorluktur. Genellikle bir sponsor barındırma maliyetleri için ödeme yapamaz. Docker Hub'a birkaç alternatif vardır, ancak genellikle kapların görüntüleri için sadece sınırlı miktarda depolama alanı sunulmaktadır. Bu nedenle, açık kaynak programlarından birine, Docker veya GITLAB tarafından açık kaynak için açık kaynak programı da dahil olmak üzere bir soru gönderilmesi tavsiye edilir. Kural olarak, bu programlar için yıllık bir destek uzantısına ihtiyaç vardır: Bu, geleceği bir şekilde belirsiz kılar.

Daha İyi Hazır Olun


Docker Hub için oran sınırlarının güçlendirilmesi askıya alınmış ve eski oranlar uygulanmaya devam etse de, şirketler ve geliştirme ekipleri uygulamayla büyük ölçüde karşılaşmalı ve ilgili duruma uygun bir çözüm seçmelidir. Hazırlanmak her zaman avantajlıdır ve bu nedenle zaman baskısı olmadan değişikliklerle yüzleşebilmek her zaman avantajlıdır.


(harita)
 
Üst