Az Edge-tárolóregisztrációs adatbázis engedélyezése az Azure Stack Edge Pro GPU-eszközön
A következőkre vonatkozik: Azure Stack Edge Pro – GPU
Azure Stack Edge Pro 2
Azure Stack Edge Pro R
Azure Stack Edge Mini R
Ez a cikk azt ismerteti, hogyan engedélyezheti és használhatja az Edge-tárolóregisztrációs adatbázist az Azure Stack Edge Pro-eszközön található Kubernetes-fürtből. A cikkben használt példa részletesen bemutatja, hogyan küldhet le egy rendszerképet egy forrásregisztrációs adatbázisból, ebben az esetben a Microsoft Container Registryből az Azure Stack Edge-eszközön, az Edge-tárolóregisztrációs adatbázisba.
Tudnivalók az Edge tárolóregisztrációs adatbázisáról
A tárolóalapú számítási alkalmazások tárolólemezképeken futnak, és ezek a rendszerképek adatbázisokban vannak tárolva. A regisztrációs adatbázisok lehetnek nyilvánosak, például Docker Hub, privát vagy felhőszolgáltató, például az Azure Container Registry. További információ: A regisztrációs adatbázisok, az adattárak és a képek.
Az Edge-tárolóregisztrációs adatbázis adattárat biztosít az Edge-ben az Azure Stack Edge Pro-eszközön. Ezzel a beállításjegyzékmel tárolhatja és kezelheti a privát tárolólemezképeket.
Többcsomópontos környezetben a tárolólemezképek egyszer letölthetők és leküldhetők az Edge tárolóregisztrációs adatbázisba. Minden Edge-alkalmazás használhatja az Edge tárolóregisztrációs adatbázisát a későbbi üzembe helyezésekhez.
Előfeltételek
Mielőtt hozzákezd, győződjön meg az alábbiakról:
Hozzáféréssel rendelkezik egy Azure Stack Edge Pro-eszközhöz.
Aktiválta az Azure Stack Edge Pro-eszközt az Azure Stack Edge Pro aktiválása című szakaszban leírtak szerint.
Engedélyezte a számítási szerepkört az eszközön. Egy Kubernetes-fürt is létre lett hozva az eszközön, amikor a számítást az eszközön konfigurálta az Azure Stack Edge Pro-eszközön a számítás konfigurálása című témakörben leírtak szerint.
A Kubernetes API-végpont a helyi webes felhasználói felület Eszköz lapján található. További információkért tekintse meg a Kubernetes API-végpont lekérésére vonatkozó utasításokat.
Egy támogatott operációs rendszerrel rendelkező ügyfélrendszerhez fér hozzá. Windows-ügyfél használata esetén a rendszernek a PowerShell 5.0-s vagy újabb verzióját kell futtatnia az eszköz eléréséhez.
- Ha saját tárolórendszerképeket szeretne lekérni és leküldni, győződjön meg arról, hogy a rendszer telepítette a Docker-ügyfelet. Windows-ügyfél használata esetén telepítse a Docker Desktopot Windows rendszeren.
Tárolóregisztrációs adatbázis engedélyezése bővítményként
Az első lépés az Edge-tárolóregisztrációs adatbázis bővítményként való engedélyezése.
Csatlakozzon az eszköz PowerShell-felületéhez.
A tárolóregisztrációs adatbázis bővítményként való engedélyezéséhez írja be a következőt:
Set-HcsKubernetesContainerRegistry
A művelet végrehajtása több percet is igénybe vehet.
A parancs mintakimenete a következő:
[10.128.44.40]: PS>Set-HcsKubernetesContainerRegistry Operation completed successfully. Use Get-HcsKubernetesContainerRegistryInfo for credentials
A tárolóregisztrációs adatbázis adatainak lekéréséhez írja be a következőt:
Get-HcsKubernetesContainerRegistryInfo
Íme a példa a parancsból:
[10.128.44.40]: PS> Get-HcsKubernetesContainerRegistryInfo Endpoint IPAddress Username Password -------- --------- -------- -------- ecr.dbe-hw6h1t2.microsoftdatabox.com:31001 10.128.44.41 ase-ecr-user i3eTsU4zGYyIgxV
Jegyezze fel a felhasználónevet és a jelszót a kimenetből
Get-HcsKubernetesContainerRegistryInfo
. Ezekkel a hitelesítő adatokkal jelentkezhet be az Edge tárolóregisztrációs adatbázisba a rendszerképek leküldése közben.
Tárolóregisztrációs adatbázis lemezképének kezelése
Előfordulhat, hogy az Azure Stack Edge-eszközén kívülről szeretné elérni a tárolóregisztrációs adatbázist. Előfordulhat, hogy le szeretné küldeni vagy lekérni a rendszerképeket a beállításjegyzékben.
Az Edge-tárolóregisztrációs adatbázis eléréséhez kövesse az alábbi lépéseket:
Kérje le az Edge-tárolóregisztrációs adatbázis végpontadatait.
Az eszköz helyi felhasználói felületén lépjen az Eszköz elemre.
Keresse meg az Edge-tárolóregisztrációs adatbázis végpontot.
Másolja ki ezt a végpontot, és hozzon létre egy megfelelő DNS-bejegyzést az
C:\Windows\System32\Drivers\etc\hosts
ügyfél fájljába az Edge-tárolóregisztrációs végponthoz való csatlakozáshoz.<A Kubernetes fő csomópontjának><Edge tárolóregisztrációs végpontjának IP-címe>
Töltse le az Edge tárolóregisztrációs tanúsítványát a helyi felhasználói felületről.
Az eszköz helyi felhasználói felületén lépjen a Tanúsítványok elemre.
Keresse meg az Edge tárolóregisztrációs tanúsítvány bejegyzését. A bejegyzés jobb oldalán válassza a Letöltés lehetőséget az Edge tárolóregisztrációs tanúsítvány letöltéséhez az ügyfélrendszeren, amelyet az eszköz eléréséhez használni fog.
Telepítse a letöltött tanúsítványt az ügyfélre. Windows-ügyfél használata esetén kövesse az alábbi lépéseket:
Válassza ki a tanúsítványt, majd a Tanúsítványimportálás varázslóban válassza az áruház helyét helyi gépként.
Telepítse a tanúsítványt a helyi gépre a megbízható legfelső szintű tárolóban.
A tanúsítvány telepítése után indítsa újra a Docker-ügyfelet a rendszeren.
Jelentkezzen be az Edge tárolóregisztrációs adatbázisába. Típus:
docker login <Edge container registry endpoint> -u <username> -p <password>
Adja meg az Edge-tárolóregisztrációs adatbázis végpontját az Eszközök lapon, valamint a kimenetből kapott felhasználónevet
Get-HcsKubernetesContainerRegistryInfo
és jelszót.A Docker leküldéses vagy lekéréses parancsaival leküldheti vagy lekérheti a tárolórendszerképeket a tárolóregisztrációs adatbázisból.
Rendszerkép lekérése a Microsoft Container Registry rendszerképéből. Típus:
docker pull <Full path to the container image in the Microsoft Container Registry>
Hozzon létre egy aliast a lekért rendszerképről a beállításjegyzék teljes elérési útjával.
docker tag <Path to the image in the Microsoft container registry> <Path to the image in the Edge container registry/Image name with tag>
A rendszerkép leküldése a beállításjegyzékbe.
docker push <Path to the image in the Edge container registry/Image name with tag>
Futtassa a regisztrációs adatbázisba leküldött rendszerképet.
docker run -it --rm -p 8080:80 <Path to the image in the Edge container registry/Image name with tag>
Íme egy mintakimenet a lekéréses és leküldéses parancsok közül:
PS C:\WINDOWS\system32> docker login ecr.dbe-hw6h1t2.microsoftdatabox.com:31001 -u ase-ecr-user -p 3bbo2sOtDe8FouD WARNING! Using --password via the CLI is insecure. Use --password-stdin. Login Succeeded PS C:\WINDOWS\system32> docker pull mcr.microsoft.com/oss/nginx/nginx:1.17.5-alpine 1.17.5-alpine: Pulling from oss/nginx/nginx Digest: sha256:5466bbc0a989bd1cd283c0ba86d9c2fc133491ccfaea63160089f47b32ae973b Status: Image is up to date for mcr.microsoft.com/oss/nginx/nginx:1.17.5-alpine mcr.microsoft.com/oss/nginx/nginx:1.17.5-alpine PS C:\WINDOWS\system32> docker tag mcr.microsoft.com/oss/nginx/nginx:1.17.5-alpine ecr.dbe-hw6h1t2.microsoftdatabox.com:31001/nginx:2.0 PS C:\WINDOWS\system32> docker push ecr.dbe-hw6h1t2.microsoftdatabox.com:31001/nginx:2.0 The push refers to repository [ecr.dbe-hw6h1t2.microsoftdatabox.com:31001/nginx] bba7d2385bc1: Pushed 77cae8ab23bf: Pushed 2.0: digest: sha256:b4c0378c841cd76f0b75bc63454bfc6fe194a5220d4eab0d75963bccdbc327ff size: 739 PS C:\WINDOWS\system32> docker run -it --rm -p 8080:80 ecr.dbe-hw6h1t2.microsoftdatabox.com:31001/nginx:2.0 2020/11/10 00:00:49 [error] 6#6: *1 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 172.17.0.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "localhost:8080", referrer: "http://localhost:8080/" 172.17.0.1 - - [10/Nov/2020:00:00:49 +0000] "GET /favicon.ico HTTP/1.1" 404 555 "http://localhost:8080/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36" "-" ^C PS C:\WINDOWS\system32>
Tallózással
http://localhost:8080
megtekintheti a futó tárolót. Ebben az esetben az nginx webkiszolgáló fut.A tároló leállításához és eltávolításához nyomja le a következőt
Control+C
: .
Edge-tárolóregisztrációs adatbázis lemezképeinek használata Kubernetes-podokon keresztül
Most már üzembe helyezheti az Edge-tárolóregisztrációs adatbázisba leküldett lemezképet a Kubernetes-podokon belül.
A rendszerkép üzembe helyezéséhez konfigurálnia kell a fürthozzáférést a kubectl használatával. Hozzon létre egy névteret, egy felhasználót, adjon hozzáférést a névtérhez, és szerezzen be egy konfigurációs fájlt. Győződjön meg arról, hogy csatlakozni tud a Kubernetes-podokhoz.
Kövesse a Csatlakozás kubernetes-fürthöz való csatlakoztatásának és kezelésének lépéseit az Azure Stack Edge Pro GPU-eszköz kubectl-jén keresztül.
Íme egy mintakimenet egy névtérhez az eszközön, ahonnan a felhasználó hozzáférhet a Kubernetes-fürthöz.
[10.128.44.40]: PS>New-HcsKubernetesNamespace -Namespace myecr [10.128.44.40]: PS>New-HcsKubernetesUser -UserName ecruser apiVersion: v1 clusters: - cluster: certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJd01URXdOVEF6TkRJek1Gb1hEVE13TVRFd016QXpOREl6TUZvd0ZURVRNQkVnNjOVRLWndCQ042cm1XQms2eXFwcXI1MUx6bApTaXMyTy91UEJ2YXNSSUUzdzgrbmEwdG1aTERZZ2F6MkQwMm42Q29mUmtyUTR2d1lLTnR1MlpzR3pUdz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= server: https://compute.dbe-hw6h1t2.microsoftdatabox.com:6443 name: kubernetes ===================CUT=========================================CUT============== client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMwRENDQWJpZ0F3SUJBZ0lJYmVWRGJSTzZ3ell3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TURFeE1EVXdNelF5TXpCYUZ3MHlNVEV4TURreU16UTRNal ===================CUT=========================================CUT============== DMVUvN3lFOG5UU3k3b2VPWitUeHdzCjF1UDByMjhDZ1lCdHdRY0ZpcFh1blN5ak16dTNIYjhveFI2V3VWWmZldFFKNElKWEFXOStVWGhKTFhyQ2x4bUcKWHRtbCt4UU5UTzFjQVNKRVZWVDd6Tjg2ay9kSU43S3JIVkdUdUxlUDd4eGVjV2VRcWJrZEVScUsxN0liTXpiVApmbnNxc0dobEdmLzdmM21kTGtyOENrcWs5TU5aM3MvUVIwRlFCdk94ZVpuUlpTeDVGbUR5S1E9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo= [10.128.44.40]: PS>Grant-HcsKubernetesNamespaceAccess -Namespace myecr -UserName ecruser [10.128.44.40]: PS>kubectl get pods -n "myecr" No resources found. PS C:\WINDOWS\system32>
A rendszerkép lekérési titkos kulcsai már be vannak állítva az eszköz összes Kubernetes-névterében. A parancs használatával
get secrets
titkos kulcsokat szerezhet be. Itt látható egy mintakimenet:PS C:\WINDOWS\system32> .\kubectl.exe get secrets -n myecr NAME TYPE DATA AGE ase-ecr-credentials kubernetes.io/dockerconfigjson 1 99m default-token-c7kww kubernetes.io/service-account-token 3 107m sec-smbcredentials microsoft.com/smb 2 99m PS C:\WINDOWS\system32>
Helyezzen üzembe egy podot a névtérben a kubectl használatával. Használja a következőt
yaml
.Cserélje le a lemezképet a
<image-name>
tárolóregisztrációs adatbázisba leküldött lemezképre. Tekintse meg a névterek titkos kulcsait az imagePullSecrets névvel:ase-ecr-credentials
.apiVersion: v1 kind: Pod metadata: name: nginx spec: containers: - name: nginx image: ecr.dbe-hw6h1t2.microsoftdatabox.com:31001/nginx:2.0 imagePullPolicy: Always imagePullSecrets: - name: ase-ecr-credentials
Alkalmazza az üzembe helyezést az apply paranccsal létrehozott névtérben. Ellenőrizze, hogy fut-e a tároló. Itt látható egy mintakimenet:
PS C:\Windows\System32> .\kubectl.exe apply -f .\deployment.yml -n myecr pod/nginx configured PS C:\Windows\System32> .\kubectl.exe get pods -n myecr NAME READY STATUS RESTARTS AGE nginx 1/1 Running 0 27m PS C:\Windows\System32>
Tárolóregisztrációs adatbázis lemezképének törlése
Az Edge Container Registry-tároló egy helyi megosztáson található az Azure Stack Edge Pro-eszközön, amelyet az eszközön elérhető tárterület korlátoz. Az Ön felelőssége a nem használt Docker-rendszerképek törlése a tárolóregisztrációs adatbázisból a Docker HTTP v2 API (https://docs.docker.com/registry/spec/api/) használatával.
Egy vagy több tárolórendszerkép eltávolításához kövesse az alábbi lépéseket:
Állítsa a kép nevét a törölni kívánt képre.
PS C:\WINDOWS\system32> $imageName="nginx"
A tárolóregisztrációs adatbázis felhasználónevének és jelszavának beállítása PS-hitelesítő adatként
PS C:\WINDOWS\system32> $username="ase-ecr-user" PS C:\WINDOWS\system32> $password="3bbo2sOtDe8FouD" PS C:\WINDOWS\system32> $securePassword = ConvertTo-SecureString $password -AsPlainText -Force PS C:\WINDOWS\system32> $credential = New-Object System.Management.Automation.PSCredential ($username, $securePassword)
A képhez társított címkék listázása
PS C:\WINDOWS\system32> $tags = Invoke-RestMethod -Credential $credential -Uri "https://ecr.dbe-hw6h1t2.microsoftdatabox.com:31001/v2/nginx/tags/list" | Select-Object -ExpandProperty tags PS C:\WINDOWS\system32> $tags 2.0 PS C:\WINDOWS\system32> $tags = Invoke-RestMethod -Credential $credential -Uri "https://ecr.dbe-hw6h1t2.microsoftdatabox.com:31001/v2/$imageName/tags/list" | Select-Object -ExpandProperty tags PS C:\WINDOWS\system32> $tags 2.0 PS C:\WINDOWS\system32>
Listázhatja a törölni kívánt címkéhez társított kivonatot. Ez $tags használ a fenti parancs kimenetéből. Ha több címkéje van, jelölje ki az egyiket, és használja a következő parancsban.
PS C:\WINDOWS\system32> $response = Invoke-WebRequest -Method Head -Credential $credential -Uri "https://ecr.dbe-hw6h1t2.microsoftdatabox.com:31001/v2/$imageName/manifests/$tags" -Headers @{ 'Accept' = 'application/vnd.docker.distribution.manifest.v2+json' } PS C:\WINDOWS\system32> $digest = $response.Headers['Docker-Content-Digest'] PS C:\WINDOWS\system32> $digest sha256:b4c0378c841cd76f0b75bc63454bfc6fe194a5220d4eab0d75963bccdbc327ff PS C:\WINDOWS\system32>
A kép törlése a kép kivonatával:címke
PS C:\WINDOWS\system32> Invoke-WebRequest -Method Delete -Credential $credential -Uri "https://ecr.dbe-hw6h1t2.microsoftdatabox.com:31001/v2/$imageName/manifests/$digest" | Select-Object -ExpandProperty StatusDescription
A fel nem használt képek törlése után a rendszer automatikusan visszanyeri a nem hivatkozott képekhez tartozó helyet egy éjszaka futó folyamat.
Következő lépések
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: