Quay.io์˜ ์‚ฌํ›„ ๋ถ€๊ฒ€์ด ๋ถˆ๊ฐ€๋Šฅํ•จ

๋ฉ”๋ชจ. ๋ฒˆ์—ญ: XNUMX์›” ์ดˆ, Red Hat์€ ์ง€๋‚œ ๋‹ฌ ์„œ๋น„์Šค ์‚ฌ์šฉ์ž๋“ค์ด ๊ฒช์—ˆ๋˜ ์ ‘๊ทผ์„ฑ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๊ณต๊ฐœ์ ์œผ๋กœ ๋ฐํ˜”์Šต๋‹ˆ๋‹ค. Quay.io (ํšŒ์‚ฌ๊ฐ€ CoreOS ๊ตฌ๋งค์™€ ํ•จ๊ป˜ ๋ฐ›์€ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.) ์ด ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๊ท€ํ•˜์˜ ๊ด€์‹ฌ์— ๊ด€๊ณ„์—†์ด ํšŒ์‚ฌ์˜ SRE ์—”์ง€๋‹ˆ์–ด๊ฐ€ ์‚ฌ๊ณ  ์›์ธ์„ ์ง„๋‹จํ•˜๊ณ  ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ์ทจํ•œ ๊ฒฝ๋กœ๋Š” ์œ ์ตํ•ฉ๋‹ˆ๋‹ค.

Quay.io์˜ ์‚ฌํ›„ ๋ถ€๊ฒ€์ด ๋ถˆ๊ฐ€๋Šฅํ•จ

19์›” XNUMX์ผ ์ด๋ฅธ ์•„์นจ(๋™๋ถ€ ์ผ๊ด‘ ์ ˆ์•ฝ ์‹œ๊ฐ„, EDT)์— quay.io ์„œ๋น„์Šค๊ฐ€ ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์‚ฌ๊ณ ๋Š” quay.io ์†Œ๋น„์ž์™€ quay.io๋ฅผ ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์ถ• ๋ฐ ๋ฐฐํฌ์šฉ ํ”Œ๋žซํผ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ ๋ชจ๋‘์— ์˜ํ–ฅ์„ ๋ฏธ์ณค์Šต๋‹ˆ๋‹ค. Red Hat์€ ๋‘ ์‚ฌ๋žŒ์˜ ์‹ ๋ขฐ๋ฅผ ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

SRE ์—”์ง€๋‹ˆ์–ด ํŒ€์ด ์ฆ‰์‹œ ์ฐธ์—ฌํ•˜์—ฌ ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ Quay ์„œ๋น„์Šค๋ฅผ ์•ˆ์ •ํ™”ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋™์•ˆ ํด๋ผ์ด์–ธํŠธ๋Š” ์ƒˆ ์ด๋ฏธ์ง€๋ฅผ ํ‘ธ์‹œํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ƒ์‹คํ–ˆ์œผ๋ฉฐ ๊ฐ€๋” ๊ธฐ์กด ์ด๋ฏธ์ง€๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์•Œ ์ˆ˜ ์—†๋Š” ์ด์œ ๋กœ ์„œ๋น„์Šค๋ฅผ ์ „์ฒด ์šฉ๋Ÿ‰์œผ๋กœ ํ™•์žฅํ•œ ํ›„ quay.io ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ฐจ๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ยซ๋ฌด์—‡์ด ๋ฐ”๋€Œ ์—ˆ์Šต๋‹ˆ๊นŒ?โ€œ-์ด๋Ÿฐ ๊ฒฝ์šฐ์— ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฌป๋Š” ์ฒซ ๋ฒˆ์งธ ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์ง์ „์— OpenShift Dedicated ํด๋Ÿฌ์Šคํ„ฐ(quay.io ์‹คํ–‰)๊ฐ€ ๋ฒ„์ „ 4.3.19๋กœ ์—…๋ฐ์ดํŠธ๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. quay.io๋Š” Red Hat OpenShift Dedicated(OSD)์—์„œ ์‹คํ–‰๋˜๋ฏ€๋กœ ์ •๊ธฐ์ ์ธ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ผ์ƒ์ ์ด์—ˆ๊ณ  ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ง€๋‚œ XNUMX๊ฐœ์›” ๋™์•ˆ ์„œ๋น„์Šค ์ค‘๋‹จ ์—†์ด Quay ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์„œ๋น„์Šค๋ฅผ ๋ณต์›ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๋Š” ๋™์•ˆ ๋‹ค๋ฅธ ์—”์ง€๋‹ˆ์–ด๋“ค์€ ์ด์ „ ๋ฒ„์ „์˜ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์ƒˆ๋กœ์šด OSD ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ค€๋น„ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฌด์Šจ ์ผ์ด ๋ฐœ์ƒํ•˜๋ฉด ์—ฌ๊ธฐ์— ๋ชจ๋“  ๊ฒƒ์„ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทผ๋ณธ ์›์ธ ๋ถ„์„

