Azure Container Registry için en iyi yöntemler
Bu en iyi yöntemleri takip etmek, kapsayıcı görüntülerini ve diğer yapıtları depolamak ve dağıtmak için Azure'da özel kayıt defterinizin performansını ve uygun maliyetli kullanımını en üst düzeye çıkarmanıza yardımcı olabilir.
Kayıt defteri kavramları hakkında arka plan bilgi için bkz. Kayıt defterleri, depolar ve görüntüler hakkında. Kayıt defterinize Öneriler ve sürüm görüntülerine stratejiler için kapsayıcı görüntülerini etiketleme ve sürümleme hakkında daha fazla bilgi için bkz.
Yakın ağ dağıtımı
Kapsayıcı kayıt defterinizi, kapsayıcıları dağıttığınız Azure bölgesinde oluşturun. Kayıt defterinizin ağ açısından kapsayıcı konaklarınıza yakın bir bölgeye yerleştirilmesi hem gecikmeyi hem de maliyeti düşürmeye yardımcı olabilir.
Yakın ağ dağıtımı, özel kapsayıcı kayıt defteri kullanmanın birincil nedenlerinden biridir. Docker görüntülerinin kademeli dağıtıma imkan tanıyan etkili bir katman yapısı vardır. Bununla birlikte, yeni düğümlerin belirli bir görüntü için gereken tüm katmanları çekmesi gerekir. Bu ilk docker pull hızla büyüyerek birkaç gigabayta ulaşabilir. Dağıtımınıza yakın özel bir kayıt defterinin olması bu ağ gecikmesini en aza indirir.
Buna ek olarak, Azure dahil tüm genel bulutlar ağ çıkışı ücretleri uygular. Bir veri merkezinden diğerine görüntü çekmek, gecikmeye ek olarak ağ çıkışı ücretlerine yol açar.
Çok bölgeli dağıtımları coğrafi olarak çoğaltma
Birden çok bölgeye kapsayıcı dağıtıyorsanız Azure Container Registry'nin coğrafi çoğaltma özelliğini kullanın. İster yerel veri merkezlerinden küresel müşterilere hizmet sunuyor olun ister geliştirme takımınız farklı konumlarda çalışıyor olsun, kayıt defterinizi coğrafi olarak çoğaltarak kayıt defteri yönetimini basitleştirebilir ve gecikmeyi en aza indirebilirsiniz. Ayrıca, görüntülerin ne zaman sevk edildikleri gibi belirli çoğaltmalarda olayları size bildirmek için bölgesel web kancaları yapılandırabilirsiniz.
Coğrafi çoğaltma, kayıt defterleriyle Premium kullanılabilir. Coğrafi çoğaltma özelliğini kullanmayı öğrenmek için Azure Container Registry’de coğrafi çoğaltma başlıklı üç bölümlü öğreticiye bakın.
Çekme performansını en üst düzeye çıkarma
Görüntüleri dağıtımlarınıza yakın yerleştirmenin yanı sıra, görüntülerinizi kendi özellikleri çekme performansını etkileyebilir.
Görüntü boyutu - Gereksiz katmanları kaldırarak veya katmanların boyutunu azaltarak görüntü boyutlarını en aza indirme. Görüntü boyutunu azaltmanın bir yolu, yalnızca gerekli çalışma zamanı bileşenlerini dahil etmek için çok aşamalı Docker derleme yaklaşımını kullanmaktır.
Ayrıca görüntüde daha hafif bir temel işletim sistemi görüntüsü olup olmadığını da kontrol edin. Ayrıca belirli temel görüntüleri önbelleğe alan Azure Container Instances gibi bir dağıtım ortamı kullanıyorsanız, önbelleğe alınan görüntülerden biri için görüntü katmanını değiştirip değiştire olmadığınızı kontrol edin.
Katman sayısı - Kullanılan katman sayısını dengeler. Çok az sayıda makineniz varsa, konakta katman yeniden kullanımından ve önbelleğe almadan yararlanamayabilirsiniz. Çok fazla ve dağıtım ortamınız daha fazla zaman harcayarak sıkıştırarak ve sıkıştırarak. Beş ile 10 katman arasında en uygun katmandır.
Ayrıca, performans Azure Container Registry hizmet katmanını seçin. Premium katmanı, yüksek hacimli dağıtımlar olduğunda en yüksek bant genişliğine ve en yüksek eşzamanlı okuma ve yazma işlemleri oranına sahiptir.
Depo ad alanları
Depo ad alanlarını kullanarak, tek bir kayıt defterinin kuruluş içindeki birden çok grup arasında paylaşımına izin veebilirsiniz. Kayıt defterleri farklı dağıtımlarla ve takımlarla paylaşılabilir. İç içe ad alanlarını destekleyen Azure Container Registry, grup yalıtımı imkanı sunar. Ancak, kayıt defteri hiyerarşi olarak değil, tüm depoları bağımsız olarak yönetir.
Örneğin, aşağıdaki kapsayıcı görüntüsü etiketlerini göz önünde bulundurun. gibi şirket genelinde kullanılan görüntüler kök ad alanına yerleştirilirken, Ürünler ve Pazarlama gruplarına ait kapsayıcı görüntüleri kendi ad aspnetcore alanlarını kullanır.
- contoso.azurecr.io/aspnetcore:2.0
- contoso.azurecr.io/products/widget/web:1
- contoso.azurecr.io/products/bettermousetrap/refundapi:12.3
- contoso.azurecr.io/marketing/2017-fall/concertpromotions/campaign:218.42
Ayrılmış kaynak grubu
Kapsayıcı kayıt defterleri birden çok kapsayıcı ana bilgisayar arasında kullanılan kaynaklar olduğundan, bir kayıt defteri kendi kaynak grubunda bulun olmalıdır.
Azure Container Instances gibi belirli bir konak türüyle denemeler yapmakla birlikte, büyük olasılıkla bitiren kapsayıcı örneğini silmek istemeniz gerekir. Bununla birlikte, Azure Container Registry’ye gönderdiğiniz görüntü koleksiyonunu korumak da isteyebilirsiniz. Kayıt defterinizi kendi kaynak grubuna yerleştirerek, kapsayıcı örneğinin kaynak grubunu silerken yanlışlıkla kayıt defterindeki görüntü koleksiyonunu da silme riskini en aza indirirsiniz.
Kimlik doğrulaması ve yetkilendirme
Bir Azure kapsayıcı kayıt defteri ile kimlik doğrulama için iki ana senaryo vardır: bireysel kimlik doğrulama ve hizmet (veya "gözetimsiz") kimlik doğrulaması. Aşağıdaki tabloda, bu senaryolara kısa bir genel bakış ve her biri için önerilen kimlik doğrulama yöntemi sağlanmıştır.
| Tür | Örnek senaryo | Önerilen metot |
|---|---|---|
| Bireysel kimlik | Geliştirme makinesinden görüntü çeken veya gönderen bir geliştirici. | az acr login |
| Gözetimsiz kimlik/hizmet kimliği | Kullanıcıyla doğrudan ilgili olmayan derleme ve dağıtım işlem hatları. | Hizmet sorumlusu |
Bu ve diğer kimlik doğrulama senaryoları hakkında ayrıntılı bilgi Azure Container Registry bkz. Azure kapsayıcı kayıt defteriyle kimlik doğrulama.
Azure Container Registry, farklı kimliklere görev ve ayrıcalık dağıtmak için kuruluşta güvenlik uygulamalarını destekler. Rol tabanlı erişim denetimi kullanarak,farklı kayıt defteri işlemleri gerçekleştiren farklı kullanıcılara, hizmet sorumlularına veya diğer kimliklere uygun izinleri attayın. Örneğin, derleme işlem hattında kullanılan bir hizmet sorumlusuna itme izinleri atacak ve dağıtım için kullanılan farklı bir kimliğe çekme izinleri atayabilirsiniz. Belirli depolara daha ince ve sınırlı erişim için belirteçler oluşturun.
Kayıt defteri boyutunu yönetme
Her kapsayıcı kayıt defteri hizmet katmanının depolama kısıtlamaları tipik bir senaryoyla uyumlu olacak şekilde tasarlanmıştır: Başlarken temel, üretim uygulamalarının çoğu için Standart ve hiper ölçekli performans ve coğrafi çoğaltma için Premium. Kayıt defterinizin kullanım ömrü boyunca kullanılmayan içerikleri düzenli olarak silerek boyutunu yönetmeniz gerekir.
Kayıt defterinize depolama ve diğer kaynakların geçerli tüketimini görüntülemek için az acr show-usage Azure CLI komutunu kullanın:
az acr show-usage --resource-group myResourceGroup --name myregistry --output table
Örnek çıktı:
NAME LIMIT CURRENT VALUE UNIT
-------------------------- ------------ --------------- ------
Size 536870912000 215629144 Bytes
Webhooks 500 1 Count
Geo-replications -1 3 Count
IPRules 100 1 Count
VNetRules 100 0 Count
PrivateEndpointConnections 10 0 Count
Geçerli depolama alanı kullanımını kayıt defterinizin Genel Bakış bilgisinde de bulabilirsiniz Azure portal:

Not
Coğrafi olarak çoğaltılmış kayıt defterinde, giriş bölgesi için depolama alanı kullanımı gösterilir. Tüketilen toplam kayıt defteri depolama alanı için çoğaltma sayısıyla çarpın.
Görüntü verilerini silme
Azure Container Registry, kapsayıcı kayıt defterinize görüntü verilerini silmek için çeşitli yöntemleri destekler. Görüntüleri etiket veya bildirim özetine göre silebilir veya deponun tamamını silebilirsiniz.
Etiketsiz (bazen "dalgalı" veya "yalnız") görüntüler de dahil olmak üzere kayıt defterinize görüntü verilerini silme hakkında ayrıntılı bilgi için bkz. Azure Container Registry. Ayrıca etiketsiz bildirim için bir saklama ilkesi de ayarlayın.
Sonraki adımlar
Azure Container Registry farklı özellikler sağlayan çeşitli katmanlarda (SKU olarak da adlandırılan) kullanılabilir. Kullanılabilir hizmet katmanları hakkında ayrıntılı bilgi için bkz. Azure Container Registry katmanlarını seçin.
Kapsayıcı kayıt defterlerinin güvenlik duruşlarını geliştirme önerileri için bkz. Azure Güvenlik Temeli Azure Container Registry.