์ง€์›๋˜๋Š” ํ˜•์‹

Artifact Registry๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์•„ํ‹ฐํŒฉํŠธ ํ˜•์‹์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

ํ˜•์‹
Docker OCI ํ˜•์‹์œผ๋กœ ํŒจํ‚ค์ง•๋œ Docker ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์™€ Helm ์ฐจํŠธ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ํ˜•์‹์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
Maven Maven ๋˜๋Š” Gradle๋กœ ๋นŒ๋“œํ•œ Java ํŒจํ‚ค์ง€๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. Artifact Registry์— Java ํŒจํ‚ค์ง€๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Java ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
npm npm์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” Node.js ํŒจํ‚ค์ง€๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. Artifact Registry์— Node.js ํŒจํ‚ค์ง€๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Node.js ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
Python Python ํŒจํ‚ค์ง€๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. Artifact Registry์— Python ํŒจํ‚ค์ง€๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Python ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
Apt Apt๋กœ ๊ด€๋ฆฌํ•˜๋Š” Debian ํŒจํ‚ค์ง€๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. Artifact Registry์— Debian ํŒจํ‚ค์ง€๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Debian ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
Yum Yum ๋ฐ DNF๋กœ ๊ด€๋ฆฌํ•˜๋Š” RPM ํŒจํ‚ค์ง€๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. RPM ํŒจํ‚ค์ง€๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ RPM ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
Kubeflow

Kubeflow ํŒŒ์ดํ”„๋ผ์ธ ํ…œํ”Œ๋ฆฟ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ดํ”„๋ผ์ธ ํ…œํ”Œ๋ฆฟ์„ ์‚ฌ์šฉํ•˜๋ฉด Vertex AI์—์„œ ML ์›Œํฌํ”Œ๋กœ๋ฅผ ๊ด€๋ฆฌํ•  ๋•Œ ML ์›Œํฌํ”Œ๋กœ ์ •์˜๋ฅผ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Vertex AI๋Š” ML ๋ชจ๋ธ์˜ ๋นŒ๋“œ, ๋ฐฐํฌ, ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ Google Cloud ML ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ํŒŒ์ดํ”„๋ผ์ธ ํ…œํ”Œ๋ฆฟ์„ ๋งŒ๋“ค๊ณ  Artifact Registry์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ํŒŒ์ดํ”„๋ผ์ธ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ, ์—…๋กœ๋“œ, ์‚ฌ์šฉ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

Go Go ๋ชจ๋“ˆ์„ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. Artifact Registry์— Go ๋ชจ๋“ˆ์„ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Go ๋ชจ๋“ˆ๋กœ ์ž‘์—…์„ ์ฐธ์กฐํ•˜์„ธ์š”.
์ผ๋ฐ˜(๋ฏธ๋ฆฌ๋ณด๊ธฐ) ์ผ๋ฐ˜ ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ์•„ํ‹ฐํŒฉํŠธ๋Š” ํŠน์ • ํŒจํ‚ค์ง€ ํ˜•์‹์„ ์ค€์ˆ˜ํ•˜์ง€ ์•Š๋Š” ๋ฒ„์ „์ด ์ง€์ •๋œ ๋ณ€๊ฒฝ ๋ถˆ๊ฐ€ ์•„ํ‹ฐํŒฉํŠธ์ž…๋‹ˆ๋‹ค. Artifact Registry์— ์ผ๋ฐ˜ ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค๋ฅธ ์•„ํ‹ฐํŒฉํŠธ ํ˜•์‹์œผ๋กœ ์ž‘์—…์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€

Artifact Registry๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ํ˜•์‹์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

Docker V2

Docker V2 ์ด๋ฏธ์ง€ ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋Š” ๋‹ค์ค‘ ์•„ํ‚คํ…์ฒ˜ ์ด๋ฏธ์ง€๋ฅผ ํ—ˆ์šฉํ•˜๊ณ  ์ฝ˜ํ…์ธ  ์ง€์ • ๊ฐ€๋Šฅ ์ด๋ฏธ์ง€๋ฅผ ์ง€์›ํ•˜๋Š” ์‚ฌ์–‘์ž…๋‹ˆ๋‹ค.

Docker V2 ์ด๋ฏธ์ง€๋Š” ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š๋Š” Docker V1 ์ด๋ฏธ์ง€๋ฅผ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค.

