Freigeben über


Festlegen einer Aufbewahrungsrichtlinie für nicht markierte Manifeste

In Azure Container Registry haben Sie die Möglichkeit, eine Aufbewahrungsrichtlinie für gespeicherte Imagemanifeste ohne zugeordnete Markierungen (nicht markierte Manifeste) festzulegen. Ist eine Aufbewahrungsrichtlinie aktiviert, werden nicht markierte Manifeste in der Registrierung nach einer von Ihnen festgelegten Anzahl von Tagen automatisch gelöscht. Mit dieser Funktion wird eine Überfüllung der Registrierung mit nicht mehr benötigten Artefakten vermieden, und Speicherkosten werden gespart.

Sie können Azure Cloud Shell oder eine lokale Installation der Azure CLI verwenden, um die Beispielbefehle in diesem Artikel auszuführen. Für die lokale Verwendung ist Version 2.0.74 oder höher erforderlich. Führen Sie az --version aus, um die Version zu ermitteln. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sie bei Bedarf unter Installieren der Azure CLI.

Eine Aufbewahrungsrichtlinie für nicht markierte Manifeste ist derzeit eine Previewfunktion von Premium Container Registrys. Informationen zu den Tarifen von Container Registry finden Sie unter Azure Container Registry-Tarife.

Warnung

Legen Sie eine Aufbewahrungsrichtlinie stets mit Bedacht fest, da gelöschte Imagedaten nicht wiederhergestellt werden können. Bei Systemen, die Images nach dem Manifest-Digest pullen (und nicht nach dem Imagenamen), sollten Sie für nicht markierte Manifeste keine Aufbewahrungsrichtlinie festlegen. Wenn Sie Images ohne Tags löschen, hindern Sie diese Systeme daran, die Images aus Ihrer Registrierung zu löschen. Erwägen Sie statt des Pullens nach Manifest die Einführung eines eindeutigen Tagging-Schemas. Dies ist eine bewährte Methode.

Informationen zur Aufbewahrungsrichtlinie

Azure Container Registry führt eine Verweiszählung für Manifeste in der Registrierung aus. Wenn ein Manifest nicht markiert ist, wird die Aufbewahrungsrichtlinie überprüft. Wenn eine Aufbewahrungsrichtlinie aktiviert ist, wird ein Manifestlöschvorgang mit einem bestimmten Datum in die Warteschlange eingereiht, das von der Anzahl der Tage abhängt, die in der Richtlinie festgelegt sind.

Ein gesonderter Warteschlangenverwaltungsauftrag verarbeitet ständig Nachrichten und wird nach Bedarf skaliert. Angenommen, Sie entfernen zum Beispiel bei zwei Manifesten die Markierungen, jeweils eine Stunde auseinander, in einer Registrierung mit einer Aufbewahrungsrichtlinie von 30 Tagen. Es würden zwei Nachrichten in die Warteschlange eingereiht. Anschließend würden 30 Tage später, ungefähr 1 Stunde auseinander, die Nachrichten aus der Warteschlange abgerufen und verarbeitet, vorausgesetzt, die Richtlinie ist weiterhin in Kraft.

Wenn das delete-enabled-Attribut eines nicht markierten Manifests auf false festgelegt ist, wird das Manifest gesperrt und nicht von der Richtlinie gelöscht.

Wichtig

Die Aufbewahrungsrichtlinie gilt nur für nicht markierte Manifeste mit Zeitstempeln, die nach Aktivierung der Richtlinie liegen. Nicht markierte Manifeste in der Registrierung mit früheren Zeitstempeln unterliegen nicht der Richtlinie. Weitere Optionen zum Löschen von Imagedaten finden Sie in den Beispielen unter Löschen von Containerimages in Azure Container Registry.

Festlegen einer Aufbewahrungsrichtlinie über die CLI

