ACR-átvitel az Az CLI-vel
Ez a cikk bemutatja, hogyan használható az ACR Transfer funkció az acrtransfer Az CLI-bővítménysel.
Előfeltételek teljesítése
A cikkben ismertetett műveletek megkísérlése előtt végezze el az itt ismertetett előfeltételeket. This means that:
- Mindkét felhőben rendelkezik prémium termékváltozat-beállításjegyzékcel.
- Mindkét felhőben rendelkezik egy meglévő tárfióktárolóval.
- Rendelkezik egy meglévő keyvaulttal, amely egy érvényes SAS-jogkivonatot tartalmaz, és mindkét felhőben rendelkezik a szükséges engedélyekkel.
- Az Az CLI legújabb verziója mindkét felhőben telepítve van.
Az Az CLI-bővítmény telepítése
Az AzureCloudban az alábbi paranccsal telepítheti a bővítményt:
az extension add --name acrtransfer
Az AzureCloudban és más felhőkben közvetlenül egy nyilvános tárfiók tárolójából telepítheti a blobot. A blob a tárfiókban, dist
a tárolóban és acrtransfer-1.0.0-py2.py3-none-any.wh
a acrtransferext
blobban található. Előfordulhat, hogy módosítania kell a tárolási URI utótagot attól függően, hogy melyik felhőben van. Az alábbiak telepítése az AzureCloudban lesz:
az extension add --source https://acrtransferext.blob.core.windows.net/dist/acrtransfer-1.0.0-py2.py3-none-any.whl
ExportPipeline létrehozása az acrtransfer Az CLI kiterjesztéssel
Hozzon létre egy ExportPipeline-erőforrást az AzureCloud-tárolóregisztrációs adatbázishoz az acrtransfer Az CLI-bővítmény használatával.
Hozzon létre egy exportálási folyamatot beállítások és rendszer által hozzárendelt identitás nélkül:
az acr export-pipeline create \
--resource-group $MyRG \
--registry $MyReg \
--name $MyPipeline \
--secret-uri https://$MyKV.vault.azure.net/secrets/$MySecret \
--storage-container-uri https://$MyStorage.blob.core.windows.net/$MyContainer
Hozzon létre egy exportálási folyamatot az összes lehetséges beállítással és egy felhasználó által hozzárendelt identitással:
az acr export-pipeline create \
--resource-group $MyRG \
--registry $MyReg \
--name $MyPipeline \
--secret-uri https://$MyKV.vault.azure.net/secrets/$MySecret \
--storage-container-uri https://$MyStorage.blob.core.windows.net/$MyContainer \
--options OverwriteBlobs ContinueOnErrors \
--assign-identity /subscriptions/$MySubID/resourceGroups/$MyRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$MyIdentity
Exportálási lehetőségek
Az options
exportálási folyamatok tulajdonsága támogatja az opcionális logikai értékeket. A következő értékek ajánlottak:
Paraméter | Érték |
---|---|
Lehetőségek | OverwriteBlobs – Meglévő célblobok felülírása ContinueOnErrors – Ha egy összetevő exportálása meghiúsul, folytassa a forrásregisztrációs adatbázisban lévő fennmaradó összetevők exportálását. |
Az ExportPipeline identity keyvault szabályzat hozzáférésének biztosítása
Ha felhasználó által hozzárendelt identitással hozta létre a folyamatot, egyszerűen adjon engedélyt a felhasználó által hozzárendelt identitáshozzáférési secret get
szabályzatnak a kulcsvaulton.
Ha rendszer által hozzárendelt identitással hozta létre a folyamatot, először le kell kérnie a rendszer által a folyamaterőforráshoz rendelt principalId azonosítót.
Futtassa a következő parancsot a folyamaterőforrás lekéréséhez:
az acr export-pipeline show --resource-group $MyRG --registry $MyReg --name $MyPipeline
Ebből a kimenetből ki szeretné másolni a mező értékét principalId
.
Ezután a következő parancs futtatásával adja meg ennek az egyszerűnek a megfelelő secret get
hozzáférési házirend-engedélyeket a kulcsvaulton.
az keyvault set-policy --name $MyKeyvault --secret-permissions get --object-id $MyPrincipalID
ImportPipeline létrehozása az acrtransfer Az CLI-kiterjesztéssel
Hozzon létre egy ImportPipeline-erőforrást a céltároló-beállításjegyzékben az acrtransfer Az CLI-bővítmény használatával. Alapértelmezés szerint a folyamat automatikusan létrehozhat egy Importálási folyamatfuttatást, amikor a csatolt tárfiók-tároló új összetevőblobot kap.
Hozzon létre egy importálási folyamatot beállítások és rendszer által hozzárendelt identitás nélkül:
az acr import-pipeline create \
--resource-group $MyRG \
--registry $MyReg \
--name $MyPipeline \
--secret-uri https://$MyKV.vault.azure.net/secrets/$MySecret \
--storage-container-uri https://$MyStorage.blob.core.windows.net/$MyContainer
Hozzon létre egy importálási folyamatot az összes lehetséges beállítással, a forrásindító letiltva, és egy felhasználó által hozzárendelt identitással:
az acr import-pipeline create \
--resource-group $MyRG \
--registry $MyReg \
--name $MyPipeline \
--secret-uri https://$MyKV.vault.azure.net/secrets/$MySecret \
--storage-container-uri https://$MyStorage.blob.core.windows.net/$MyContainer \
--options DeleteSourceBlobOnSuccess OverwriteTags ContinueOnErrors \
--assign-identity /subscriptions/$MySubID/resourceGroups/$MyRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/$MyIdentity \
--source-trigger-enabled False
Importálási beállítások
Az options
importálási folyamat tulajdonsága támogatja az opcionális logikai értékeket. A következő értékek ajánlottak:
Paraméter | Érték |
---|---|
Lehetőségek | Felülíráscímkék – Meglévő célcímkék felülírása DeleteSourceBlobOnSuccess – A forrástároló blob törlése a célregisztrációs adatbázisba való sikeres importálás után ContinueOnErrors – Ha egy összetevő importálása meghiúsul, folytassa a fennmaradó összetevők importálását a célregisztrációs adatbázisban. |
Hozzáférés biztosítása az ImportPipeline identity keyvault szabályzathoz
Ha felhasználó által hozzárendelt identitással hozta létre a folyamatot, egyszerűen adjon engedélyt a felhasználó által hozzárendelt identitáshozzáférési secret get
szabályzatnak a kulcsvaulton.
Ha rendszer által hozzárendelt identitással hozta létre a folyamatot, először le kell kérnie a rendszer által a folyamaterőforráshoz rendelt principalId azonosítót.
Futtassa a következő parancsot a folyamaterőforrás lekéréséhez:
az acr import-pipeline show --resource-group $MyRG --registry $MyReg --name $MyPipeline
Ebből a kimenetből ki szeretné másolni a mező értékét principalId
.
Ezután a következő parancs futtatásával adja meg ennek az egyszerűnek a megfelelő secret get
hozzáférési szabályzatot a kulcsvaulton.
az keyvault set-policy --name $MyKeyvault --secret-permissions get --object-id $MyPrincipalID
PipelineRun létrehozása exportáláshoz az acrtransfer Az CLI-kiterjesztéssel
Hozzon létre egy PipelineRun-erőforrást a tárolóregisztrációs adatbázishoz az acrtransfer Az CLI-bővítmény használatával. Ez az erőforrás futtatja a korábban létrehozott ExportPipeline erőforrást, és blobként exportálja a megadott összetevőket a tárolóregisztrációs adatbázisból a tárfiók tárolójába.
Exportfolyamat-futtatás létrehozása:
az acr pipeline-run create \
--resource-group $MyRG \
--registry $MyReg \
--pipeline $MyPipeline \
--name $MyPipelineRun \
--pipeline-type export \
--storage-blob $MyBlob \
--artifacts hello-world:latest hello-world@sha256:90659bf80b44ce6be8234e6ff90a1ac34acbeb826903b02cfa0da11c82cbc042 \
--force-redeploy
Ha egy PipelineRun-erőforrás ismételt üzembe helyezése azonos tulajdonságokkal, a --force-redeploy jelzőt kell használnia.
Az összetevők exportálása több percet is igénybe vehet. Ha az üzembe helyezés sikeresen befejeződött, ellenőrizze az összetevők exportálását úgy, hogy felsorolja az exportált blobot a forrás tárfiók tárolójában. Futtassa például az az storage bloblista parancsot:
az storage blob list --account-name $MyStorageAccount --container $MyContainer --output table
Blob átvitele tartományon keresztül
A legtöbb használati esetben most egy tartományközi megoldással vagy más módszerrel továbbítja a blobot a forrástartomány tárfiókjából (az exportálási folyamathoz társított tárfiókból) a céltartomány tárfiókjába (az importálási folyamathoz társított tárfiókba). Ezen a ponton feltételezzük, hogy a blob megérkezett az importálási folyamathoz társított céltartomány-tárfiókba.
Trigger ImportPipeline-erőforrás
Ha nem használta a --source-trigger-enabled False
paramétert az importálási folyamat létrehozásakor, a folyamat 15 percen belül aktiválódik, miután a blob megérkezik a tárfiók tárolójába. Az összetevők importálása több percet is igénybe vehet. Ha az importálás sikeresen befejeződött, ellenőrizze az összetevők importálását a tárolóregisztrációs tároló tárolóregisztrációs adatbázisában importálandó adattár címkéinek listázásával. Futtassa például az az acr-adattár show-tags parancsát:
az acr repository show-tags --name $MyRegistry --repository $MyRepository
Megjegyzés:
A forrás-eseményindító csak azokat a blobokat importálja, amelyek az elmúlt 60 napon belül utoljára módosultak. Ha a forrásindítóval ennél régebbi blobokat szeretne importálni, frissítse a blobok utolsó módosítási idejét úgy, hogy blob metaadatokat ad hozzájuk, vagy manuálisan létrehozott folyamatfuttatásokkal importálja őket.
Ha a paramétert az --source-trigger-enabled False
ImportPipeline létrehozásakor használta, manuálisan kell létrehoznia egy PipelineRun-t, ahogyan az a következő szakaszban látható.
PipelineRun létrehozása importáláshoz az acrtransfer Az CLI-bővítménnyel
Hozzon létre egy PipelineRun-erőforrást a tárolóregisztrációs adatbázishoz az acrtransfer Az CLI-bővítmény használatával. Ez az erőforrás a korábban létrehozott ImportPipeline erőforrást futtatja, és a megadott blobokat importálja a tárfiókból a tárolóregisztrációs adatbázisba.
Importálási folyamatfuttatás létrehozása:
az acr pipeline-run create \
--resource-group $MyRG \
--registry $MyReg \
--pipeline $MyPipeline \
--name $MyPipelineRun \
--pipeline-type import \
--storage-blob $MyBlob \
--force-redeploy
Ha egy PipelineRun-erőforrás ismételt üzembe helyezése azonos tulajdonságokkal, a --force-redeploy jelzőt kell használnia.
Az összetevők importálása több percet is igénybe vehet. Ha az importálás sikeresen befejeződött, ellenőrizze az összetevők importálását a tárolóregisztrációs adatbázis adattárainak listázásával. Futtassa például az az acr-adattár show-tags parancsát:
az acr repository show-tags --name $MyRegistry --repository $MyRepository
Az ACR-átvitel erőforrásainak törlése
ExportPipeline törlése:
az acr export-pipeline delete --resource-group $MyRG --registry $MyReg --name $MyPipeline
ImportPipeline törlése:
az acr import-pipeline delete --resource-group $MyRG --registry $MyReg --name $MyPipeline
PipelineRun-erőforrás törlése. Vegye figyelembe, hogy ez nem fordítja vissza a PipelineRun által végrehajtott műveletet. Ez inkább a PipelineRun naplójának törléséhez hasonlít.
az acr pipeline-run delete --resource-group $MyRG --registry $MyReg --name $MyPipelineRun
Az ACR-átvitel hibaelhárítása
Hibaelhárítási útmutatásért tekintse meg az ACR-átvitel hibaelhárítását .
Következő lépések
- Megtudhatja, hogyan tilthatja le az exportálási folyamatok létrehozását egy hálózat által korlátozott tárolóregisztrációs adatbázisból.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: