Kubernetes์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฒ„์ „์ธ OpenShift. 1 ๋ถ€

"Kubernetes์™€ OpenShift์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?" โ€“ ์ด ์งˆ๋ฌธ์€ ๋ถ€๋Ÿฌ์›Œํ•  ๋งŒํผ ์ผ๊ด€์„ฑ์„ ๊ฐ€์ง€๊ณ  ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ด๊ฒƒ์€ ์ž๋™์ฐจ๊ฐ€ ์—”์ง„๊ณผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€ ๋ฌป๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋น„์œ ๋ฅผ ๊ณ„์†ํ•˜๋ฉด ์ž๋™์ฐจ๋Š” ์™„์ œํ’ˆ์ด๋ฏ€๋กœ ๋ฌธ์ž ๊ทธ๋Œ€๋กœ ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํƒ€๊ณ  ๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, ์—”์ง„์ด ๋‹น์‹ ์„ ์–ด๋”˜๊ฐ€๋กœ ๋ฐ๋ ค๊ฐ€๋ ค๋ฉด, ๊ถ๊ทน์ ์œผ๋กœ ๊ฐ™์€ ์ฐจ๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋จผ์ € ๋‹ค๋ฅธ ๋งŽ์€ ๊ฒƒ๋“ค์ด ๋ณด์™„๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Kubernetes์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฒ„์ „์ธ OpenShift. 1 ๋ถ€

๋”ฐ๋ผ์„œ Kubernetes๋Š” OpenShift ๋ธŒ๋žœ๋“œ ์ž๋™์ฐจ(ํ”Œ๋žซํผ)๊ฐ€ ์กฐ๋ฆฝ๋˜์–ด ๋ชฉํ‘œ๋ฅผ ๋‹ฌ์„ฑํ•˜๋„๋ก ๋„์™€์ฃผ๋Š” ์—”์ง„์ž…๋‹ˆ๋‹ค.

์ด ๊ธ€์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ต์‹ฌ ์‚ฌํ•ญ์„ ์ข€ ๋” ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

  • Kubernetes๋Š” OpenShift ํ”Œ๋žซํผ์˜ ํ•ต์‹ฌ์ด๋ฉฐ 100% ์ธ์ฆ๋œ Kubernetes์ด๋ฉฐ ์™„์ „ํžˆ ์˜คํ”ˆ ์†Œ์Šค์ด๋ฉฐ ๋…์  ํŠน์„ฑ์ด ์ „ํ˜€ ์—†์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ:
    • OpenShift ํด๋Ÿฌ์Šคํ„ฐ API๋Š” XNUMX% Kubernetes์ž…๋‹ˆ๋‹ค.
    • ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋‹ค๋ฅธ Kubernetes ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰๋˜๋Š” ๊ฒฝ์šฐ ๋ณ€๊ฒฝ ์—†์ด OpenShift์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
  • OpenShift๋Š” Kubernetes์— ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž๋™์ฐจ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ OpenShift๋Š” ์ƒ์ž์—์„œ ๊บผ๋‚ด์ž๋งˆ์ž ์ฆ‰์‹œ ์ƒ์‚ฐ์— ํˆฌ์ž…๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์•„๋ž˜์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ๊ฐœ๋ฐœ์ž์˜ ์‚ถ์„ ํ›จ์”ฌ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ OpenShift๊ฐ€ ๋‘ ์‚ฌ๋žŒ์œผ๋กœ ํ†ตํ•ฉ๋œ ์ด์œ ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž์˜ ๊ด€์ ์—์„œ ๋ณด๋ฉด ์„ฑ๊ณต์ ์ด๊ณ  ์ž˜ ์•Œ๋ ค์ง„ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ PaaS ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๋™์‹œ์— ์‚ฐ์—… ์šด์˜ ๊ด€์ ์—์„œ ๋ณผ ๋•Œ ๋งค์šฐ ์•ˆ์ •์ ์ธ ์„œ๋น„์Šคํ˜• ์ปจํ…Œ์ด๋„ˆ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค.

OpenShift๋Š” 100% CNCF ์ธ์ฆ์„ ๋ฐ›์€ Kubernetes์ž…๋‹ˆ๋‹ค.

OpenShift๋Š” ๋‹ค์Œ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ธ์ฆ. ๋”ฐ๋ผ์„œ ์ ์ ˆํ•œ ๊ต์œก์„ ๋ฐ›์€ ํ›„ ์‚ฌ์šฉ์ž๋Š” kubectl์˜ ๊ฐ•๋ ฅํ•จ์— ๋†€๋ผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  Kubernetes Cluster์—์„œ OpenShift๋กœ ์ „ํ™˜ํ•œ ์‚ฌ๋žŒ๋“ค์€ kubeconfig๋ฅผ OpenShift ํด๋Ÿฌ์Šคํ„ฐ๋กœ ๋ฆฌ๋””๋ ‰์…˜ํ•œ ํ›„ ๋ชจ๋“  ๊ธฐ์กด ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์™„๋ฒฝํ•˜๊ฒŒ ์ž‘๋™ํ•œ๋‹ค๋Š” ์ ์ด ์ •๋ง ๋งˆ์Œ์— ๋“ ๋‹ค๊ณ  ์ž์ฃผ ๋งํ•ฉ๋‹ˆ๋‹ค.

์•„๋งˆ๋„ OC๋ผ๋Š” OpenShift์˜ ๋ช…๋ น์ค„ ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ๋Œ€ํ•ด ๋“ค์–ด๋ณด์…จ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. kubectl๊ณผ ์™„๋ฒฝํ•˜๊ฒŒ ๋ช…๋ น ํ˜ธํ™˜๋˜๋ฉฐ, ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ์œ ์šฉํ•œ ๋„์šฐ๋ฏธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋จผ์ € OC์™€ kubectl์˜ ํ˜ธํ™˜์„ฑ์— ๋Œ€ํ•ด ์ข€ ๋” ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

kubectl ๋ช…๋ น
OC ํŒ€

kubectl์€ ํฌ๋“œ๋ฅผ ์–ป์„
oc ํฌ๋“œ ๊ฐ€์ ธ์™€

kubectl์€ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.
oc ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๊ฐ€์ ธ์˜ค๊ธฐ

kubectl create -f ๋ฐฐํฌ.yaml
oc ์ƒ์„ฑ -f ๋ฐฐํฌ.yaml

OpenShift API์—์„œ kubectl์„ ์‚ฌ์šฉํ•œ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

โ€ข kubectl get pods โ€“ ์˜ˆ์ƒ๋Œ€๋กœ Pod๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Kubernetes์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฒ„์ „์ธ OpenShift. 1 ๋ถ€

โ€ข kubectl get ๋„ค์ž„์ŠคํŽ˜์ด์Šค โ€“ ์˜ˆ์ƒ๋Œ€๋กœ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Kubernetes์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฒ„์ „์ธ OpenShift. 1 ๋ถ€
kubectl create -f mydeployment.yaml ๋ช…๋ น์€ ์•„๋ž˜ ๋น„๋””์˜ค์— ํ‘œ์‹œ๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋‹ค๋ฅธ Kubernetes ํ”Œ๋žซํผ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ kubernetes ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.


์ฆ‰, ๋ชจ๋“  Kubernetes API๋Š” 100% ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ OpenShift์—์„œ ์™„๋ฒฝํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— OpenShift๋Š” CNCF(Cloud Native Computing Foundation)์—์„œ ์ธ์ฆ๋œ Kubernetes ํ”Œ๋žซํผ์œผ๋กœ ์ธ์ •๋ฐ›์•˜์Šต๋‹ˆ๋‹ค..โ€ƒ

OpenShift๋Š” Kubernetes์— ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

Kubernetes API๋Š” OpenShift์—์„œ 100% ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ํ‘œ์ค€ Kubernetes ์œ ํ‹ธ๋ฆฌํ‹ฐ kubectl์—๋Š” ๊ธฐ๋Šฅ๊ณผ ํŽธ์˜์„ฑ์ด ๋ถ„๋ช…ํžˆ ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ Red Hat์ด OC(OpenShift ํด๋ผ์ด์–ธํŠธ์˜ ์•ฝ์–ด) ๋ฐ ODO(OpenShift DO, ์ด ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ๊ฐœ๋ฐœ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•จ)์™€ ๊ฐ™์€ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ๊ณผ ๋ช…๋ น์ค„ ๋„๊ตฌ๋ฅผ Kubernetes์— ์ถ”๊ฐ€ํ•œ ์ด์œ ์ž…๋‹ˆ๋‹ค.

1. OC ์œ ํ‹ธ๋ฆฌํ‹ฐ - Kubectl์˜ ๋”์šฑ ๊ฐ•๋ ฅํ•˜๊ณ  ํŽธ๋ฆฌํ•œ ๋ฒ„์ „

์˜ˆ๋ฅผ ๋“ค์–ด kubectl๊ณผ ๋‹ฌ๋ฆฌ ์ƒˆ๋กœ์šด ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ปจํ…์ŠคํŠธ๋ฅผ ์‰ฝ๊ฒŒ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์†Œ์Šค ์ฝ”๋“œ๋‚˜ ๋ฐ”์ด๋„ˆ๋ฆฌ์—์„œ ์ง์ ‘ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๋Š” ๋“ฑ(Source-to-image, Source-to-image, s2i).

OC ์œ ํ‹ธ๋ฆฌํ‹ฐ์˜ ๋‚ด์žฅ ๋„์šฐ๋ฏธ์™€ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์ด ์ผ์ƒ ์ž‘์—…์„ ๋‹จ์ˆœํ™”ํ•˜๋Š” ๋ฐ ์–ด๋–ป๊ฒŒ ๋„์›€์ด ๋˜๋Š”์ง€ ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์˜ˆ๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๊ด€๋ฆฌ์ž…๋‹ˆ๋‹ค. ๊ฐ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์—๋Š” ํ•ญ์ƒ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐœ๋ฐœ ๋ฐ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์„ ๋งŒ๋“œ๋Š” ๋ฐ ์‚ฌ์šฉ๋˜์ง€๋งŒ, ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๊ฐœ์ธ ์ƒŒ๋“œ๋ฐ•์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋ฐ์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ kubectl์€ ํ˜„์žฌ ๊ณต๊ฐ„์˜ ์ปจํ…์ŠคํŠธ์—์„œ ์‹คํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐœ๋ฐœ์ž๋Š” ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๊ฐ„์— ์ž์ฃผ ์ „ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ kubectl์˜ ๊ฒฝ์šฐ ์ด๋ฅผ ์œ„ํ•ด ํ—ฌํผ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ ๊ทน์ ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค. ํ•˜์ง€๋งŒ OC๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์›ํ•˜๋Š” ๊ณต๊ฐ„์œผ๋กœ ์ „ํ™˜ํ•˜๋ ค๋ฉด "oc ํ”„๋กœ์ ํŠธ ๋„ค์ž„์ŠคํŽ˜์ด์Šค"๋ผ๊ณ  ๋งํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

ํ•„์š”ํ•œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๊ฐ€ ๋ฌด์—‡์ธ์ง€ ๊ธฐ์–ตํ•˜์ง€ ๋ชปํ•˜์‹œ๋‚˜์š”? ๋ฌธ์ œ ์—†์Šต๋‹ˆ๋‹ค. "oc get projects"๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ „์ฒด ๋ชฉ๋ก์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ์— ์žˆ๋Š” ์ œํ•œ๋œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ํ•˜์œ„ ์ง‘ํ•ฉ์—๋งŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ• ์ง€ ๊ถ๊ธˆํ•˜์‹ญ๋‹ˆ๊นŒ? ๊ธ€์Ž„, kubectl์€ RBAC๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ชจ๋“  ๊ณต๊ฐ„์„ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ํ—ˆ์šฉํ•˜๊ณ  ๋Œ€๊ทœ๋ชจ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ๊ทธ๋Ÿฌํ•œ ๊ถŒํ•œ์ด ๋ถ€์—ฌ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์—๋งŒ ์ด ์ž‘์—…์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋Œ€๋‹ตํ•ฉ๋‹ˆ๋‹ค. OC์˜ ๊ฒฝ์šฐ ์ด๋Š” ์ „ํ˜€ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์œผ๋ฉฐ ๊ทธ๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ ์ „์ฒด ๋ชฉ๋ก์„ ์‰ฝ๊ฒŒ ์ƒ์„ฑํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. Openshift์˜ ๊ธฐ์—… ์ง€ํ–ฅ์„ฑ๊ณผ ์‚ฌ์šฉ์ž ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ธก๋ฉด์—์„œ ์ด ํ”Œ๋žซํผ์˜ ์šฐ์ˆ˜ํ•œ ํ™•์žฅ์„ฑ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์€ ์ด๋Ÿฌํ•œ ์ž‘์€ ๊ฒƒ๋“ค์ž…๋‹ˆ๋‹ค.

2. ODO - ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ kubectl์˜ ํ–ฅ์ƒ๋œ ๋ฒ„์ „

Kubernetes์— ๋น„ํ•ด Red Hat OpenShift๊ฐ€ ๊ฐœ์„ ๋œ ๋˜ ๋‹ค๋ฅธ ์˜ˆ๋Š” ODO ๋ช…๋ น์ค„ ์œ ํ‹ธ๋ฆฌํ‹ฐ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ ์›๊ฒฉ OpenShift ํด๋Ÿฌ์Šคํ„ฐ์— ๋กœ์ปฌ ์ฝ”๋“œ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์‹œ ๋นŒ๋“œ, ๋“ฑ๋ก ๋ฐ ์žฌ๋ฐฐํฌํ•  ํ•„์š” ์—†์ด ๋ชจ๋“  ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์›๊ฒฉ OpenShift ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ปจํ…Œ์ด๋„ˆ์— ์ฆ‰์‹œ ๋™๊ธฐํ™”ํ•˜์—ฌ ๋‚ด๋ถ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OC์™€ ODO๊ฐ€ ์–ด๋–ป๊ฒŒ ์ปจํ…Œ์ด๋„ˆ์™€ Kubernetes ์ž‘์—…์„ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“œ๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

kubectl์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋œ ๊ฒฝ์šฐ์™€ OC ๋˜๋Š” ODO๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์˜ ๋ช‡ ๊ฐ€์ง€ ์›Œํฌํ”Œ๋กœ๋ฅผ ๋น„๊ตํ•ด ๋ณด์„ธ์š”.

โ€ข YAML์„ ๊ตฌ์‚ฌํ•˜์ง€ ๋ชปํ•˜๋Š” ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•ด OpenShift์— ์ฝ”๋“œ ๋ฐฐํฌ:

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค/kubectl
$>git ํด๋ก  github.com/sclorg/nodejs-ex.git
1- ์ฝ”๋“œ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๋Š” Dockerfile ๋งŒ๋“ค๊ธฐ
-----
๋…ธ๋“œ์—์„œ
WORKDIR /usr/src/app
COPY ํŒจํ‚ค์ง€*.json ./
๋ณต์‚ฌ index.js ./
๋ณต์‚ฌ ./app ./app
npm ์„ค์น˜ ์‹คํ–‰
๋…ธ์ถœ 3000
CMD [ โ€œnpmโ€, โ€œ์‹œ์ž‘โ€ ] โ€”โ€”โ€”โ€”โ€“
2- ์ด๋ฏธ์ง€๋ฅผ ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค
$>ํฌ๋“œ๋งจ ๋นŒ๋“œ...
3- ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ๋กœ๊ทธ์ธ
ํŒŸ๋งจ ๋กœ๊ทธ์ธ...
4- ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์ด๋ฏธ์ง€ ๋ฐฐ์น˜
ํฌ๋“œ๋งจ ํ‘ธ์‹œ
5- ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ yaml ํŒŒ์ผ ์ƒ์„ฑ(deployment.yaml, service.yaml, ingress.yaml) - ์ด๋Š” ์ ˆ๋Œ€ ์ตœ์†Œ๊ฐ’์ž…๋‹ˆ๋‹ค.
6- ๋งค๋‹ˆํŽ˜์ŠคํŠธ ํŒŒ์ผ ๋ฐฐํฌ:
Kubectl ์ ์šฉ -f .

์˜คํ”ˆ์‹œํ”„ํŠธ/oc
$> oc ์ƒˆ ์•ฑ github.com/sclorg/nodejs-ex.git โ€“ our_application_name

์˜คํ”ˆ์‹œํ”„ํŠธ/odo
$>git ํด๋ก  github.com/sclorg/nodejs-ex.git
$> odo ๊ตฌ์„ฑ ์š”์†Œ nodejs myapp ๋งŒ๋“ค๊ธฐ
$>์˜ค๋„ ํ‘ธ์‹œ

โ€ข ์ปจํ…์ŠคํŠธ ์ „ํ™˜: ์ž‘์—… ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋˜๋Š” ์ž‘์—… ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค/kubectl
1- "myproject" ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด kubeconfig์—์„œ ์ปจํ…์ŠคํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
2- kubectl ์„ธํŠธ ์ปจํ…์ŠคํŠธโ€ฆ

์˜คํ”ˆ์‹œํ”„ํŠธ/oc
oc ํ”„๋กœ์ ํŠธ โ€œmyprojectโ€

ํ’ˆ์งˆ ๊ด€๋ฆฌ: โ€œํ•œ ๊ฐ€์ง€ ํฅ๋ฏธ๋กœ์šด ๊ธฐ๋Šฅ์ด ์•„์ง ์•ŒํŒŒ ๋ฒ„์ „์œผ๋กœ ์—ฌ๊ธฐ์— ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์–ด์ฉŒ๋ฉด ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ ์ƒ์‚ฐ์— ํˆฌ์ž…ํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?โ€

๊ฒฝ์ฃผ์šฉ ์ž๋™์ฐจ์— ์•‰์•„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ง์„ ๋“ฃ๋Š”๋‹ค๊ณ  ์ƒ์ƒํ•ด ๋ณด์‹ญ์‹œ์˜ค. "์šฐ๋ฆฌ๋Š” ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ ๋ธŒ๋ ˆ์ดํฌ๋ฅผ ์„ค์น˜ํ–ˆ๋Š”๋ฐ ์†”์งํžˆ ๋งํ•ด์„œ ๋ธŒ๋ ˆ์ดํฌ์˜ ์‹ ๋ขฐ์„ฑ์€ ์•„์ง ๊ดœ์ฐฎ์ง€ ์•Š์Šต๋‹ˆ๋‹ค... ํ•˜์ง€๋งŒ ๊ฑฑ์ •ํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค. ์ฝ”์Šค ์ค‘์— ์ ๊ทน์ ์œผ๋กœ ๊ฐœ์„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฑ”ํ”ผ์–ธ์‹ญ์˜.โ€ ์ด ์ „๋ง์ด ๋งˆ์Œ์— ๋“œ์‹œ๋‚˜์š”? Red Hat์— ์žˆ๋Š” ์šฐ๋ฆฌ๋Š” ์™ ์ง€ ๋ณ„๋กœ ํ–‰๋ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๐Ÿ™‚

๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ์•ŒํŒŒ ๋ฒ„์ „์ด ์ถฉ๋ถ„ํžˆ ์„ฑ์ˆ™๋˜๊ณ  ์ฒ ์ €ํ•œ ์ „ํˆฌ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณ ์‚ฌ์šฉํ•˜๊ธฐ์— ์•ˆ์ „ํ•˜๋‹ค๊ณ  ๋Š๋‚„ ๋•Œ๊นŒ์ง€ ์•ŒํŒŒ ๋ฒ„์ „์„ ๋ณด๋ฅ˜ํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๋ชจ๋“  ๊ฒƒ์€ Dev Preview ๋‹จ๊ณ„๋ฅผ ๋จผ์ € ๊ฑฐ์นœ ๋‹ค์Œ ๊ธฐ์ˆ  ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ณต๊ฐœ ๋ฆด๋ฆฌ์Šค๋กœ ๋‚˜์˜ต๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ๊ฐ€์šฉ์„ฑ (GA)๋Š” ์ด๋ฏธ ๋งค์šฐ ์•ˆ์ •์ ์ด์–ด์„œ ์ƒ์‚ฐ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

์™œ ๊ทธ๋Ÿฐ ๊ฒ๋‹ˆ๊นŒ? ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Kubernetes์˜ ๋ชจ๋“  ์ดˆ๊ธฐ ์•„์ด๋””์–ด๊ฐ€ ์ตœ์ข… ๋ฆด๋ฆฌ์Šค์— ๋„๋‹ฌํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋˜๋Š” ๋ชฉํ‘œ์— ๋„๋‹ฌํ•˜๊ณ  ์˜๋„ํ•œ ๊ธฐ๋Šฅ์„ ์œ ์ง€ํ•˜์ง€๋งŒ ๊ตฌํ˜„์ด ์•ŒํŒŒ ๋ฒ„์ „์˜ ๊ตฌํ˜„๊ณผ ๊ทผ๋ณธ์ ์œผ๋กœ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๋ฏธ์…˜ ํฌ๋ฆฌํ‹ฐ์ปฌ ์›Œํฌ๋กœ๋“œ๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด OpenShift๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ˆ˜๋งŽ์€ Red Hat ๊ณ ๊ฐ๊ณผ ํ•จ๊ป˜ ์šฐ๋ฆฌ๋Š” ํ”Œ๋žซํผ์˜ ์•ˆ์ •์„ฑ๊ณผ ์žฅ๊ธฐ์ ์ธ ์ง€์›์— ํŠนํžˆ ์ค‘์ ์„ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Red Hat์€ OpenShift๋ฅผ ์ž์ฃผ ์ถœ์‹œํ•˜๊ณ  ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” Kubernetes ๋ฒ„์ „์„ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด ์ตœ์„ ์„ ๋‹คํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ด ๊ธ€์„ ์“ฐ๋Š” ์‹œ์ ์˜ OpenShift 4.3์˜ ํ˜„์žฌ GA ๋ฆด๋ฆฌ์Šค์—๋Š” Kubernetes 1.16์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” Kubernetes ์—…์ŠคํŠธ๋ฆผ ๋ฒ„์ „ ๋ฒˆํ˜ธ 1.17๋ณด๋‹ค ํ•œ ๋‹จ์œ„๋งŒ ๋’ค์ฒ˜์ง€๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ๊ณ ๊ฐ์—๊ฒŒ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ Kubernetes๋ฅผ ์ œ๊ณตํ•˜๊ณ  OpenShift์˜ ์ƒˆ ๋ฒ„์ „์„ ์ถœ์‹œํ•จ์— ๋”ฐ๋ผ ์ถ”๊ฐ€์ ์ธ ํ’ˆ์งˆ ๊ด€๋ฆฌ๋ฅผ ์ œ๊ณตํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด ์ˆ˜์ •: โ€œ์šฐ๋ฆฌ๊ฐ€ ํ”„๋กœ๋•์…˜์— ์žˆ๋Š” Kubernetes ๋ฒ„์ „์— ๊ตฌ๋ฉ์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์„ธ ๊ฐ€์ง€ ๋ฒ„์ „์„ ์—…๋ฐ์ดํŠธํ•ด์•ผ๋งŒ ๋‹ซ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋‹ˆ๋ฉด ์–ด๋–ค ์˜ต์…˜์ด ์žˆ๋‚˜์š”?

Kubernetes ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์—์„œ ์†Œํ”„ํŠธ์›จ์–ด ์ˆ˜์ • ์‚ฌํ•ญ์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค์˜ ์ผ๋ถ€๋กœ ๋ฆด๋ฆฌ์Šค๋˜๋ฉฐ ๋•Œ๋กœ๋Š” ์ด์ „ ๋งˆ์ผ์Šคํ†ค ๋ฆด๋ฆฌ์Šค ํ•˜๋‚˜ ๋˜๋Š” ๋‘ ๊ฐœ๋ฅผ ํฌํ•จํ•˜์—ฌ 6๊ฐœ์›” ์ •๋„์˜ ๋ฒ”์œ„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Red Hat์€ ๋‹ค๋ฅธ ์—…์ฒด๋ณด๋‹ค ๋จผ์ € ์ค‘์š”ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์„ ์ถœ์‹œํ•˜๊ณ  ํ›จ์”ฌ ๋” ์˜ค๋žซ๋™์•ˆ ์ง€์›์„ ์ œ๊ณตํ•œ๋‹ค๋Š” ์ ์— ์ž๋ถ€์‹ฌ์„ ๊ฐ–๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Kubernetes ๊ถŒํ•œ ์ƒ์Šน ์ทจ์•ฝ์ (CVE-2018-1002105): ์ด๋Š” Kubernetes 1.11์—์„œ ๋ฐœ๊ฒฌ๋˜์—ˆ์œผ๋ฉฐ ์ด์ „ ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ์€ ๋ฒ„์ „ 1.10.11๊นŒ์ง€๋งŒ ๋ฆด๋ฆฌ์Šค๋˜์—ˆ์œผ๋ฏ€๋กœ ์ด ๋ฌธ์ œ๋Š” 1.x์—์„œ 1.9๊นŒ์ง€ ๋ชจ๋“  ์ด์ „ Kubernetes ๋ฆด๋ฆฌ์Šค์˜ ๊ตฌ๋ฉ์— ๋‚จ๊ฒจ์กŒ์Šต๋‹ˆ๋‹ค.

ํ„ด์—์„œ, Red Hat์€ OpenShift๋ฅผ ๋ฒ„์ „ 3.2๋กœ ๋‹ค์‹œ ํŒจ์น˜ํ–ˆ์Šต๋‹ˆ๋‹ค. (Kubernetes 1.2๊ฐ€ ์žˆ์Œ), XNUMX๊ฐœ์˜ OpenShift ๋ฆด๋ฆฌ์Šค๋ฅผ ์บก์ฒ˜ํ•˜๊ณ  ๊ณ ๊ฐ์— ๋Œ€ํ•œ ๊ด€์‹ฌ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค(์ž์„ธํ•œ ๋‚ด์šฉ์€ ์—ฌ๊ธฐ์—).

OpenShift์™€ Red Hat์ด Kubernetes๋ฅผ ๋ฐœ์ „์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ•

Red Hat์€ Google์— ์ด์–ด ์˜คํ”ˆ์†Œ์Šค Kubernetes ํ”„๋กœ์ ํŠธ์— ๋‘ ๋ฒˆ์งธ๋กœ ํฐ ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐ์—ฌ์ž์ด๋ฉฐ, ๊ฐ€์žฅ ๋งŽ์€ ์„ฑ๊ณผ๋ฅผ ๋‚ด๋Š” ๊ฐœ๋ฐœ์ž 3๋ช… ์ค‘ 5๋ช…์ด Red Hat ์ถœ์‹ ์ž…๋‹ˆ๋‹ค. ์ž˜ ์•Œ๋ ค์ง€์ง€ ์•Š์€ ๋˜ ๋‹ค๋ฅธ ์‚ฌ์‹ค: ํŠนํžˆ Red Hat์˜ ์ฃผ๋„๋กœ Kubernetes์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋งŽ์€ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์ด ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.

  • RBAC. Kubernetes์—๋Š” Red Hat ์—”์ง€๋‹ˆ์–ด๊ฐ€ ์ถ”๊ฐ€ OpenShift ๊ธฐ๋Šฅ์ด ์•„๋‹Œ ํ”Œ๋žซํผ ์ž์ฒด์˜ ์ผ๋ถ€๋กœ RBAC ๊ธฐ๋Šฅ(ClusterRole, ClusterRoleBinding)์„ ๊ตฌํ˜„ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” RBAC ๊ธฐ๋Šฅ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. Red Hat์€ Kubernetes ๊ฐœ์„ ์„ ๋‘๋ ค์›Œํ•ฉ๋‹ˆ๊นŒ? ๋ฌผ๋ก  ๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด Red Hat์€ ์˜คํ”ˆ ์†Œ์Šค ์›์น™์„ ์—„๊ฒฉํ•˜๊ฒŒ ๋”ฐ๋ฅด๊ณ  Open Core ๊ฒŒ์ž„์„ ํ”Œ๋ ˆ์ดํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋…์  ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์•„๋‹Œ ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ฃผ๋„ํ•˜๋Š” ๊ฐœ์„ ๊ณผ ํ˜์‹ ์€ ๋” ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๊ณ  ๋” ๋„๋ฆฌ ์ฑ„ํƒ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์˜คํ”ˆ ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ณ ๊ฐ์—๊ฒŒ ๋” ์œ ์šฉํ•˜๊ฒŒ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ์šฐ๋ฆฌ์˜ ํ•ต์‹ฌ ๋ชฉํ‘œ์™€ ์ž˜ ๋ถ€ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  • ํฌ๋“œ์— ๋Œ€ํ•œ ๋ณด์•ˆ ์ •์ฑ…(ํฌ๋“œ ๋ณด์•ˆ ์ •์ฑ…). ํฌ๋“œ ๋‚ด์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์•ˆ์ „ํ•˜๊ฒŒ ์‹คํ–‰ํ•˜๋Š” ์ด๋Ÿฌํ•œ ๊ฐœ๋…์€ ์›๋ž˜ OpenShift์—์„œ SCC(Security Context Constraints)๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ๊ตฌํ˜„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด์ „ ์˜ˆ์—์„œ์™€ ๊ฐ™์ด Red Hat์€ ๋ชจ๋“  ์‚ฌ๋žŒ์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด๋Ÿฌํ•œ ๊ฐœ๋ฐœ์„ ์˜คํ”ˆ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ”„๋กœ์ ํŠธ์— ๋„์ž…ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด ์ผ๋ จ์˜ ์˜ˆ์‹œ๋Š” ๊ณ„์†๋  ์ˆ˜ ์žˆ์ง€๋งŒ Red Hat์ด Kubernetes๋ฅผ ๊ฐœ๋ฐœํ•˜๊ณ  ๋ชจ๋‘๋ฅผ ์œ„ํ•ด ๋” ๋‚˜์€ ํ™˜๊ฒฝ์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์ง„์‹ฌ์œผ๋กœ ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Œ์„ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

OpenShift๊ฐ€ Kubernetes๋ผ๋Š” ๊ฒƒ์€ ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ฐจ์ด์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๐Ÿ™‚

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

