Etiketlenmemiş bildirimler için bir saklama ilkesi belirleyin

Azure Container Registry, ilişkili etiketleri (etiketlenmemiş bildirimler) olmayan saklı görüntü bildirimleri için bir bekletme ilkesi ayarlama seçeneği sunar. Bekletme ilkesi etkinleştirildiğinde, kayıt defterindeki etiketsiz 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'i 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ı

Özenle bir bekletme ilkesi ayarlayın; silinen görüntü verileri KURTARıLAMAZ. Bildirim özetine göre görüntü ç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 kayıt defterinizdeki görüntüleri çekmesini engeller. Bildirime göre çekmek yerine, önerilen en iyi yöntem 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, gerektiğinde ölçeklendirilerek iletileri sürekli işler. Örneğin, 30 günlük bekletme ilkesine sahip bir kayıt defterinde 1 saat arayla iki bildirimin kaydını kaldırdığınız varsayın. İki ileti kuyruğa alınır. Ardından, 30 gün sonra, yaklaşık 1 saat arayla, ilkenin hala geçerli olduğu varsayılarak iletiler kuyruktan alınır ve işlenir.

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

Önemli

Bekletme ilkesi yalnızca ilke etkinleştirildikten sonra zaman damgalarına sahip etiketlenmemiş bildirimler için geçerlidir. Önceki zaman damgalarına sahip kayıt defterindeki etiketsiz 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 bir 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 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 etiketsiz 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ında bir 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) seçeneğini belirleyin.
  2. Durum bölümünde Etkin'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ında bekletme ilkesini etkinleştirme

Bekletme ilkesini devre dışı bırakma

  1. Azure kapsayıcı kayıt defterinize gidin. İlkeler'in altında Bekletme (Önizleme) seçeneğini belirleyin.
  2. Durum bölümünde Devre dışı'yı seçin. Kaydet'i seçin.

Sonraki adımlar