Összetevő-gyorsítótár az Azure Container Registryben (előzetes verzió)
Az összetevő-gyorsítótár funkció lehetővé teszi a felhasználók számára, hogy tárolólemezképeket gyorsítótárazzanak egy privát tárolóregisztrációs adatbázisban. Az összetevő-gyorsítótár alapszintű, standard és prémiumszolgáltatási szinten érhető el.
Az Artifact Cache javítja a tárolórendszerképek kezelését azáltal, hogy gyorsítótárazási megoldást biztosít mind a nyilvános, mind a magánadattárak számára.
Az Artifact Cache gyorsabb és megbízhatóbb lekérési műveleteket kínál az Azure Container Registry (ACR) használatával, és olyan funkciókat használ, mint a georeplikálás és a rendelkezésre állási zóna támogatása a magasabb rendelkezésre álláshoz és a kép lekérésének sebességéhez.
Az összetevő-gyorsítótár lehetővé teszi, hogy a gyorsítótárazott adatbázisokat privát hálózatokon keresztül lehessen elérni, hogy a felhasználók zökkenőmentesen igazodjanak a tűzfalkonfigurációkhoz és a megfelelőségi szabványokhoz.
Az Artifact Cache a nyilvános regisztrációs adatbázisok, például a Docker Hub által előírt névtelen lekérési korlátok kihívásaival foglalkozik. Azáltal, hogy lehetővé teszi a felhasználók számára a képek lekérését a helyi ACR-ből, megkerüli ezeket a korlátokat, biztosítva a folyamatos tartalomkézbesítést a felsőbb rétegbeli forrásokból, és kiküszöböli a lekérési korlátok elérésével kapcsolatos aggodalmakat.
Terminológia
Gyorsítótárszabály – A gyorsítótárszabály olyan szabály, amelyet létrehozhat, hogy összetevőket húzzon le egy támogatott adattárból a gyorsítótárba.
A gyorsítótárszabály négy részből áll:
Szabály neve – A gyorsítótárszabály neve. Például:
Hello-World-Cache
.Forrás – A forrásregisztrációs adatbázis neve.
Adattár elérési útja – Az adattár forrásútvonala a gyorsítótárazni kívánt összetevők megkereséséhez és lekéréséhez. Például:
docker.io/library/hello-world
.Új ACR-adattár névtere – Az összetevők tárolására használt új adattár elérési útja. Például:
hello-world
. Az adattár még nem létezhet az ACR-példányon belül.
Igazolás
A hitelesítő adatok a forrásregisztrációs adatbázishoz tartozó felhasználónév és jelszókészletek. Hitelesítő adatokra van szükség egy nyilvános vagy privát adattárral való hitelesítéshez. A hitelesítő adatok négy részből állnak
Hitelesítő adatok – A hitelesítő adatok neve.
Forrásregisztrációs adatbázis bejelentkezési kiszolgálója – A forrásregisztrációs adatbázis bejelentkezési kiszolgálója.
Forráshitelesítés – A kulcstartó hitelesítő adatainak tárolására használt helyek.
Felhasználónév és jelszó titkos kódjai – A felhasználónevet és a jelszót tartalmazó titkos kódok.
Korlátozások
A gyorsítótár csak akkor fordul elő, ha legalább egy kép lekérése befejeződött a rendelkezésre álló tárolólemezképen. Minden elérhető új kép esetében egy új kép lekérésének kell befejeződnie. Az összetevő-gyorsítótár nem húzza le automatikusan a képek új címkéinek lekérését, ha új címke érhető el. Az ütemtervben szerepel, de ebben a kiadásban nem támogatott.
Az összetevő-gyorsítótár csak 1000 gyorsítótárszabályt támogat.
Felsőbb rétegbeli támogatás
Az összetevő-gyorsítótár jelenleg a következő felsőbb rétegbeli regisztrációs adatbázisokat támogatja:
Felsőbb rétegbeli regisztrációs adatbázisok | Támogatás | Elérhetőség |
---|---|---|
Docker Hub | Támogatja a hitelesített lekéréseket és a hitelesítés nélküli lekéréseket is. | Azure CLI, Azure Portal |
Microsoft Eszközjegyzék | Csak a hitelesítés nélküli lekéréseket támogatja. | Azure CLI, Azure Portal |
Nyilvános rugalmas tárolóregisztrációs adatbázis (ECR) | Csak a hitelesítés nélküli lekéréseket támogatja. | Azure CLI, Azure Portal |
GitHub Container Registry | Támogatja a hitelesített lekéréseket és a hitelesítés nélküli lekéréseket is. | Azure CLI, Azure Portal |
Nvidia | Támogatja a hitelesített lekéréseket és a hitelesítés nélküli lekéréseket is. | Azure CLI |
Quay | Támogatja a hitelesített lekéréseket és a hitelesítés nélküli lekéréseket is. | Azure CLI, Azure Portal |
registry.k8s.io | Támogatja a hitelesített lekéréseket és a hitelesítés nélküli lekéréseket is. | Azure CLI |
Google Container Registry | Támogatja a hitelesített lekéréseket és a hitelesítés nélküli lekéréseket is. | Azure CLI |
Helyettesítő karakterek
A helyettesítő karakterek csillagokkal (*) egyeztetnek a tárolórendszerkép-beállításjegyzékben található több elérési úthoz. Az összetevő-gyorsítótár jelenleg a következő helyettesítő karaktereket támogatja:
Feljegyzés
A gyorsítótárszabályok leképezése a Target Repository => Source Repository fájlból.
Beállításjegyzékszintű helyettesítő karakter
A beállításjegyzékszintű helyettesítő karakterrel gyorsítótárazhatja az összes adattárat egy felsőbb rétegbeli beállításjegyzékből.
Gyorsítótárszabály | Hozzárendelés | Példa |
---|---|---|
contoso.azurecr.io/* => mcr.microsoft.com/* | Az ACR alatt lévő összes kép leképezése MCR-hez. | contoso.azurecr.io/myapp/image1 => mcr.microsoft.com/myapp/image1 contoso.azurecr.io/myapp/image2 => mcr.microsoft.com/myapp/image2 |
Adattárszintű helyettesítő karakter
Az adattárszintű helyettesítő karakterrel gyorsítótárazhatja az összes adattárat egy felsőbb rétegbeli beállításjegyzék-megfeleltetésből az adattár előtagjára.
Gyorsítótárszabály | Hozzárendelés | Példa |
---|---|---|
contoso.azurecr.io/dotnet/* => mcr.microsoft.com/dotnet/* | Az ACR alatt található adott adattárak leképezése az MCR megfelelő adattáraihoz. | contoso.azurecr.io/dotnet/sdk => mcr.microsoft.com/dotnet/sdk contoso.azurecr.io/dotnet/runtime => mcr.microsoft.com/dotnet/runtime |
contoso.azurecr.io/library/dotnet/* => mcr.microsoft.com/dotnet/* contoso.azurecr.io/library/python/* => docker.io/library/python/* |
Adott tárházak leképezése az ACR alatt különböző felsőbb rétegbeli adatbázisok adattáraihoz. | contoso.azurecr.io/library/dotnet/app1 => mcr.microsoft.com/dotnet/app1 contoso.azurecr.io/library/python/app3 => docker.io/library/python/app3 |
A helyettesítő karaktereken alapuló gyorsítótárszabályok korlátozásai
A helyettesítő karakterek gyorsítótárszabályai csillagokat (*) használnak a tárolólemezkép-beállításjegyzékben található több elérési út egyeztetéséhez. Ezek a szabályok nem fedhetik egymást a helyettesítő karakterek gyorsítótárának más szabályaival. Más szóval, ha egy beállításjegyzék-elérési úthoz helyettesítő gyorsítótárszabályt használ, nem adhat hozzá egy másik helyettesítő szabályt, amely átfedésben van vele.
Íme néhány példa az átfedésben lévő szabályokra:
1. példa:
Meglévő gyorsítótárszabály: contoso.azurecr.io/* => mcr.microsoft.com/*
Új gyorsítótár hozzáadása: contoso.azurecr.io/library/* => docker.io/library/*
Az új gyorsítótárszabály hozzáadása le van tiltva, mert a céladattár elérési útja contoso.azurecr.io/library/*
átfedésben van a meglévő helyettesítő karakterrel contoso.azurecr.io/*
.
2. példa:
Meglévő gyorsítótárszabály: contoso.azurecr.io/library/*
=>mcr.microsoft.com/library/*
Új gyorsítótár hozzáadása: contoso.azurecr.io/library/dotnet/*
=>docker.io/library/dotnet/*
Az új gyorsítótárszabály hozzáadása le van tiltva, mert a céladattár elérési útja contoso.azurecr.io/library/dotnet/*
átfedésben van a meglévő helyettesítő karakterrel contoso.azurecr.io/library/*
.
Statikus/rögzített gyorsítótárszabályok korlátozásai
A statikus vagy rögzített gyorsítótárszabályok pontosabbak, és nem használnak helyettesítő karaktereket. Átfedésben lehetnek a helyettesítő karakteralapú gyorsítótárszabályokkal. Ha a gyorsítótárszabály rögzített adattár elérési útját adja meg, lehetővé teszi a helyettesítő karaktereken alapuló gyorsítótárszabályokkal való átfedést.
1. példa:
Meglévő gyorsítótárszabály: contoso.azurecr.io/*
=>mcr.microsoft.com/*
Új gyorsítótár hozzáadása: contoso.azurecr.io/library/dotnet
=>docker.io/library/dotnet
Az új gyorsítótárszabály hozzáadása azért engedélyezett, mert contoso.azurecr.io/library/dotnet
statikus elérési út, és átfedésben lehet a helyettesítő gyorsítótárszabálysal contoso.azurecr.io/*
.
Artifact Cache engedélyezése – Azure CLI
A lépések végrehajtásával engedélyezheti az Artifact Cache-t az Azure Container Registryben hitelesítéssel vagy anélkül az Azure CLI használatával.
Előfeltételek
- Az Azure Cloud Shell vagy az Azure CLI helyi telepítése segítségével futtathatja a jelen cikkben szereplő parancs példákat. Ha helyileg szeretné használni, a 2.46.0-s vagy újabb verzióra van szükség. Futtassa
az --version
a verzió megkereséséhez. Ha telepíteni vagy frissíteni szeretne: Az Azure CLI telepítése. - Rendelkezik egy meglévő Key Vaultkal a hitelesítő adatok tárolásához. További információ a hitelesítő adatok Key Vaultban való létrehozásáról és tárolásáról .
- Titkos kulcsokat állíthat be és lekérhet a Key Vaultból. További információ a titkos kódok Key Vaultból való beállításáról és lekéréséről.
Gyorsítótárszabály konfigurálása és létrehozása hitelesítő adatok nélkül.
Gyorsítótárszabály létrehozásához futtassa az acr Cache create parancsot.
- Például gyorsítótárszabály létrehozása egy adott
MyRegistry
Azure Container Registry hitelesítő adatai nélkül.
az acr Cache create -r MyRegistry -n MyRule -s docker.io/library/ubuntu -t ubuntu-
- Például gyorsítótárszabály létrehozása egy adott
Gyorsítótárszabály megjelenítéséhez futtassa az acr Cache show parancsot.
- Például egy adott
MyRegistry
Azure Container Registry gyorsítótárszabályának megjelenítéséhez.
az acr Cache show -r MyRegistry -n MyRule
- Például egy adott
Hitelesítő adatok létrehozása
A hitelesítő adatok konfigurálása előtt titkos kulcsokat kell létrehoznia és tárolnia az Azure KeyVaultban, és le kell kérnie a titkos kulcsokat a Key Vaultból. További információ a hitelesítő adatok Key Vaultban való létrehozásáról és tárolásáról. És egy titkos kulcs beállítása és lekérése a Key Vaultból.
Futtassa az az acr credential set create parancsot a hitelesítő adatok létrehozásához.
- Például egy adott
MyRegistry
Azure Container Registry hitelesítő adatainak létrehozása.
az acr credential-set create -r MyRegistry \ -n MyRule \ -l docker.io \ -u https://MyKeyvault.vault.azure.net/secrets/usernamesecret \ -p https://MyKeyvault.vault.azure.net/secrets/passwordsecret
- Például egy adott
Futtassa az az acr hitelesítőadat-készlet frissítését a felhasználónév vagy jelszó KV titkos azonosítójának frissítéséhez egy hitelesítő adatkészleten.
- Ha például frissíteni szeretné a felhasználónév vagy jelszó KV titkos azonosítóját egy adott
MyRegistry
Azure Container Registry hitelesítő adatain.
az acr credential-set update -r MyRegistry -n MyRule -p https://MyKeyvault.vault.azure.net/secrets/newsecretname
- Ha például frissíteni szeretné a felhasználónév vagy jelszó KV titkos azonosítóját egy adott
Futtassa az az-acr-credential-set-show parancsot a hitelesítő adatok megjelenítéséhez.
- Például egy adott
MyRegistry
Azure Container Registry hitelesítő adatainak megjelenítéséhez.
az acr credential-set show -r MyRegistry -n MyCredSet
- Például egy adott
Gyorsítótárszabály konfigurálása és létrehozása hitelesítő adatokkal
Gyorsítótárszabály létrehozásához futtassa az az acr cache create parancsot.
- Létrehozhat például egy gyorsítótárszabályt egy adott
MyRegistry
Azure Container Registry hitelesítő adataival.
az acr cache create -r MyRegistry -n MyRule -s docker.io/library/ubuntu -t ubuntu -c MyCredSet
- Létrehozhat például egy gyorsítótárszabályt egy adott
Futtassa az az acr cache update parancsot a gyorsítótárszabály hitelesítő adatainak frissítéséhez.
- Például egy adott
MyRegistry
Azure Container Registry gyorsítótárszabályának hitelesítő adatainak frissítése.
az acr cache update -r MyRegistry -n MyRule -c NewCredSet
- Ha például el szeretné távolítani a hitelesítő adatokat egy meglévő gyorsítótárszabályból egy adott
MyRegistry
Azure Container Registryhez.
az acr cache update -r MyRegistry -n MyRule --remove-cred-set
- Például egy adott
A gyorsítótárszabály megjelenítéséhez futtassa az az acr cache show parancsot.
- Például egy adott
MyRegistry
Azure Container Registry gyorsítótárszabályának megjelenítéséhez.
az acr cache show -r MyRegistry -n MyRule
- Például egy adott
Engedélyek hozzárendelése a Key Vaulthoz
Szerezze be a Key Vault eléréséhez használt rendszeridentitás egyszerű azonosítóját.
PRINCIPAL_ID=$(az acr credential-set show -n MyCredSet \ -r MyRegistry \ --query 'identity.principalId' \ -o tsv)
A rendszerkép lekérése előtt futtassa az az keyvault set-policy parancsot a Key Vaulthoz való hozzáférés hozzárendeléséhez.
- Például a hitelesítő adatok engedélyeinek hozzárendeléséhez lépjen a KeyVault titkos kulcshoz
az keyvault set-policy --name MyKeyVault \ --object-id $PRINCIPAL_ID \ --secret-permissions get
A rendszerkép lekérése
Kérje le a rendszerképet a gyorsítótárból a Docker paranccsal a beállításjegyzék bejelentkezési kiszolgálójának nevével, az adattár nevével és a kívánt címkével.
- Ha például le szeretné húzni a rendszerképet az adattárból
hello-world
a kívánt címkévellatest
egy adott regisztrációs adatbázis bejelentkezési kiszolgálójáhozmyregistry.azurecr.io
.
docker pull myregistry.azurecr.io/hello-world:latest
- Ha például le szeretné húzni a rendszerképet az adattárból
Az erőforrások eltávolítása
Futtassa az az acr cache list parancsot az Azure Container Registry gyorsítótárszabályainak listázásához.
- Például egy adott
MyRegistry
Azure Container Registry gyorsítótárszabályainak listázásához.
az acr cache list -r MyRegistry
- Például egy adott
A gyorsítótárszabály törléséhez futtassa az az acr cache delete parancsot.
- Például egy adott
MyRegistry
Azure Container Registry gyorsítótárszabályának törléséhez.
az acr cache delete -r MyRegistry -n MyRule
- Például egy adott
Futtassaaz az acr hitelesítőadat-készlet listáját az Azure Container Registry hitelesítő adatainak listázásához.
- Például egy adott
MyRegistry
Azure Container Registry hitelesítő adatainak listázásához.
az acr credential-set list -r MyRegistry
- Például egy adott
A hitelesítő adatok törléséhez futtassa az az-acr-credential-set-delete parancsot .
- Például egy adott
MyRegistry
Azure Container Registry hitelesítő adatainak törléséhez.
az acr credential-set delete -r MyRegistry -n MyCredSet
- Például egy adott
Artifact Cache engedélyezése – Azure Portal
A lépések végrehajtásával engedélyezheti az Artifact Cache-t az Azure Container Registryben hitelesítéssel vagy anélkül az Azure Portal használatával.
Előfeltételek
- Jelentkezzen be az Azure Portalra
- Rendelkezik egy meglévő Key Vaultkal a hitelesítő adatok tárolásához. További információ a hitelesítő adatok Key Vaultban való létrehozásáról és tárolásáról .
- A meglévő Kulcstartók szerepköralapú hozzáférés(RBAC) vezérlők nélkül érhetők el.
Összetevő-gyorsítótár konfigurálása hitelesítő adatok nélkül
Kövesse a lépéseket a gyorsítótárszabály Azure Portalon való létrehozásához.
Lépjen az Azure Container Registryhez.
Az oldalsó menü Szolgáltatások területén válassza a Gyorsítótár lehetőséget.
Válassza a Szabály létrehozása lehetőséget.
Megjelenik az Új gyorsítótárszabály ablaka.
Adja meg a szabály nevét.
Válassza a Forrásregisztrációs adatbázis lehetőséget a legördülő menüből.
Adja meg a gyorsítótárazni kívánt összetevők adattárának elérési útját .
Kihagyhatja a hitelesítést, ha nem fér hozzá privát adattárhoz, vagy hitelesített lekérést hajt végre.
A Cél területen adja meg az Új ACR-adattár névterének nevét a gyorsítótárazott összetevők tárolásához.
Válassza a Mentés lehetőséget.
Kérje le a rendszerképet a gyorsítótárból a Docker paranccsal a beállításjegyzék bejelentkezési kiszolgálójának nevével, az adattár nevével és a kívánt címkével.
- Ha például le szeretné húzni a rendszerképet az adattárból
hello-world
a kívánt címkévellatest
egy adott regisztrációs adatbázis bejelentkezési kiszolgálójáhozmyregistry.azurecr.io
.
docker pull myregistry.azurecr.io/hello-world:latest
- Ha például le szeretné húzni a rendszerképet az adattárból
Összetevő-gyorsítótár konfigurálása hitelesítéssel
Kövesse a lépéseket a gyorsítótárszabály Azure Portalon való létrehozásához.
Lépjen az Azure Container Registryhez.
Az oldalsó menü Szolgáltatások területén válassza a Gyorsítótár lehetőséget.
Válassza a Szabály létrehozása lehetőséget.
Megjelenik az Új gyorsítótárszabály ablaka.
Adja meg a szabály nevét.
Válassza a Forrásregisztrációs adatbázis lehetőséget a legördülő menüből.
Adja meg a gyorsítótárazni kívánt összetevők adattárának elérési útját .
Ha hitelesítést szeretne hozzáadni az adattárhoz, jelölje be a Hitelesítés jelölőnégyzetet.
Az Új hitelesítő adatok létrehozása lehetőséget választva új hitelesítő adatokat hozhat létre a forrásregisztrációs adatbázis felhasználónevének és jelszavának tárolásához. Ismerje meg, hogyan hozhat létre új hitelesítő adatokat.
Ha a hitelesítő adatok készen állnak, válassza ki a hitelesítő adatokat a legördülő menüből.
A Cél területen adja meg az Új ACR-adattár névterének nevét a gyorsítótárazott összetevők tárolásához.
Válassza a Mentés lehetőséget.
Kérje le a rendszerképet a gyorsítótárból a Docker paranccsal a beállításjegyzék bejelentkezési kiszolgálójának nevével, az adattár nevével és a kívánt címkével.
- Ha például le szeretné húzni a rendszerképet az adattárból
hello-world
a kívánt címkévellatest
egy adott regisztrációs adatbázis bejelentkezési kiszolgálójáhozmyregistry.azurecr.io
.
docker pull myregistry.azurecr.io/hello-world:latest
- Ha például le szeretné húzni a rendszerképet az adattárból
Új hitelesítő adatok létrehozása
A hitelesítő adatok konfigurálása előtt titkos kulcsokat kell létrehoznia és tárolnia az Azure KeyVaultban, és le kell kérnie a titkos kulcsokat a Key Vaultból. További információ a hitelesítő adatok Key Vaultban való létrehozásáról és tárolásáról. És egy titkos kulcs beállítása és lekérése a Key Vaultból.
Lépjen a Hitelesítő adatok> létrehozása elemre.
Adja meg a forrásregisztrációs adatbázis új hitelesítő adatainak nevét .
Válasszon egy forráshitelesítést. Az összetevő-gyorsítótár jelenleg a Key Vaultból való kiválasztást és a titkos URI-k megadását támogatja.
A Select from Key Vault (Kiválasztás a Key Vaultból) beállításnál további információ a hitelesítő adatok Key Vault használatával történő létrehozásáról.
Válassza a Létrehozás lehetőséget.
Következő lépések
- Folytassa a következő cikkel , és tekintse át a beállításjegyzék-gyorsítótár hibaelhárítási útmutatóját.