Képek pusholása a Databricks CLI-vel

A Databricks CLI a databricks air images push segédparancsot biztosítja, amely egyesíti a Docker hitelesítést, a képcímkézést és az Artifact Registrybe történő push-t. Automatikusan érzékeli a beállításjegyzék régióját. Ezt a segítőt használhatod az Artifact Registry útmutatóban leírt kézi lépések helyett. A segítő nem készít képeket és nem küld be munkaterhelést.

Prerequisites

Munkaterület hitelesítésének konfigurálása

Hozz létre vagy frissíts egy munkaterülethez tartozó OAuth-profilt ahhoz a munkaterülethez, ahol a képet tárolni szeretnéd:

databricks auth login --profile my-databricks-profile

A Docker credential helper ezt a munkaterületi OAuth profilt igényel. A támogatott hitelesítési módszerekért lásd: Docker hitelesítés beállítása.

Push egy helyi képet

Például toljunk egy helyi képet, amelyet a néven my-training-image:v1 :main.ml.training:v1

databricks air images push \
  --profile my-databricks-profile \
  --source my-training-image:v1 \
  --catalog main \
  --schema ml \
  --artifact training:v1

A parancs kiírja a Unity Catalog rendszerképének nevét, amelyet a munkaterhelés YAML-fájljában az environment.unity_catalog_image helyén használhat. Ehhez a példához használd main.ml.training:v1, ahogy azt a Docker kép alkalmazása munkaterhelésben mutatja.

A segéd újra felhasznál egy helyi forrásképet, ha van ilyen. Ellenkező esetben lekéri a forrásképet a(z) linux/amd64 számára. Add --pull hozzá a forráskép frissítéséhez a regiszteréből, még akkor is, ha helyben elérhető. A képeknek használnia linux/amd64kell . Építsünk újra egy inkompatibilis helyi képet ehhez a platformhoz, mielőtt előrenyomnád. Ha a forráskép egy privát regiszterben van, hitelesítése a Docker azon a nyilvántartásnak a segítő futtatása előtt.

A rendszerkép részleteinek interaktív megadásához futtasd a(z) databricks air images push --profile my-databricks-profile parancsot a rendszerkép-jelzők nélkül. Az összes lehetőség megjelenítéséhez futtassa: databricks air images push --help.

Kép leküldése egy másik registryből

Az egy másik tárolóregiszterben meglévő rendszerképet a CLI-segédprogrammal az Artifact Registrybe is átmásolhatja.

Az alábbi példa forrásként egy magán Amazon Elastic Container Registry (ECR) tárolót használ. Ebben a példában telepítse és konfigurálja az AWS CLI-t olyan hitelesítő adatokkal, amelyekkel hitelesíteni tud az ECR-ben, és letöltheti a forrásképet. Ezek az AWS-hitelesítő adatok elkülönülnek a Databricks-profiljától.

Először hitelesítse a Dockert a forrás ECR regiszterrel. Cseréld le a példa AWS fiókazonosítót, régiót, tárolót és képcímkét saját értékeidre. Az AWS-régiónak a forrás ECR-regisztrációs adattárral kell megegyeznie, nem a cél Databricks-munkaterülettel. Lásd a Private registry hitelesítést az AWS dokumentációjában.

aws ecr get-login-password --region us-west-2 | \
  docker login --username AWS --password-stdin \
  123456789012.dkr.ecr.us-west-2.amazonaws.com

Ezután a teljes ECR kép URI-t úgy adjuk át:--source

databricks air images push \
  --profile my-databricks-profile \
  --source 123456789012.dkr.ecr.us-west-2.amazonaws.com/my-training-image:v1 \
  --catalog main \
  --schema ml \
  --artifact training:ecr-v1 \
  --pull

A --pull jelző akkor is lekéri az ECR-ből a linux/amd64 rendszerképet, ha az már helyben gyorsítótárban van. A segéd a helyi Docker telepítést használja a kép lehúzásához, címkézéséhez és továbbításához. Az ECR-ben a forráskép változatlan marad. Miután a push sikeres, állítsd a(z) environment.unity_catalog_image értékét main.ml.training:ecr-v1-re a workload YAML-fájlodban.