๊ทธ๋Ÿฌ๋‚˜ OpenShift์˜ ๊ฒฝ์šฐ Red Hat์€ ์ด๋Ÿฌํ•œ ๋ชจ๋“  ๋ณต์žก์„ฑ์„ ์Šค์Šค๋กœ ํ•ด๊ฒฐํ•˜๊ณ  Kubernetes ์ž์ฒด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Kubernetes๋ฅผ ์‹ค์ œ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ „์ฒด ์˜คํ”ˆ ์†Œ์Šค ๋„๊ตฌ ์„ธํŠธ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ธฐ๋Šฅ์ ์œผ๋กœ ์™„์ „ํ•œ ํ”Œ๋žซํผ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰๊ฐ์ ์ด๊ณ  ์™„๋ฒฝํ•˜๊ฒŒ ์ฐจ๋ถ„ํ•˜๊ฒŒ ํ”„๋กœ๋•์…˜์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก , ์ž์ฒด ๊ธฐ์ˆ  ์Šคํƒ์ด ์žˆ๋Š” ๊ฒฝ์šฐ OpenShift๋ฅผ ๊ธฐ์กด ์†”๋ฃจ์…˜์— ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Kubernetes์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฒ„์ „์ธ OpenShift. 1 ๋ถ€
OpenShift๋Š” ์Šค๋งˆํŠธ Kubernetes ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค.

์œ„์˜ ๊ทธ๋ฆผ์„ ์‚ดํŽด๋ณด์‹ญ์‹œ์˜ค. Kubernetes ์ง์‚ฌ๊ฐํ˜• ์™ธ๋ถ€์— ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ์€ Red Hat์ด Kubernetes๊ฐ€ ์„ค๊ณ„์ƒ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š์€ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค. ์ด์ œ ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ์˜์—ญ์˜ ์ฃผ์š” ๋ถ€๋ถ„์„ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. ๊ฐ•๋ ฅํ•œ ๊ธฐ๋ฐ˜ OS: RHEL CoreOS ๋˜๋Š” RHEL

Red Hat์€ 20๋…„ ๋„˜๊ฒŒ ๋น„์ฆˆ๋‹ˆ์Šค ํฌ๋ฆฌํ‹ฐ์ปฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ Linux ๋ฐฐํฌํŒ์„ ๊ณต๊ธ‰ํ•ด ์˜จ ์„ ๋‘์—…์ฒด์ž…๋‹ˆ๋‹ค. ์ด ๋ถ„์•ผ์—์„œ ์ถ•์ ๋˜๊ณ  ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋Š” ๊ฒฝํ—˜์„ ํ†ตํ•ด ์šฐ๋ฆฌ๋Š” ์ปจํ…Œ์ด๋„ˆ์˜ ์‚ฐ์—… ์šด์˜์„ ์œ„ํ•œ ์ง„์ •์œผ๋กœ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋ฐ˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. RHEL CoreOS๋Š” RHEL๊ณผ ๋™์ผํ•œ ์ปค๋„์„ ์‚ฌ์šฉํ•˜์ง€๋งŒ ์ฃผ๋กœ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ๋ฐ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ์‹คํ–‰๊ณผ ๊ฐ™์€ ์ž‘์—…์— ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ๊ธฐ๊ฐ€ ์ค„์–ด๋“ค๊ณ  ๋ถˆ๋ณ€์„ฑ์ด ์žˆ์œผ๋ฏ€๋กœ ํด๋Ÿฌ์Šคํ„ฐ ์„ค์ •, ์ž๋™ ํฌ๊ธฐ ์กฐ์ •, ํŒจ์น˜ ๋ฐฐํฌ ๋“ฑ์ด ๋” ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋ฒ ์–ด๋ฉ”ํƒˆ๋ถ€ํ„ฐ ํ”„๋ผ์ด๋น— ๋ฐ ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ๊นŒ์ง€ ๊ด‘๋ฒ”์œ„ํ•œ ์ปดํ“จํŒ… ํ™˜๊ฒฝ์—์„œ OpenShift๋ฅผ ํ†ตํ•ด ๋™์ผํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ์ด์ƒ์ ์ธ ๊ธฐ๋ฐ˜์ž…๋‹ˆ๋‹ค.

2. IT ์šด์˜ ์ž๋™ํ™”

์„ค์น˜ ํ”„๋กœ์„ธ์Šค ๋ฐ 4์ผ์ฐจ ์ž‘์—…(์ฆ‰, ์ผ์ƒ์ ์ธ ์ž‘์—…)์˜ ์ž๋™ํ™”๋Š” OpenShift์˜ ์žฅ์ ์œผ๋กœ, ์ตœ๊ณ  ์ˆ˜์ค€์—์„œ ์ปจํ…Œ์ด๋„ˆ ํ”Œ๋žซํผ์˜ ์„ฑ๋Šฅ์„ ํ›จ์”ฌ ์‰ฝ๊ฒŒ ๊ด€๋ฆฌ, ์—…๋ฐ์ดํŠธ ๋ฐ ์œ ์ง€ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” OpenShift XNUMX ์ปค๋„ ์ˆ˜์ค€์—์„œ Kubernetes ์šด์˜์ž ์ง€์›์„ ํ†ตํ•ด ๋‹ฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

OpenShift 4๋Š” ๋˜ํ•œ Red Hat ์ž์ฒด์™€ ํƒ€์‚ฌ ํŒŒํŠธ๋„ˆ๊ฐ€ ๊ฐœ๋ฐœํ•œ Kubernetes ์šด์˜์ž๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ์†”๋ฃจ์…˜์˜ ์ „์ฒด ์—์ฝ”์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค(์ฐธ์กฐ: ์šด์˜์ž ๋””๋ ‰ํ† ๋ฆฌ Red Hat ๋˜๋Š” ์šด์˜ ๋งค์žฅ Operatorhub.io, ํƒ€์‚ฌ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•ด Red Hat์—์„œ ์ œ์ž‘ํ•จ).

Kubernetes์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฒ„์ „์ธ OpenShift. 1 ๋ถ€
ํ†ตํ•ฉ OpenShift 4 ์นดํƒˆ๋กœ๊ทธ์—๋Š” 180๊ฐœ ์ด์ƒ์˜ Kubernetes ์šด์˜์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

3. ๊ฐœ๋ฐœ์ž ๋„๊ตฌ

2011๋…„๋ถ€ํ„ฐ OpenShift๋Š” ๊ฐœ๋ฐœ์ž์˜ ์‚ถ์„ ํ›จ์”ฌ ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ณ , ์ฝ”๋”ฉ์— ์ง‘์ค‘ํ•˜๋„๋ก ๋•๊ณ , Java, Node.js์™€ ๊ฐ™์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ง€์›์„ ์ œ๊ณตํ•˜๋Š” PaaS(Platform-as-a-Service) ํ”Œ๋žซํผ์œผ๋กœ ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค. , PHP, Ruby, Python, Go๋Š” ๋ฌผ๋ก  CI/CD ์ง€์†์  ํ†ตํ•ฉ ๋ฐ ์ „๋‹ฌ ์„œ๋น„์Šค, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋“ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. OpenShift 4๋Š” ๋‹ค์Œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ด‘๋ฒ”์œ„ํ•œ ์นดํƒˆ๋กœ๊ทธ์—ฌ๊ธฐ์—๋Š” Red Hat๊ณผ ํŒŒํŠธ๋„ˆ๊ฐ€ ๊ฐœ๋ฐœํ•œ Kubernetes ์šด์˜์ž๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” 100๊ฐœ ์ด์ƒ์˜ ์„œ๋น„์Šค๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Kubernetes์™€ ๋‹ฌ๋ฆฌ OpenShift 4์—๋Š” ์ „์šฉ GUI(๊ฐœ๋ฐœ์ž ์ฝ˜์†”)๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‹ค์–‘ํ•œ ์†Œ์Šค(git, ์™ธ๋ถ€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ, Dockerfile ๋“ฑ)์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ์‰ฝ๊ฒŒ ๋ฐฐํฌํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ์š”์†Œ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์‹œ๊ฐํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

Kubernetes์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฒ„์ „์ธ OpenShift. 1 ๋ถ€
๊ฐœ๋ฐœ์ž ์ฝ˜์†”์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ ์š”์†Œ์— ๋Œ€ํ•œ ๋ช…ํ™•ํ•œ ๋ณด๊ธฐ๋ฅผ ์ œ๊ณตํ•˜๊ณ  Kubernetes ์ž‘์—…์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋˜ํ•œ OpenShift๋Š” ํŠนํžˆ ๋‹ค์Œ๊ณผ ๊ฐ™์€ Codeready ๊ฐœ๋ฐœ ๋„๊ตฌ ์„ธํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ ๋ ˆ๋”” ์ž‘์—… ๊ณต๊ฐ„๋Š” OpenShift ์œ„์—์„œ ์ง์ ‘ ์‹คํ–‰๋˜๊ณ  IDE-as-a-service ์ ‘๊ทผ ๋ฐฉ์‹์„ ๊ตฌํ˜„ํ•˜๋Š” ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ–์ถ˜ ์™„์ „ํžˆ ์ปจํ…Œ์ด๋„ˆํ™”๋œ IDE์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด, ์—„๊ฒฉํ•˜๊ฒŒ ๋กœ์ปฌ ๋ชจ๋“œ๋กœ ์ž‘์—…ํ•˜๋ ค๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ๋…ธํŠธ๋ถ์— ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” OpenShift 4์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๋ฒ„์ „์ธ Codeready Containers๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

Kubernetes์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฒ„์ „์ธ OpenShift. 1 ๋ถ€
Kubernetes/OpenShift ํ”Œ๋žซํผ์—์„œ ํšจ์œจ์ ์ธ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์„œ๋น„์Šค๋กœ์„œ์˜ ํ†ตํ•ฉ IDE

OpenShift๋Š” ์ปจํ…Œ์ด๋„ˆํ™”๋œ Jenkins ๋ฐ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฆ‰์‹œ ์ „์ฒด CI/CD ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. DSL ํŒŒ์ดํ”„๋ผ์ธ ๋˜๋Š” Kubernetes ์ง€ํ–ฅ CI/CD ์‹œ์Šคํ…œ ์ž‘์—…์šฉ Tekton (ํ˜„์žฌ ๊ธฐ์ˆ  ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ฒ„์ „). ๋‘ ์†”๋ฃจ์…˜ ๋ชจ๋‘ OpenShift ์ฝ˜์†”๊ณผ ์™„๋ฒฝํ•˜๊ฒŒ ํ†ตํ•ฉ๋˜์–ด ํŒŒ์ดํ”„๋ผ์ธ ํŠธ๋ฆฌ๊ฑฐ ์‹คํ–‰, ๋ฐฐํฌ, ๋กœ๊ทธ ๋ณด๊ธฐ ๋“ฑ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ์ ์šฉ ๋„๊ตฌ

OpenShift๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ์กด์˜ ์ƒํƒœ ์ €์žฅ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๋˜๋Š” ์„œ๋ฒ„๋ฆฌ์Šค์™€ ๊ฐ™์€ ์ƒˆ๋กœ์šด ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ์†”๋ฃจ์…˜์„ ๋ชจ๋‘ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. OpenShift Service Mesh ์†”๋ฃจ์…˜์€ Istio, Kiali ๋ฐ Jaeger์™€ ๊ฐ™์€ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์ฃผ์š” ๋„๊ตฌ์™€ ํ•จ๊ป˜ ์ฆ‰์‹œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. OpenShift Serverless ์†”๋ฃจ์…˜์—๋Š” Knative๋ฟ๋งŒ ์•„๋‹ˆ๋ผ OpenShift ํ”Œ๋žซํผ์—์„œ Azure ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด Microsoft์™€์˜ ๊ณต๋™ ์ด๋‹ˆ์…”ํ‹ฐ๋ธŒ์˜ ์ผ๋ถ€๋กœ ๋งŒ๋“ค์–ด์ง„ Keda์™€ ๊ฐ™์€ ๋„๊ตฌ๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Kubernetes์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฒ„์ „์ธ OpenShift. 1 ๋ถ€
ํ†ตํ•ฉ ์†”๋ฃจ์…˜ OpenShift ServiceMesh(Istio, Kiali, Jaeger)๋Š” ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค ๊ฐœ๋ฐœ ์‹œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ ˆ๊ฑฐ์‹œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์ปจํ…Œ์ด๋„ˆ ๊ฐ„์˜ ๊ฒฉ์ฐจ๋ฅผ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด OpenShift๋Š” ์ด์ œ ์ปจํ…Œ์ด๋„ˆ ๋„ค์ดํ‹ฐ๋ธŒ ๊ฐ€์ƒํ™”(ํ˜„์žฌ TechPreview์— ์žˆ์Œ)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ€์ƒ ๋จธ์‹ ์„ OpenShift ํ”Œ๋žซํผ์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜์—ฌ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ˜„์‹คํ™”ํ•˜๊ณ  ํ”„๋ผ์ด๋น— ๋ฐ ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ ๊ฐ„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค.