OCI ์ด๋ฏธ์ง€ ํ˜•์‹

OCI ์ด๋ฏธ์ง€ ํ˜•์‹์€ Docker ์ด๋ฏธ์ง€ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ฒ„์ „ 2, ์Šคํ‚ค๋งˆ 2 ํ˜•์‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€์šฉ ์‚ฌ์–‘์ž…๋‹ˆ๋‹ค. Artifact Registry๋Š” ์ฝ˜ํ…์ธ  ๋ฐฐํฌ ํ‘œ์ค€ํ™”์— ๋„์›€์ด ๋˜๋Š” API ํ”„๋กœํ† ์ฝœ์ธ OCI ์‚ฌ์–‘์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

Artifact Registry Docker ์ €์žฅ์†Œ์—์„œ OCI ์ด๋ฏธ์ง€ ํ˜•์‹์„ ์ง€์›ํ•˜๋Š” ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Helm 3 ์ฐจํŠธ๋ฅผ OCI ํ˜•์‹์œผ๋กœ ํŒจํ‚ค์ง•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Artifact Registry Helm ๊ฐœ์š”๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.
  • Singularity๋Š” ๋น„๊ณต๊ฐœ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ Docker ๋ฐ OCI ์ด๋ฏธ์ง€ ๊ฐ€์ ธ์˜ค๊ธฐ์™€ ๋น„๊ณต๊ฐœ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Singularity ์ด๋ฏธ์ง€ ํŒŒ์ผ(SIF) ํ˜•์‹์œผ๋กœ ์ด๋ฏธ์ง€ ๋‚ด๋ณด๋‚ด๊ธฐ ๋ฐ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

    • ์ธ์ฆ์€ Docker ํด๋ผ์ด์–ธํŠธ์˜ ์ธ์ฆ๊ณผ ๋น„์Šทํ•ฉ๋‹ˆ๋‹ค. Singularity๋Š” ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด ๋„์šฐ๋ฏธ๊ฐ€ Docker ํด๋ผ์ด์–ธํŠธ config.json์— ์ถ”๊ฐ€ํ•œ ์„ค์ •์„ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„๋ฐ€๋ฒˆํ˜ธ ์ธ์ฆ์— ๋Œ€ํ•ด ํ† ํฐ ๋˜๋Š” ์„œ๋น„์Šค ๊ณ„์ • ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ singularity remote login ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ธ์ฆ ์ •๋ณด๋กœ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด oras:// URI์™€ ํ•จ๊ป˜ singularity pull ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    • ์ด๋ฏธ์ง€๋ฅผ ๋‚ด๋ณด๋‚ด๋ ค๋ฉด oras:// URI์™€ ํ•จ๊ป˜ singularity push ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ ๋ช…๋ น์–ด๋Š” us-west1.pkg.dev/my-project/sif-repo ์ €์žฅ์†Œ์—์„œ my-app:latest๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.

    singularity pull oras://us-west1.pkg.dev/my-project/sif-repo/my-app:latest`
    

๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ชฉ๋ก ๋ฐ ์ด๋ฏธ์ง€ ์ƒ‰์ธ

๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ชฉ๋ก์€ Docker V2, ์Šคํ‚ค๋งˆ 2์™€ OCI ์ด๋ฏธ์ง€์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ชฉ๋ก์—์„œ๋Š” ๋‹จ์ผ ๋‹ค์ด์ œ์ŠคํŠธ๋‚˜ ํƒœ๊ทธ๊ฐ€ ํ•œ ์ด๋ฏธ์ง€์˜ ์—ฌ๋Ÿฌ ํ˜•์‹์„ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ์ƒ‰์ธ์€ OCI ์ด๋ฏธ์ง€์˜ ๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ชฉ๋ก๊ณผ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

๋งค๋‹ˆํŽ˜์ŠคํŠธ ๋ชฉ๋ก์ฒ˜๋Ÿผ, ์ด๋ฏธ์ง€ ์ƒ‰์ธ ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋„ ์—ฌ๋Ÿฌ ์ด๋ฏธ์ง€ ๋งค๋‹ˆํŽ˜์ŠคํŠธ๋ฅผ ์ฐธ์กฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ์ƒ‰์ธ์€ ๋‹ค์ค‘ ํ”Œ๋žซํผ ์ด๋ฏธ์ง€์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.