์‹คํŒจ์˜ ์ฃผ์š” ์ฆ์ƒ์€ ์ˆ˜๋งŒ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ์ด ๊ธ‰์ฆํ•˜์—ฌ MySQL ์ธ์Šคํ„ด์Šค๊ฐ€ ํšจ๊ณผ์ ์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋ฌธ์ œ๋ฅผ ์ง„๋‹จํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์›Œ์กŒ์Šต๋‹ˆ๋‹ค. SRE ํŒ€์ด ๋ฌธ์ œ๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋„๋ก ํด๋ผ์ด์–ธํŠธ์˜ ์ตœ๋Œ€ ์—ฐ๊ฒฐ ์ˆ˜์— ์ œํ•œ์„ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๋น„์ •์ƒ์ ์ธ ํŠธ๋ž˜ํ”ฝ์„ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋Œ€๋ถ€๋ถ„์˜ ์š”์ฒญ์„ ์ฝ์—ˆ๊ณ  ์†Œ์ˆ˜๋งŒ ์“ฐ๊ธฐ๋งŒ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋˜ํ•œ ์ด๋Ÿฌํ•œ ์‚ฌํƒœ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŠธ๋ž˜ํ”ฝ์˜ ํŒจํ„ด์„ ์‹๋ณ„ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋กœ๊ทธ์—์„œ๋Š” ์–ด๋–ค ํŒจํ„ด๋„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. OSD 4.3.18์ด ํฌํ•จ๋œ ์ƒˆ ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์ค€๋น„๋˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ๋™์•ˆ ์šฐ๋ฆฌ๋Š” ๊ณ„์†ํ•ด์„œ quay.io ํฌ๋“œ๋ฅผ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์ „์ฒด ์šฉ๋Ÿ‰์— ๋„๋‹ฌํ•  ๋•Œ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ •์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ชจ๋“  quay.io ํฌ๋“œ ์™ธ์—๋„ RDS ์ธ์Šคํ„ด์Šค๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ €๋…๊นŒ์ง€ ์šฐ๋ฆฌ๋Š” ์ฝ๊ธฐ ์ „์šฉ ๋ชจ๋“œ์—์„œ ์„œ๋น„์Šค๋ฅผ ์•ˆ์ •ํ™”ํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ํ•„์ˆ˜์ ์ด์ง€ ์•Š์€ ๊ธฐ๋Šฅ(์˜ˆ: ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘)์„ ์ตœ๋Œ€ํ•œ ๋น„ํ™œ์„ฑํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋™๊ฒฐ์ด ์ค‘์ง€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ ์ด์œ ๋Š” ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด OSD ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์ค€๋น„๋˜์—ˆ์œผ๋ฉฐ ์„œ๋น„์Šค๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ณ  ํŠธ๋ž˜ํ”ฝ์„ ์—ฐ๊ฒฐํ•˜๋ฉฐ ๊ณ„์† ๋ชจ๋‹ˆํ„ฐ๋งํ–ˆ์Šต๋‹ˆ๋‹ค.

Quay.io๋Š” ์ƒˆ๋กœ์šด OSD ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์•ˆ์ •์ ์œผ๋กœ ์ž‘๋™ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋กœ๊ทธ๋กœ ๋Œ์•„๊ฐ€ ๋ณด์•˜์ง€๋งŒ ๋ง‰ํž˜์„ ์„ค๋ช…ํ•˜๋Š” ์ƒ๊ด€ ๊ด€๊ณ„๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. OpenShift ์—”์ง€๋‹ˆ์–ด๋Š” Red Hat OpenShift 4.3.19์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด Quay์— ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋Š”์ง€ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•ด ์šฐ๋ฆฌ์™€ ํ˜‘๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•„๋ฌด๊ฒƒ๋„ ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜๊ณ , ์‹คํ—˜์‹ค ์กฐ๊ฑด์—์„œ ๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ–ˆ์Šต๋‹ˆ๋‹ค..

๋‘ ๋ฒˆ์งธ ์‹คํŒจ

28์›” XNUMX์ผ ์ •์˜ค(EDT) ์ง์ „์— quay.io๋Š” ๋™์ผํ•œ ์ฆ์ƒ์œผ๋กœ ๋‹ค์‹œ ์ถฉ๋Œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ฐจ๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ์šฐ๋ฆฌ๋Š” ์กฐ์‚ฌ์— ๋ชจ๋“  ๋…ธ๋ ฅ์„ ๊ธฐ์šธ์˜€์Šต๋‹ˆ๋‹ค. ์šฐ์„  ์„œ๋น„์Šค ๋ณต์›์ด ํ•„์š”ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋ฒˆ์—๋Š” RDS๋ฅผ ์žฌ๋ถ€ํŒ…ํ•˜๊ณ  quay.io ํฌ๋“œ๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด๋„ ์•„๋ฌด ์ผ๋„ ๋ฐœ์ƒํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.: ๋˜ ๋‹ค๋ฅธ ์—ฐ๊ฒฐ์˜ ๋ˆˆ์‚ฌํƒœ๊ฐ€ ๊ธฐ์ง€๋ฅผ ์••๋„ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์™œ?

Quay๋Š” Python์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ๊ฐ ํฌ๋“œ๋Š” ๋‹จ์ผ ๋ชจ๋†€๋ฆฌ์‹ ์ปจํ…Œ์ด๋„ˆ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„์€ ๋งŽ์€ ๋ณ‘๋ ฌ ์ž‘์—…์„ ๋™์‹œ์— ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋„์„œ๊ด€์„ ์ด์šฉํ•ด์š” gevent ์•„๋ž˜์˜ gunicorn ์›น ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ์ด Quay์— ๋“ค์–ด์˜ค๋ฉด(์ž์ฒด API ๋˜๋Š” Docker API๋ฅผ ํ†ตํ•ด) gevent ์ž‘์—…์ž๊ฐ€ ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ด ์ž‘์—…์ž๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘์†ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์‹คํŒจ ํ›„, ์šฐ๋ฆฌ๋Š” gevent ์ž‘์—…์ž๊ฐ€ ๊ธฐ๋ณธ ์„ค์ •์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•˜๊ณ  ์žˆ์Œ์„ ๋ฐœ๊ฒฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์ƒ๋‹นํ•œ ์ˆ˜์˜ Quay Pod์™€ ์ดˆ๋‹น ์ˆ˜์ฒœ ๊ฐœ์˜ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋Š” ๊ฒฝ์šฐ ์ด๋ก ์ ์œผ๋กœ ๋งŽ์€ ์ˆ˜์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ์ด MySQL ์ธ์Šคํ„ด์Šค๋ฅผ ์••๋„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋‹ˆํ„ฐ๋ง ๋•๋ถ„์— ํ€˜์ด๋Š” ์ดˆ๋‹น ํ‰๊ท  5์ฒœ ๊ฑด์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๋ ค์กŒ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์—ฐ๊ฒฐ ์ˆ˜๋Š” ๊ฑฐ์˜ ๋™์ผํ–ˆ์Šต๋‹ˆ๋‹ค. 5๊ฐœ์˜ ์—ฐ๊ฒฐ์ด ์šฐ๋ฆฌ RDS ์ธ์Šคํ„ด์Šค์˜ ๊ธฐ๋Šฅ ๋ฒ”์œ„ ๋‚ด์— ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค(์ˆ˜๋งŒ ๊ฐœ๋ผ๊ณ  ๋งํ•  ์ˆ˜๋Š” ์—†์Œ). ์–ด๋–ค ์ด์œ ๋กœ ์—ฐ๊ฒฐ ์ˆ˜๊ฐ€ ์˜ˆ์ƒ์น˜ ๋ชปํ•˜๊ฒŒ ๊ธ‰์ฆํ–ˆ์Šต๋‹ˆ๋‹ค.๊ทธ๋Ÿฌ๋‚˜ ๋“ค์–ด์˜ค๋Š” ์š”์ฒญ๊ณผ์˜ ์ƒ๊ด€ ๊ด€๊ณ„๋Š” ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ์—๋Š” ๋ฌธ์ œ์˜ ์›์ธ์„ ์ฐพ์•„ ์ œ๊ฑฐํ•˜๊ณ  ์žฌ๋ถ€ํŒ…์—๋งŒ ๊ตญํ•œ๋˜์ง€ ์•Š๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. Quay ์ฝ”๋“œ๋ฒ ์ด์Šค๋กœ ๊ฐ ์ž‘์—…์ž์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์ˆ˜๋ฅผ ์ œํ•œํ•˜๋„๋ก ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. gevent. ์ด ์ˆซ์ž๋Š” ๊ตฌ์„ฑ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ์ถ•ํ•˜์ง€ ์•Š๊ณ ๋„ ์ฆ‰์‹œ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์‹ค์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ๊ฒฐ ์ˆ˜๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ์Šคํ…Œ์ด์ง• ํ™˜๊ฒฝ์—์„œ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๋‹ค์–‘ํ•œ ๊ฐ’์„ ์„ค์ •ํ•˜์—ฌ ์ด๊ฒƒ์ด ๋ถ€ํ•˜ ํ…Œ์ŠคํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”์ง€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ, ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‚ฌ์‹ค์ด ๋ฐํ˜€์กŒ์Šต๋‹ˆ๋‹ค. Quay๋Š” ์—ฐ๊ฒฐ ์ˆ˜๊ฐ€ 502๊ฐœ๋ฅผ ์ดˆ๊ณผํ•˜๋ฉด 10 ์˜ค๋ฅ˜๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์ด ์ƒˆ ๋ฒ„์ „์„ ์ฆ‰์‹œ ํ”„๋กœ๋•์…˜์— ๋ฐฐํฌํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์ผ์ •์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์—๋Š” ์•ฝ 20๋ถ„ ๋งŒ์— ๊ธฐ์ง€๊ฐ€ ํ์‡„๋๋‹ค. ๋ฌธ์ œ ์—†์ด 30๋ถ„์„ ๋ณด๋‚ธ ํ›„ ์šฐ๋ฆฌ๋Š” ํฌ๋ง์„ ๊ฐ–๊ฒŒ ๋˜์—ˆ๊ณ , ํ•œ ์‹œ๊ฐ„ ํ›„์—๋Š” ์ž์‹ ๊ฐ์„ ๊ฐ–๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์‚ฌ์ดํŠธ์˜ ํŠธ๋ž˜ํ”ฝ์„ ๋ณต์›ํ•˜๊ณ  ์‚ฌํ›„ ๋ถ„์„์„ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ฐจ๋‹จ์œผ๋กœ ์ด์–ด์ง€๋Š” ๋ฌธ์ œ๋ฅผ ์šฐํšŒํ•˜๋Š” ๋ฐ ์„ฑ๊ณตํ–ˆ์œผ๋ฉฐ, ์šฐ๋ฆฌ๋Š” ๊ทธ ์ง„์งœ ์ด์œ ๋ฅผ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์— Quay์—์„œ ๋ฌธ์ œ ์—†์ด ์ž‘๋™ํ–ˆ๋˜ ๋ฒ„์ „ 4.3.19์—์„œ๋„ ๋™์ผํ•œ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•˜์—ฌ OpenShift 4.3.18์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ๊ณผ ๊ด€๋ จ์ด ์—†๋Š” ๊ฒƒ์œผ๋กœ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํด๋Ÿฌ์Šคํ„ฐ์—๋Š” ๋ถ„๋ช…ํžˆ ๋‹ค๋ฅธ ๊ฒƒ์ด ์ˆจ์–ด์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

