Etiketlenmemiş bildirimler için bekletme ilkesi ayarlama

Azure Container Registry, ilişkili etiketleri (etiketlenmemiş bildirimler) olmayan saklı görüntü bildirimleri için bekletme ilkesi ayarlama seçeneği sunar. Bir bekletme ilkesi etkinleştirildiğinde, kayıt defterindeki etiketlenmemiş bildirimler ayarladığınız birkaç gün sonra otomatik olarak silinir. Bu özellik, kayıt defterinin gerekli olmayan yapıtlarla dolmasını engeller ve depolama maliyetlerinden tasarruf etmenizi sağlar.

Bu makaledeki komut örneklerini çalıştırmak için Azure Cloud Shell veya Azure CLI'nın yerel yüklemesini kullanabilirsiniz. Yerel olarak kullanmak isterseniz, sürüm 2.0.74 veya üzeri gereklidir. Sürümü bulmak için az --version komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.

Etiketlenmemiş bildirimler için bekletme ilkesi şu anda Premium kapsayıcı kayıt defterlerinin önizleme özelliğidir. Kayıt defteri hizmet katmanları hakkında bilgi için bkz. Azure Container Registry hizmet katmanları.

Uyarı

Bir bekletme ilkesini dikkatli bir şekilde ayarlayın; silinen görüntü verileri KURTARıLAMAZ. Bildirim özetine göre görüntüleri çeken sistemleriniz varsa (görüntü adının aksine), etiketlenmemiş bildirimler için bir bekletme ilkesi ayarlamamalısınız. Etiketlenmemiş görüntülerin silinmesi, bu sistemlerin görüntüleri kayıt defterinizden çekmesini engeller. Bildirime göre çekmek yerine, önerilen en iyi uygulama olan benzersiz bir etiketleme şemasını benimsemeyi göz önünde bulundurun.

Bekletme ilkesi hakkında

Azure Container Registry kayıt defterindeki bildirimler için saymaya başvurur. Bir bildirim etiketsiz olduğunda bekletme ilkesini denetler. Bekletme ilkesi etkinleştirilirse, ilkede ayarlanan gün sayısına göre belirli bir tarihe sahip bir bildirim silme işlemi kuyruğa alınır.

Ayrı bir kuyruk yönetimi işi iletileri sürekli işler ve gerektiğinde ölçeklendirilebilir. Örneğin, 30 günlük saklama ilkesine sahip bir kayıt defterinde 1 saat arayla iki bildirimin etiketlerini kaldırdığınız varsayılır. İki ileti kuyruğa alınır. Ardından, 30 gün sonra, yaklaşık 1 saat arayla iletiler kuyruktan alınır ve ilkenin hala etkin olduğu varsayılarak işlenir.

delete-enabled Etiketlenmemiş bir bildirimin özniteliği olarak falseayarlanırsa, bildirim kilitlenir ve ilke tarafından silinmez.

Önemli

Bekletme ilkesi yalnızca ilke etkinleştirildikten sonra zaman damgaları içeren etiketsiz bildirimler için geçerlidir. Önceki zaman damgalarına sahip kayıt defterindeki etiketlenmemiş bildirimler ilkeye tabi değildir. Görüntü verilerini silmeye yönelik diğer seçenekler için bkz. Azure Container Registry'de kapsayıcı görüntülerini silme.

Bekletme ilkesi ayarlama - CLI

Aşağıdaki örnekte, kayıt defterindeki etiketlenmemiş bildirimler için bekletme ilkesi ayarlamak üzere Azure CLI'nin nasıl kullanılacağı gösterilmektedir.

Bekletme ilkesini etkinleştirme

Varsayılan olarak, kapsayıcı kayıt defterinde hiçbir bekletme ilkesi ayarlanmadı. Bekletme ilkesini ayarlamak veya güncelleştirmek için Azure CLI'da az acr config retention update komutunu çalıştırın. Etiketlenmemiş bildirimleri korumak için 0 ile 365 arasında bir gün sayısı belirtebilirsiniz. Gün sayısı belirtmezseniz, komut varsayılan olarak 7 gün ayarlar. Saklama süresinden sonra kayıt defterindeki tüm etiketlenmemiş bildirimler otomatik olarak silinir.

Aşağıdaki örnek kayıt defterim kayıt defterindeki etiketlenmemiş bildirimler için 30 günlük bir bekletme ilkesi ayarlar:

az acr config retention update --registry myregistry --status enabled --days 30 --type UntaggedManifests

Aşağıdaki örnek, kayıt defterindeki herhangi bir bildirimi etiketsiz hale gelir gelmez silmek için bir ilke ayarlar. 0 günlük bir bekletme süresi ayarlayarak bu ilkeyi oluşturun.

az acr config retention update \
  --registry myregistry --status enabled \
  --days 0 --type UntaggedManifests

Bekletme ilkesini doğrulama

Önceki ilkeyi 0 günlük saklama süresiyle etkinleştirirseniz, etiketlenmemiş bildirimlerin silindiğini hızla doğrulayabilirsiniz:

  1. Kayıt defterinize bir test görüntüsü hello-world:latest gönderin veya istediğiniz başka bir test görüntüsünü değiştirin.
  2. hello-world:latest Örneğin az acr repository untag komutunu kullanarak resmin etiketini kaldırın. Etiketlenmemiş bildirim kayıt defterinde kalır.
    az acr repository untag \
      --name myregistry --image hello-world:latest
    
  3. Birkaç saniye içinde etiketlenmemiş bildirim silinir. Örneğin az acr manifest list-metadata komutunu kullanarak depodaki bildirimleri listeleyerek silme işlemini doğrulayabilirsiniz. Test görüntüsü depodaki tek görüntüyse, deponun kendisi silinir.

Bekletme ilkesini yönetme

Kayıt defterinde bekletme ilkesi kümesini göstermek için az acr config retention show komutunu çalıştırın:

az acr config retention show --registry myregistry

Kayıt defterinde bekletme ilkesini devre dışı bırakmak için az acr config retention update komutunu çalıştırın ve ayarlayın --status disabled:

az acr config retention update \
  --registry myregistry --status disabled \
  --type UntaggedManifests

Bekletme ilkesi ayarlama - portal

Azure portal kayıt defterinin bekletme ilkesini de ayarlayabilirsiniz.

Bekletme ilkesini etkinleştirme

  1. Azure kapsayıcı kayıt defterinize gidin. İlkeler'in altında Bekletme (Önizleme) öğesini seçin.
  2. Durum'daEtkin'i seçin.
  3. Etiketlenmemiş bildirimleri korumak için 0 ile 365 arasında bir gün sayısı seçin. Kaydet’i seçin.

Azure portal'de bekletme ilkesini etkinleştirme

Bekletme ilkesini devre dışı bırakma

  1. Azure kapsayıcı kayıt defterinize gidin. İlkeler'in altında Bekletme (Önizleme) öğesini seçin.
  2. Durum'daDevre Dışı'yı seçin. Kaydet’i seçin.

Sonraki adımlar