Udostępnij za pośrednictwem


Włączanie nadmiarowości strefy w usłudze Azure Container Registry w celu zapewnienia odporności i wysokiej dostępności

Oprócz replikacji geograficznej, która replikuje dane rejestru w co najmniej jednym regionie świadczenia usługi Azure w celu zapewnienia dostępności i zmniejszenia opóźnienia dla operacji regionalnych, usługa Azure Container Registry obsługuje opcjonalną nadmiarowość strefy. Nadmiarowość strefy zapewnia odporność i wysoką dostępność dla zasobu rejestru lub replikacji (repliki) w określonym regionie.

W tym artykule pokazano, jak skonfigurować strefowo nadmiarowy rejestr kontenerów lub replikę przy użyciu interfejsu wiersza polecenia platformy Azure, witryny Azure Portal lub szablonu usługi Azure Resource Manager.

Nadmiarowość strefowa to funkcja warstwy usługi rejestru kontenerów w warstwie Premium. Aby uzyskać informacje o warstwach i limitach usługi rejestru, zobacz Azure Container Registry service tiers (Warstwy usługi Azure Container Registry).

Pomoc regionalna

  • Usługa ACR Strefy dostępności jest obsługiwana w następujących regionach:

    Ameryka Północna i Południowa Europa Afryka Azja i Pacyfik
    Brazylia Południowa
    Kanada Środkowa
    Central US
    East US
    Wschodnie stany USA 2
    Wschodnie stany USA 2 — EUAP
    South Central US
    Rząd USA Wirginia
    Zachodnie stany USA 2
    Zachodnie stany USA 3
    Francja Środkowa
    Niemcy Środkowo-Zachodnie
    Włochy Północne
    Europa Północna
    Norwegia Wschodnia
    Szwecja Środkowa
    Szwajcaria Północna
    Południowe Zjednoczone Królestwo
    West Europe
    Północna Republika Południowej Afryki
    Australia Wschodnia
    Indie Środkowe
    Chiny Północne 3
    Azja Wschodnia
    Japonia Wschodnia
    Korea Środkowa
    Katar Środkowy
    Southeast Asia
    Północne Zjednoczone Emiraty Arabskie
  • Konwersje regionów na strefy dostępności nie są obecnie obsługiwane.

  • Aby włączyć obsługę strefy dostępności w regionie, utwórz rejestr w żądanym regionie z włączoną obsługą strefy dostępności lub dodaj zreplikowany region z włączoną obsługą strefy dostępności.

  • Rejestr z sygnaturą z włączoną obsługą az tworzy domyślnie replikację regionu macierzystego z sygnaturą z włączoną funkcją AZ. Nie można wyłączyć sygnatury AZ po jej włączeniu.

  • Replikacja regionu macierzystego reprezentuje rejestr regionów macierzystych. Pomaga wyświetlać właściwości strefy dostępności i zarządzać nimi i nie można ich usunąć.

  • Strefa dostępności jest na region, po utworzeniu replikacji nie można zmienić ich stanów, z wyjątkiem usuwania i ponownego tworzenia replikacji.

  • Nadmiarowość strefy nie może być wyłączona w regionie.

  • Usługa ACR Tasks nie obsługuje jeszcze stref dostępności.

Informacje o nadmiarowości strefy

Strefy dostępności platformy Azure umożliwiają utworzenie odpornego i wysokiej dostępności rejestru kontenerów platformy Azure w regionie świadczenia usługi Azure. Na przykład organizacje mogą skonfigurować strefowo nadmiarowy rejestr kontenerów platformy Azure z innymi obsługiwanymi zasobami platformy Azure, aby spełnić wymagania dotyczące rezydencji danych lub innych wymagań dotyczących zgodności, zapewniając jednocześnie wysoką dostępność w regionie.

Usługa Azure Container Registry obsługuje również replikację geograficzną, która replikuje usługę w wielu regionach, umożliwiając nadmiarowość i lokalność zasobów obliczeniowych w innych lokalizacjach. Połączenie stref dostępności na potrzeby nadmiarowości w regionie i replikacji geograficznej w wielu regionach zwiększa niezawodność i wydajność rejestru.