์ƒ์„ธํ•œ ์—ฐ๊ตฌ

Quay.io๋Š” ๊ธฐ๋ณธ ์„ค์ •์„ ์‚ฌ์šฉํ•˜์—ฌ XNUMX๋…„ ๋™์•ˆ ์•„๋ฌด๋Ÿฐ ๋ฌธ์ œ ์—†์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌด์—‡์ด ๋ฐ”๋€Œ์—ˆ๋‚˜์š”? quay.io์˜ ํŠธ๋ž˜ํ”ฝ์ด ๊พธ์ค€ํžˆ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ, ๋งˆ์น˜ ์ผ๋ถ€ ์ž„๊ณ„๊ฐ’์— ๋„๋‹ฌํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์˜€๊ณ , ์ด๋Š” ๋ˆˆ์‚ฌํƒœ์ฒ˜๋Ÿผ ๋งŽ์€ ์—ฐ๊ฒฐ์„ ์œ ๋ฐœํ•˜๋Š” ์—ญํ• ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‘ ๋ฒˆ์งธ ์‹คํŒจ ์ดํ›„์—๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋กœ๊ทธ๋ฅผ ๊ณ„์† ์—ฐ๊ตฌํ–ˆ์ง€๋งŒ ์–ด๋–ค ํŒจํ„ด์ด๋‚˜ ๋ช…ํ™•ํ•œ ๊ด€๊ณ„๋„ ์ฐพ์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ๋™์•ˆ SRE ํŒ€์€ Quay์˜ ์š”์ฒญ ๊ด€์ฐฐ ๊ฐ€๋Šฅ์„ฑ๊ณผ ์ „๋ฐ˜์ ์ธ ์„œ๋น„์Šค ์ƒํƒœ๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ์ง€ํ‘œ์™€ ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ โ€‹โ€‹๋ฐฐํฌ๋˜์—ˆ์Šต๋‹ˆ๋‹ค., ๊ณ ๊ฐ์ด ๊ฐ€์žฅ ์ˆ˜์š”๊ฐ€ ๋งŽ์€ ๋ถ€๋‘ ๋ถ€๋ถ„์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

Quay.io๋Š” 9์›” XNUMX์ผ๊นŒ์ง€ ์ž˜ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋Š˜ ์•„์นจ(EDT)์—๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์ˆ˜๊ฐ€ ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•œ ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ๋‹ค์šดํƒ€์ž„์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค, ์ƒˆ ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ๊ทธ ์ˆ˜๋ฅผ ์ œํ•œํ•˜๊ณ  MySQL ์ฒ˜๋ฆฌ๋Ÿ‰์„ ์ดˆ๊ณผํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์•ฝ XNUMX๋ถ„ ๋™์•ˆ ๋งŽ์€ ์‚ฌ์šฉ์ž๊ฐ€ quay.io์˜ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ง€์ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€๋œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ์ˆ˜์ง‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ‘์ž๊ธฐ ํŒจํ„ด์ด ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

์—ฐ๊ฒฐ์ด ๊ธ‰์ฆํ•˜๊ธฐ ์ง์ „์— App Registry API์— ๋งŽ์€ ์š”์ฒญ์ด ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค.. ์•ฑ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋Š” quay.io์˜ ์ž˜ ์•Œ๋ ค์ง€์ง€ ์•Š์€ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. ํ’๋ถ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋œ Helm ์ฐจํŠธ ๋ฐ ์ปจํ…Œ์ด๋„ˆ์™€ ๊ฐ™์€ ํ•ญ๋ชฉ์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ quay.io ์‚ฌ์šฉ์ž๋Š” ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์ง€๋งŒ Red Hat OpenShift๋Š” ์ด ๊ธฐ๋Šฅ์„ ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. OpenShift์˜ ์ผ๋ถ€์ธ OperatorHub๋Š” ๋ชจ๋“  ์—ฐ์‚ฐ์ž๋ฅผ ์•ฑ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์šด์˜์ž๋Š” OpenShift ์›Œํฌ๋กœ๋“œ ์—์ฝ”์‹œ์Šคํ…œ ๋ฐ ํŒŒํŠธ๋„ˆ ์ค‘์‹ฌ ์šด์˜ ๋ชจ๋ธ(2์ผ ์ฐจ ์šด์˜)์˜ ๊ธฐ๋ฐ˜์„ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ฐ OpenShift 4 ํด๋Ÿฌ์Šคํ„ฐ๋Š” ๋‚ด์žฅ๋œ OperatorHub์˜ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์น˜์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฐ์‚ฐ์ž ์นดํƒˆ๋กœ๊ทธ๋ฅผ ๊ฒŒ์‹œํ•˜๊ณ  ์ด๋ฏธ ์„ค์น˜๋œ ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. OpenShift 4์˜ ์ธ๊ธฐ๊ฐ€ ๋†’์•„์ง์— ๋”ฐ๋ผ ์ „ ์„ธ๊ณ„์ ์œผ๋กœ OpenShift XNUMX์˜ ํด๋Ÿฌ์Šคํ„ฐ ์ˆ˜๋„ ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐ ํด๋Ÿฌ์Šคํ„ฐ๋Š” quay.io ๋‚ด๋ถ€์˜ ์•ฑ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ๋ฐฑ์—”๋“œ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋‚ด์žฅ OperatorHub๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์šด์˜์ž ์ฝ˜ํ…์ธ ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ œ์˜ ์›์ธ์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ณผ์ •์—์„œ OpenShift์˜ ์ธ๊ธฐ๊ฐ€ ์ ์ฐจ ๋†’์•„์ง์— ๋”ฐ๋ผ ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” quay.io ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜์— ๋Œ€ํ•œ ๋ถ€ํ•˜๋„ ์ฆ๊ฐ€ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋†“์ณค์Šต๋‹ˆ๋‹ค..

App Registry ์š”์ฒญ ํŠธ๋ž˜ํ”ฝ์„ ์ผ๋ถ€ ๋ถ„์„ํ•˜๊ณ  ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ฆ‰์‹œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ๊ฐ€ ์ตœ์ ์œผ๋กœ ํ˜•์„ฑ๋˜์ง€ ์•Š๋Š” ๋‹จ์ ์ด ๋“œ๋Ÿฌ๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋ถ€ํ•˜๊ฐ€ ๋‚ฎ์„ ๋•Œ๋Š” ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์•˜์œผ๋‚˜, ๋ถ€ํ•˜๊ฐ€ ์ฆ๊ฐ€ํ•˜๋ฉด ๋ฌธ์ œ์˜ ์›์ธ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. App Registry์—๋Š” ๋กœ๋“œ ์ฆ๊ฐ€์— ์ œ๋Œ€๋กœ ์‘๋‹ตํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๋‘ ๊ฐœ์˜ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ๋ฐํ˜€์กŒ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” ์ €์žฅ์†Œ์˜ ๋ชจ๋“  ํŒจํ‚ค์ง€ ๋ชฉ๋ก์„ ์ œ๊ณตํ–ˆ๊ณ  ๋‘ ๋ฒˆ์งธ๋Š” ํŒจํ‚ค์ง€์— ๋Œ€ํ•œ ๋ชจ๋“  Blob์„ ๋ฐ˜ํ™˜ํ–ˆ์Šต๋‹ˆ๋‹ค.

์›์ธ ์ œ๊ฑฐ

๋‹ค์Œ ์ฃผ ๋™์•ˆ ์šฐ๋ฆฌ๋Š” ์•ฑ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ž์ฒด์™€ ํ™˜๊ฒฝ์˜ ์ฝ”๋“œ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. ํ™•์‹คํžˆ ๋น„ํšจ์œจ์ ์ธ SQL ์ฟผ๋ฆฌ๊ฐ€ ์žฌ์ž‘์—…๋˜์—ˆ์œผ๋ฉฐ ๋ถˆํ•„์š”ํ•œ ๋ช…๋ น ํ˜ธ์ถœ์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. tar (BLOB์ด ๊ฒ€์ƒ‰๋  ๋•Œ๋งˆ๋‹ค ์‹คํ–‰๋จ) ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ ์บ์‹ฑ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ด‘๋ฒ”์œ„ํ•œ ์„ฑ๋Šฅ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ๋ณ€๊ฒฝ ์ „ํ›„์˜ ์•ฑ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์†๋„๋ฅผ ๋น„๊ตํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด์ „์—๋Š” ์ตœ๋Œ€ XNUMX๋ถ„์ด ๊ฑธ๋ ธ๋˜ API ์š”์ฒญ์ด ์ด์ œ ๋ฐ€๋ฆฌ์ดˆ ์•ˆ์— ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค.. ๋‹ค์Œ ์ฃผ์— ์šฐ๋ฆฌ๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ”„๋กœ๋•์…˜์— ๋ฐฐํฌํ–ˆ์œผ๋ฉฐ ๊ทธ ์ดํ›„๋กœ quay.io๋Š” ์•ˆ์ •์ ์œผ๋กœ ์ž‘๋™ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๊ฐ„ ๋™์•ˆ App Registry ์—”๋“œํฌ์ธํŠธ์—์„œ ํŠธ๋ž˜ํ”ฝ์ด ๋ช‡ ์ฐจ๋ก€ ๊ธ‰๊ฒฉํžˆ ๊ธ‰์ฆํ–ˆ์ง€๋งŒ ๊ฐœ์„ ์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ค‘๋‹จ์„ ๋ฐฉ์ง€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋ฌด์—‡์„ ๋ฐฐ์› ์Šต๋‹ˆ๊นŒ?

