Azure Container Registry için en iyi yöntemler
Bu en iyi yöntemleri izleyerek, kapsayıcı görüntülerini ve diğer yapıtları depolamak ve dağıtmak için Azure'daki özel kayıt defterinizin performansını ve uygun maliyetli kullanımını en üst düzeye çıkarmanıza yardımcı olabilirsiniz.
Kayıt defteri kavramlarının arka planı için bkz . Kayıt defterleri, depolar ve görüntüler hakkında. Ayrıca bkz. Kayıt defterinizdeki görüntüleri etiketleme ve sürüm oluşturma stratejileri için kapsayıcı görüntülerini etiketleme ve sürüm oluşturma önerileri.
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 gönderilmesi gibi belirli çoğaltmalardaki olayları size bildirmek için bölgesel web kancaları yapılandırabilirsiniz.
Coğrafi çoğaltma Premium kayıt defterleriyle 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 bir yere yerleştirmeye ek olarak, görüntülerinizin özellikleri çekme performansını etkileyebilir.
Görüntü boyutu - Gereksiz katmanları kaldırarak veya katmanların boyutunu azaltarak görüntülerinizin boyutlarını en aza indirin. Görüntü boyutunu küçültmenin 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ünüzün daha hafif bir temel işletim sistemi görüntüsü içerip içeremeyeceğini denetleyin. 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 bir görüntü katmanını değiştirip değiştiremeyeceğinizi denetleyin.
Katman sayısı - Kullanılan katman sayısını dengeleyin. Çok az seçeneğiniz varsa, konakta katman yeniden kullanımı ve önbelleğe alma avantajlarından yararlanamazsınız. Çok fazla ve dağıtım ortamınız çekme ve sıkıştırmayı açma işlemlerine daha fazla zaman harcar. Beş ile 10 katman en uygun katmandır.
Ayrıca Azure Container Registry'nin performans gereksinimlerinizi karşılayan bir hizmet katmanını seçin. Premium katmanı, yüksek hacimli dağıtımlarınız olduğunda en yüksek bant genişliğini ve en yüksek eşzamanlı okuma ve yazma işlemlerini sağlar.
Depo ad alanları
Depo ad alanlarını kullanarak, kuruluşunuzdaki birden çok grup arasında tek bir kayıt defterinin paylaşılmasına izin vekleyebilirsiniz. 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 aspnetcore
şirket genelinde kullanılan görüntüler kök ad alanına yerleştirilirken, Products ve Marketing gruplarına ait kapsayıcı görüntülerinin her biri kendi ad 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, kayıt defteri kendi kaynak grubunda bulunmalıdır.
Azure Container Instances gibi belirli bir konak türüyle denemeler yapsanız da işiniz bittiğinde kapsayıcı örneğini silmek isteyebilirsiniz. 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 yöntem |
---|---|---|
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 |
Bunlar ve diğer Azure Container Registry kimlik doğrulama senaryoları hakkında ayrıntılı bilgi için bkz . Azure kapsayıcı kayıt defteriyle kimlik doğrulaması yapma.
Azure Container Registry, görevleri ve ayrıcalıkları farklı kimliklere dağıtmak için kuruluşunuzdaki güvenlik uygulamalarını destekler. Rol tabanlı erişim denetimini kullanarak farklı kullanıcılara, hizmet sorumlularına veya farklı kayıt defteri işlemleri gerçekleştiren diğer kimliklere uygun izinleri atayın. Örneğin, derleme işlem hattında kullanılan bir hizmet sorumlusuna anında iletme izinleri atayın ve dağıtım için kullanılan farklı bir kimliğe çekme izinleri atayın. Belirli depolara ayrıntılı ve zaman 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 hale getirmek için tasarlanmıştır: Başlangıç için temel, çoğu üretim uygulaması için Standart ve hiper ölçek 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.
Geçerli depolama tüketimini ve kayıt defterinizdeki diğer kaynakları 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 çıkış:
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 kullanımını Azure portalındaki kayıt defterinize genel bakış bölümünde de bulabilirsiniz:
Not
Coğrafi olarak çoğaltılmış bir kayıt defterinde, ana bölge için depolama 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 defterinizden görüntü verilerini silmek için çeşitli yöntemleri destekler. Resimleri etikete veya bildirim özetlerine göre silebilir veya deponun tamamını silebilirsiniz.
Etiketsiz (bazen "sallanan" veya "yalnız bırakılmış" olarak da adlandırılır) görüntüleri de dahil olmak üzere kayıt defterinizden görüntü verilerini silmeyle ilgili ayrıntılar için bkz . Azure Container Registry'de kapsayıcı görüntülerini silme. Etiketlenmemiş bildirimler için bir bekletme ilkesi de ayarlayabilirsiniz.
Sonraki adımlar
Azure Container Registry, farklı özellikler sağlayan çeşitli katmanlarda (SKU'lar olarak da adlandırılır) kullanılabilir. Kullanılabilir hizmet katmanları hakkında ayrıntılı bilgi için bkz . Azure Container Registry hizmet katmanları.
Kapsayıcı kayıt defterlerinizin güvenlik duruşunu iyileştirmeye yönelik öneriler için bkz . Azure Container Registry için Azure Güvenlik Temeli.