Kubernetes์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฒ„์ „์ธ OpenShift. 1 ๋ถ€
์ปจํ…Œ์ด๋„ˆ ๋„ค์ดํ‹ฐ๋ธŒ ๊ฐ€์ƒํ™”๋ฅผ ํ†ตํ•ด OpenShift์—์„œ ์‹คํ–‰๋˜๋Š” Windows 2019 ๊ฐ€์ƒ ๊ฐ€์ƒ ๋จธ์‹ (ํ˜„์žฌ ๊ธฐ์ˆ  ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ฒ„์ „)

5. ํด๋Ÿฌ์Šคํ„ฐ์šฉ ๋„๊ตฌ

๋ชจ๋“  ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ๊ธ‰ ํ”Œ๋žซํผ์—๋Š” ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ์ค‘์•™ ์ง‘์ค‘์‹ ๋กœ๊น… ์„œ๋น„์Šค, ๋ณด์•ˆ ๋ฉ”์ปค๋‹ˆ์ฆ˜, ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ€์—ฌ, ๋„คํŠธ์›Œํฌ ๊ด€๋ฆฌ ๋„๊ตฌ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  OpenShift๋Š” ์ด ๋ชจ๋“  ๊ฒƒ์„ ์ฆ‰์‹œ ์ œ๊ณตํ•˜๋ฉฐ ElasticSearch, Prometheus, Grafana์™€ ๊ฐ™์€ ์†”๋ฃจ์…˜์„ ํฌํ•จํ•˜์—ฌ ๋ชจ๋‘ 100% ์˜คํ”ˆ ์†Œ์Šค์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ชจ๋“  ์†”๋ฃจ์…˜์—๋Š” Red Hat์˜ ๊ด‘๋ฒ”์œ„ํ•œ ํด๋Ÿฌ์Šคํ„ฐ ๋ชจ๋‹ˆํ„ฐ๋ง ์ „๋ฌธ ์ง€์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฏธ ๊ตฌ์ถ• ๋ฐ ๊ตฌ์„ฑ๋œ ๋Œ€์‹œ๋ณด๋“œ, ์ง€ํ‘œ ๋ฐ ๊ฒฝ๊ณ ๊ฐ€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋ฏ€๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์„ ํšจ๊ณผ์ ์œผ๋กœ ์ œ์–ดํ•˜๊ณ  ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OpenShift๋Š” ๋˜ํ•œ ๋‚ด์žฅ๋œ oauth ๊ณต๊ธ‰์ž๋ฅผ ํ†ตํ•œ ์ธ์ฆ, LDAP, ActiveDirectory, OpenID Connect ๋“ฑ์„ ํฌํ•จํ•œ ์ž๊ฒฉ ์ฆ๋ช… ๊ณต๊ธ‰์ž์™€์˜ ํ†ตํ•ฉ๊ณผ ๊ฐ™์ด ๊ธฐ์—… ๊ณ ๊ฐ์„ ์œ„ํ•œ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์„ ํ‘œ์ค€์œผ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Kubernetes์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฒ„์ „์ธ OpenShift. 1 ๋ถ€
OpenShift ํด๋Ÿฌ์Šคํ„ฐ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•ด ์‚ฌ์ „ ๊ตฌ์„ฑ๋œ Grafana ๋Œ€์‹œ๋ณด๋“œ

Kubernetes์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฒ„์ „์ธ OpenShift. 1 ๋ถ€
OpenShift ํด๋Ÿฌ์Šคํ„ฐ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์œ„ํ•ด ์‚ฌ์ „ ๊ตฌ์„ฑ๋œ 150๊ฐœ ์ด์ƒ์˜ Prometheus ์ง€ํ‘œ ๋ฐ ๊ฒฝ๊ณ 

๊ณ„์†ํ•˜๊ธฐ

์†”๋ฃจ์…˜์˜ ํ’๋ถ€ํ•œ ๊ธฐ๋Šฅ๊ณผ Red Hat์˜ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋ถ„์•ผ์—์„œ์˜ ๊ด‘๋ฒ”์œ„ํ•œ ๊ฒฝํ—˜์€ ์•„๋ž˜ ๊ทธ๋ฆผ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด OpenShift๊ฐ€ ์‹œ์žฅ์—์„œ ์ง€๋ฐฐ์ ์ธ ์œ„์น˜๋ฅผ ์ฐจ์ง€ํ•œ ์ด์œ ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—).

Kubernetes์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฒ„์ „์ธ OpenShift. 1 ๋ถ€
โ€œRed Hat์€ ํ˜„์žฌ 44%์˜ ์ ์œ ์œจ๋กœ ์‹œ์žฅ์„ ์„ ๋„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
ํšŒ์‚ฌ๋Š” ๋จผ์ € ๊ธฐ์—… ๊ฐœ๋ฐœ์ž๋ฅผ ์ปจ์„คํŒ…ํ•˜๊ณ  ๊ต์œกํ•œ ๋‹ค์Œ ๊ธฐ์—…์ด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ”„๋กœ๋•์…˜์— ๋ฐฐํฌํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด์„œ ์ˆ˜์ตํ™”๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ณ ๊ฐ ์ค‘์‹ฌ ์˜์—… ์ „๋žต์˜ ์ด์ ์„ ๋ˆ„๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.โ€

(์ถœ์ฒ˜ : www.lightreading.com/nfv/containers/ihs-red-hat-container-strategy-is-paying-off/d/d-id/753863)

์ด ๊ธฐ์‚ฌ๊ฐ€ ์ฆ๊ฑฐ์› ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ด ์‹œ๋ฆฌ์ฆˆ์˜ ํ–ฅํ›„ ๊ฒŒ์‹œ๋ฌผ์—์„œ๋Š” ์—ฌ๊ธฐ์—์„œ ๋…ผ์˜๋œ ๊ฐ ๋ฒ”์ฃผ์—์„œ Kubernetes์— ๋น„ํ•ด OpenShift์˜ ์žฅ์ ์„ ์ž์„ธํžˆ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

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