Im folgenden Beispiel wird gezeigt, wie Sie mithilfe der Azure CLI eine Aufbewahrungsrichtlinie für nicht markierte Manifeste in einer Registrierung festlegen.

Aktivieren einer Aufbewahrungsrichtlinie

Standardmäßig ist in einer Containerregistrierung keine Aufbewahrungsrichtlinie festgelegt. Führen Sie zum Festlegen oder Aktualisieren einer Aufbewahrungsrichtlinie den Befehl az acr config retention update in der Azure CLI aus. Sie können einen Zeitraum zwischen 0 und 365 Tagen angeben, in dem die nicht markierten Manifeste aufbewahrt werden. Wenn Sie keine Angaben machen, legt der Befehl einen Standardwert von sieben Tagen fest. Nach Ablauf der Aufbewahrungsdauer werden alle nicht markierten Manifeste in der Registrierung automatisch gelöscht.

Im folgenden Beispiel wird eine Aufbewahrungsrichtlinie mit einer Aufbewahrungsdauer von 30 Tagen für nicht markierte Manifeste in der Registrierung myregistry festgelegt:

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

Im folgenden Beispiel wird eine Richtlinie festgelegt, durch die jedes Manifest in der Registrierung gelöscht wird, das keine Markierung aufweist. Erstellen Sie diese Richtlinie, indem Sie eine Aufbewahrungsdauer von 0 Tagen festlegen.

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

Überprüfen einer Aufbewahrungsrichtlinie

Wenn Sie die vorherige Richtlinie mit einer Aufbewahrungsdauer von 0 Tagen aktivieren, können Sie schnell überprüfen, ob nicht markierte Manifeste gelöscht werden:

  1. Pushen Sie ein Testbild hello-world:latest in Ihre Registrierung, oder ersetzen Sie ein anderes Testbild Ihrer Wahl.
  2. Entfernen Sie die Markierung des Bilds hello-world:latest, indem Sie beispielsweise den Befehl az acr repository untag verwenden. Das nicht markierte Manifest verbleibt in der Registrierung.
    az acr repository untag \
      --name myregistry --image hello-world:latest
    
  3. Innerhalb weniger Sekunden wird das nicht markierte Manifest gelöscht. Sie können den Löschvorgang überprüfen, indem Sie Manifeste im Repository auflisten, z. B. mit dem Befehl az acr manifest list-metadata. Wenn das Testbild das einzige im Repository war, wird das Repository selbst gelöscht.

Verwalten einer Aufbewahrungsrichtlinie

Führen Sie den Befehl az acr config retention show aus, um die in einer Registrierung festgelegte Aufbewahrungsrichtlinie anzuzeigen:

az acr config retention show --registry myregistry

Führen Sie den Befehl az acr config retention update aus, und legen Sie --status disabled fest, um die Aufbewahrungsrichtlinie in einer Registrierung zu deaktivieren:

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

Festlegen einer Aufbewahrungsrichtlinie über das Portal

Sie können eine Aufbewahrungsrichtlinie in einer Registrierung auch über das Azure-Portal festlegen.

Aktivieren einer Aufbewahrungsrichtlinie

  1. Navigieren Sie zu Ihrer Azure-Containerregistrierung. Wählen Sie unter Richtlinien die Option Aufbewahrung (Vorschau) aus.
  2. Wählen Sie Aktiviert als Status aus.
  3. Geben Sie einen Zeitraum zwischen 0 und 365 Tagen an, in dem die nicht markierten Manifeste aufbewahrt werden. Wählen Sie Speichern aus.

Aktivieren einer Aufbewahrungsrichtlinie im Azure-Portal

Deaktivieren einer Aufbewahrungsrichtlinie

  1. Navigieren Sie zu Ihrer Azure-Containerregistrierung. Wählen Sie unter Richtlinien die Option Aufbewahrung (Vorschau) aus.
  2. Wählen Sie Deaktiviert als Status aus. Wählen Sie Speichern aus.

Nächste Schritte