Strefy dostępności to unikatowe lokalizacje fizyczne w regionie świadczenia usługi Azure. W celu zapewnienia odporności istnieją co najmniej trzy osobne strefy we wszystkich włączonych regionach. Każda strefa ma co najmniej jedno centrum danych wyposażone w niezależne zasilanie, chłodzenie i sieć. Po skonfigurowaniu pod kątem nadmiarowości strefy rejestr (lub replika rejestru w innym regionie) jest replikowany we wszystkich strefach dostępności w regionie, co zapewnia dostępność w przypadku awarii centrum danych.

Tworzenie rejestru strefowo nadmiarowego — interfejs wiersza polecenia

Aby użyć interfejsu wiersza polecenia platformy Azure do włączenia nadmiarowości strefy, potrzebujesz interfejsu wiersza polecenia platformy Azure w wersji 2.17.0 lub nowszej albo usługi Azure Cloud Shell. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Tworzenie grupy zasobów

W razie potrzeby uruchom polecenie az group create , aby utworzyć grupę zasobów dla rejestru.

az group create --name <resource-group-name> --location <location>

Tworzenie rejestru z obsługą strefy

Uruchom polecenie az acr create, aby utworzyć rejestr strefowo nadmiarowy w warstwie usługi Premium. Wybierz region, który obsługuje strefy dostępności dla usługi Azure Container Registry. W poniższym przykładzie nadmiarowość strefy jest włączona w regionie eastus . az acr create Zobacz pomoc dotyczącą poleceń, aby uzyskać więcej opcji rejestru.

az acr create \
  --resource-group <resource-group-name> \
  --name <container-registry-name> \
  --location eastus \
  --zone-redundancy enabled \
  --sku Premium

W danych wyjściowych polecenia zanotuj zoneRedundancy właściwość rejestru. Po włączeniu rejestru jest strefowo nadmiarowy:

{
 [...]
"zoneRedundancy": "Enabled",
}

Tworzenie replikacji strefowo nadmiarowej

Uruchom polecenie az acr replication create, aby utworzyć replikę rejestru strefowo nadmiarowego w regionie obsługującym strefy dostępności dla usługi Azure Container Registry, na przykład westus2.

az acr replication create \
  --location westus2 \
  --resource-group <resource-group-name> \
  --registry <container-registry-name> \
  --zone-redundancy enabled

W danych wyjściowych polecenia zanotuj zoneRedundancy właściwość repliki. Po włączeniu replika jest strefowo nadmiarowa:

{
 [...]
"zoneRedundancy": "Enabled",
}

Tworzenie rejestru strefowo nadmiarowego — portal

  1. Zaloguj się w witrynie Azure Portal.

  2. Wybierz pozycję Utwórz zasób>Kontenery>Rejestr kontenerów.

  3. Na karcie Podstawy wybierz lub utwórz grupę zasobów i wprowadź unikatową nazwę rejestru.

  4. W obszarze Lokalizacja wybierz region, który obsługuje nadmiarowość stref dla usługi Azure Container Registry, na przykład Wschodnie stany USA.

  5. W obszarze Jednostka SKU wybierz pozycję Premium.

  6. W obszarze Strefy dostępności wybierz pozycję Włączone.

  7. Opcjonalnie skonfiguruj więcej ustawień rejestru, a następnie wybierz pozycję Przejrzyj i utwórz.

  8. Wybierz pozycję Utwórz , aby wdrożyć wystąpienie rejestru.

    Włączanie nadmiarowości stref w witrynie Azure Portal

Aby utworzyć replikację strefowo nadmiarową:

  1. Przejdź do rejestru kontenerów warstwy Premium i wybierz pozycję Replikacje.

  2. Na wyświetlonej mapie wybierz zielony sześciokąt w regionie obsługującym nadmiarowość stref dla usługi Azure Container Registry, na przykład Zachodnie stany USA 2. Możesz też wybrać pozycję + Dodaj.

  3. W oknie Tworzenie replikacji potwierdź lokalizację. W obszarze Strefy dostępności wybierz pozycję Włączone, a następnie wybierz pozycję Utwórz.

    Włączanie replikacji strefowo nadmiarowej w witrynie Azure Portal

Tworzenie rejestru strefowo nadmiarowego — szablon

Tworzenie grupy zasobów