๋ชจ๋“  ์„œ๋น„์Šค๋Š” ๊ฐ€๋™ ์ค‘์ง€ ์‹œ๊ฐ„์„ ๋ฐฉ์ง€ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ ์ตœ๊ทผ ์ค‘๋‹จ์ด quay.io๋ฅผ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜์—ˆ๋‹ค๊ณ  ๋ฏฟ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ณต์œ ํ•˜๊ณ  ์‹ถ์€ ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ๊ตํ›ˆ์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค.

  1. ๊ท€ํ•˜์˜ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ๋žŒ๊ณผ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋Š” ๊ฒฐ์ฝ” ๋ถˆํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. Quay๋Š” "๊ทธ๋ƒฅ ์ž‘๋™"ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํŠธ๋ž˜ํ”ฝ์„ ์ตœ์ ํ™”ํ•˜๊ณ  ๋กœ๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•  ํ•„์š”๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์ด ์„œ๋น„์Šค๊ฐ€ ๋ฌดํ•œ์ • ํ™•์žฅ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ž˜๋ชป๋œ ๋ณด์•ˆ ๊ฐ๊ฐ์„ ๋งŒ๋“ค์–ด๋ƒˆ์Šต๋‹ˆ๋‹ค.
  2. ์„œ๋น„์Šค๊ฐ€ ๋‹ค์šด๋˜๋ฉด, ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ตœ์šฐ์„  ๊ณผ์ œ์ž…๋‹ˆ๋‹ค.. Quay๋Š” ์ฒซ ๋ฒˆ์งธ ์ค‘๋‹จ ๋™์•ˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž ๊น€์œผ๋กœ ์ธํ•ด ๊ณ„์† ์–ด๋ ค์›€์„ ๊ฒช์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ‘œ์ค€ ์ ˆ์ฐจ๋Š” ์˜๋„ํ•œ ํšจ๊ณผ๋ฅผ ์–ป์ง€ ๋ชปํ–ˆ๊ณ  ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋น„์Šค๋ฅผ ๋ณต์›ํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๊ธฐ๋Šฅ ๋ณต์›์— ๋ชจ๋“  ๋…ธ๋ ฅ์„ ์ง‘์ค‘ํ•˜๊ธฐ๋ณด๋‹ค ๊ทผ๋ณธ ์›์ธ์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์ˆ˜์ง‘ํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์„ ์†Œ๋น„ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
  3. ๊ฐ ์„œ๋น„์Šค ๊ธฐ๋Šฅ์˜ ์˜ํ–ฅ ํ‰๊ฐ€. ํด๋ผ์ด์–ธํŠธ๋Š” App Registry๋ฅผ ๊ฑฐ์˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ ํŒ€์˜ ์šฐ์„  ์ˆœ์œ„๋Š” ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ์ œํ’ˆ ๊ธฐ๋Šฅ์ด ๊ฑฐ์˜ ์‚ฌ์šฉ๋˜์ง€ ์•Š์œผ๋ฉด ๋ฒ„๊ทธ๊ฐ€ ๊ฑฐ์˜ ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์œผ๋ฉฐ ๊ฐœ๋ฐœ์ž๋Š” ์ฝ”๋“œ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์ค‘๋‹จํ•ฉ๋‹ˆ๋‹ค. ๊ฐ‘์ž๊ธฐ ๊ทธ ๊ธฐ๋Šฅ์ด ํฐ ์‚ฌ๊ฑด์˜ ์ค‘์‹ฌ์— ๋†“์ด๊ฒŒ ๋  ๋•Œ๊นŒ์ง€๋Š” ์ด๊ฒƒ์ด ๊ทธ๋ž˜์•ผ ํ•œ๋‹ค๋Š” ์˜คํ•ด์— ๋น ์ง€๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ๋ญ์ง€?

์„œ๋น„์Šค์˜ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์€ ๊ฒฐ์ฝ” ๋ฉˆ์ถ”์ง€ ์•Š์œผ๋ฉฐ ์ง€์†์ ์œผ๋กœ ๊ฐœ์„ ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. quay.io์˜ ํŠธ๋ž˜ํ”ฝ ์–‘์ด ๊ณ„์† ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ์šฐ๋ฆฌ๋Š” ๊ณ ๊ฐ์˜ ์‹ ๋ขฐ์— ๋ถ€์‘ํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์„ ์„ ๋‹คํ•ด์•ผ ํ•  ์ฑ…์ž„์ด ์žˆ์Œ์„ ์ธ์‹ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ˜„์žฌ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๊ธฐ๋ณธ RDS ์ธ์Šคํ„ด์Šค์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ์„œ๋น„์Šค๊ฐ€ ์ ์ ˆํ•œ ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฝ๊ธฐ ์ „์šฉ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณต์ œ๋ณธ์„ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.
  2. RDS ์ธ์Šคํ„ด์Šค ์—…๋ฐ์ดํŠธ. ํ˜„์žฌ ๋ฒ„์ „ ์ž์ฒด๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์˜คํžˆ๋ ค ์šฐ๋ฆฌ๋Š” (์‹คํŒจํ•˜๋Š” ๋™์•ˆ ๋”ฐ๋ผ์˜จ) ์ž˜๋ชป๋œ ํ”์ ์„ ์ œ๊ฑฐํ•˜๊ณ  ์‹ถ์„ ๋ฟ์ž…๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋ฉด ํ–ฅํ›„ ์ •์ „์ด ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ ๋ฐœ์ƒํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ์š”์ธ์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ์ „์ฒด ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์บ์‹ฑ. ์šฐ๋ฆฌ๋Š” ์บ์‹ฑ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ถ€ํ•˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ์˜์—ญ์„ ๊ณ„์†ํ•ด์„œ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ๋ˆ„๊ฐ€ quay.io์— ์—ฐ๊ฒฐํ•˜๊ณ  ์žˆ๋Š”์ง€, ๊ทธ ์ด์œ ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด WAF(์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฉํ™”๋ฒฝ)๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
  5. ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค๋ถ€ํ„ฐ Red Hat OpenShift ํด๋Ÿฌ์Šคํ„ฐ๋Š” App Registry๋ฅผ ํฌ๊ธฐํ•˜๊ณ  quay.io์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” Operator Catalog๋ฅผ ์‚ฌ์šฉํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
  6. App Registry์˜ ์žฅ๊ธฐ์ ์ธ ๋Œ€์ฒด๋Š” OCI(Open Container Initiative) ์•„ํ‹ฐํŒฉํŠธ ์‚ฌ์–‘์— ๋Œ€ํ•œ ์ง€์›์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ๊ธฐ๋ณธ Quay ๊ธฐ๋Šฅ์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์œผ๋ฉฐ ์‚ฌ์–‘ ์ž์ฒด๊ฐ€ ์™„์„ฑ๋˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„์˜ ๋ชจ๋“  ์‚ฌํ•ญ์€ ์†Œ๊ทœ๋ชจ "์Šคํƒ€ํŠธ์—… ์Šคํƒ€์ผ" ํŒ€์—์„œ ์„ฑ์ˆ™ํ•œ SRE ๊ธฐ๋ฐ˜ ํ”Œ๋žซํผ์œผ๋กœ ์ „ํ™˜ํ•จ์— ๋”ฐ๋ผ quay.io์— ๋Œ€ํ•œ Red Hat์˜ ์ง€์†์ ์ธ ํˆฌ์ž์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋งŽ์€ ๊ณ ๊ฐ๋“ค์ด ์ผ์ƒ ์—…๋ฌด(Red Hat ํฌํ•จ!)์—์„œ quay.io์— ์˜์กดํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์œผ๋ฉฐ, ์ตœ๊ทผ์˜ ์ค‘๋‹จ ์ƒํ™ฉ๊ณผ ์ง€์†์ ์ธ ๊ฐœ์„  ๋…ธ๋ ฅ์— ๋Œ€ํ•ด ์ตœ๋Œ€ํ•œ ํˆฌ๋ช…ํ•˜๊ฒŒ ๊ณต๊ฐœํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒˆ์—ญ๊ฐ€์˜ ์ถ”์‹ 

๋ธ”๋กœ๊ทธ์—์„œ๋„ ์ฝ์–ด๋ณด์„ธ์š”.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€