W razie potrzeby uruchom polecenie az group create , aby utworzyć grupę zasobów dla rejestru w regionie obsługującym strefy dostępności dla usługi Azure Container Registry, na przykład eastus. Ten region jest używany przez szablon do ustawiania lokalizacji rejestru.

az group create --name <resource-group-name> --location eastus

Wdrażanie szablonu

Poniższy szablon usługi Resource Manager umożliwia utworzenie rejestru strefowo nadmiarowego, zreplikowanego geograficznie. Szablon domyślnie włącza nadmiarowość stref w rejestrze i replikę regionalną.

Skopiuj następującą zawartość do nowego pliku i zapisz go przy użyciu nazwy pliku, takiego jak registryZone.json.

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "acrName": {
        "type": "string",
        "defaultValue": "[concat('acr', uniqueString(resourceGroup().id))]",
        "minLength": 5,
        "maxLength": 50,
        "metadata": {
          "description": "Globally unique name of your Azure Container Registry"
        }
      },
      "location": {
        "type": "string",
        "defaultValue": "[resourceGroup().location]",
        "metadata": {
          "description": "Location for registry home replica."
        }
      },
      "acrSku": {
        "type": "string",
        "defaultValue": "Premium",
        "allowedValues": [
          "Premium"
        ],
        "metadata": {
          "description": "Tier of your Azure Container Registry. Geo-replication and zone redundancy require Premium SKU."
        }
      },
      "acrZoneRedundancy": {
        "type": "string",
        "defaultValue": "Enabled",
        "metadata": {
          "description": "Enable zone redundancy of registry's home replica. Requires registry location to support availability zones."
        }
      },
      "acrReplicaLocation": {
        "type": "string",
        "metadata": {
          "description": "Short name for registry replica location."
        }
      },
      "acrReplicaZoneRedundancy": {
        "type": "string",
        "defaultValue": "Enabled",
        "metadata": {
          "description": "Enable zone redundancy of registry replica. Requires replica location to support availability zones."
        }
      }
    },
    "resources": [
      {
        "comments": "Container registry for storing docker images",
        "type": "Microsoft.ContainerRegistry/registries",
        "apiVersion": "2020-11-01",
        "name": "[parameters('acrName')]",
        "location": "[parameters('location')]",
        "sku": {
          "name": "[parameters('acrSku')]",
          "tier": "[parameters('acrSku')]"
        },
        "tags": {
          "displayName": "Container Registry",
          "container.registry": "[parameters('acrName')]"
        },
        "properties": {
          "adminUserEnabled": "[parameters('acrAdminUserEnabled')]",
          "zoneRedundancy": "[parameters('acrZoneRedundancy')]"
        }
      },
      {
        "type": "Microsoft.ContainerRegistry/registries/replications",
        "apiVersion": "2020-11-01",
        "name": "[concat(parameters('acrName'), '/', parameters('acrReplicaLocation'))]",
        "location": "[parameters('acrReplicaLocation')]",
          "dependsOn": [
          "[resourceId('Microsoft.ContainerRegistry/registries/', parameters('acrName'))]"
        ],
        "properties": {
          "zoneRedundancy": "[parameters('acrReplicaZoneRedundancy')]"
        }
      }
    ],
    "outputs": {
      "acrLoginServer": {
        "value": "[reference(resourceId('Microsoft.ContainerRegistry/registries',parameters('acrName')),'2019-12-01').loginServer]",
        "type": "string"
      }
    }
  }

Uruchom następujące polecenie az deployment group create , aby utworzyć rejestr przy użyciu poprzedniego pliku szablonu. W przypadku wskazania podaj:

  • unikatowa nazwa rejestru lub wdróż szablon bez parametrów i utworzy unikatową nazwę
  • lokalizacja repliki, która obsługuje strefy dostępności, takie jak westus2
az deployment group create \
  --resource-group <resource-group-name> \
  --template-file registryZone.json \
  --parameters acrName=<registry-name> acrReplicaLocation=<replica-location>

W danych wyjściowych polecenia zanotuj zoneRedundancy właściwość rejestru i repliki. Po włączeniu każdy zasób jest strefowo nadmiarowy:

{
 [...]
"zoneRedundancy": "Enabled",
}

Następne kroki