OpenShift Origin
Red Hat OpenShift Origin์ ์ปค๋ฎค๋ํฐ๊ฐ ์ง์ํ๋ ์คํ์ํํธ ์์ค ์ ์คํธ๋ฆผ ํ๋ก์ ํธ์ ๋๋ค. Origin์ CentOS ๋๋ RHEL(Red Hat Enterprise Linux)์ ์ค์นํ ์ ์์ต๋๋ค.
Red Hat OpenShift์ ์ฃผ์ ๊ธฐ๋ฅ๊ณผ ํด๋ผ์ฐ๋ ๋ฐฐํฌ์ ์ด์ ์ ์์๋ณด์ธ์. ํจ์จ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ๊ด๋ฆฌ ๋ฐ ํ์ฅ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ต๊ทผ ๋ง์ ๊ธฐ์ ๋ค์ด ์ ๋ก์๋ ๊ฒฝ์์ ๋ ธ์ถ๋์ด ์์ต๋๋ค. ์ต๊ทผ์ ์ธํฐ๋ท ์๋น์ค๋ฅผ ๊ธฐ๋ฐ๋ ๊ธฐ์ ๋ค์ ๊ธ์ต์ , ์ ํต์ , ํต์ ์ , ๋๋ ์ ์กฐ์ ๊น์ง ์ง์ถํ๋ฉด์ ๋ช ๋ ๋์ ์์ฅ ํ๋๋ฅผ ํฌ๊ฒ ๋ฐ๊ฟ ๋์์ต๋๋ค. ์ด๋ฌํ ํ๋ฆ์ ํด์ธ๋ฟ๋ง ์๋๋ผ ๊ตญ๋ด์์๋ ํ๋ฐํ๊ฒ ์ผ์ด๋๊ณ ์์ต๋๋ค.
์ด๋ฌํ ๋น์ฆ๋์ค ์ํฉ์์ ๊ธฐ์ ์ ์ง๊ธ๋ณด๋ค ๊ทธ ์ด์์ผ๋ก IT๋ฅผ ํ์ฉ ํ ๋น์ฆ๋์ค ํ์ ์ ์คํํ๊ธฐ์ํ ๋์งํธ ๋ณํ (DX)์ ๋ ธ๋ ฅ๊ณผ ์๋ก์ด ์ธํ๋ผ์ ๋์ ์ด ํ์๊ฐ ๋์์ต๋๋ค. ์๋ก์ด ์ธํ๋ผ๋ ํด๋ผ์ฐ๋์ ํ์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ํ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ/๋ฐฐํฌ/์ด์/๋ชจ๋ํฐ๋ง ๊ธฐ๋ฐ์ ๋๋ค. ๋ฐ๋ก ํ์ ์ ์ํ ์ธํ๋ผ ๊ตฌ์ถ์ ์ํ ๊ฒ์ด OpenShift์ ๋๋ค.
OpenShift (์คํ์ํํธ) ๋ ๊ธฐ์ ์ Docker์ Kubernetes๋ฅผ ์ ๊ณตํ๋ ์ปจํ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ซํผ์ ๋๋ค.
์คํ์ํํธ๋ ์ฌ์ฉ ์ค์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ํคํ ์ฒ์ ๊ด๊ณ์์ด ๊ฑฐ์ ๋ชจ๋ ์ธํ๋ผ(ํผ๋ธ๋ฆญ ๋๋ ํ๋ผ์ด๋น)์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๊ตฌ์ถ, ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ์จํ๋ ๋ฏธ์ค, ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋, ํธ์คํฐ๋ ์ค ์ด๋ค IT ํ๊ฒฝ์ด๋ ๊ฒฝ์์ ์ฒด๋ณด๋ค ๋นจ๋ฆฌ ์ฐ์ํ ์์ด๋์ด๋ฅผ ์ ํํ ํ ์ ์์ต๋๋ค.
์์ฝํ๋ฉด ์ ์ํ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ํด ๋์ปค ์ปจํ ์ด๋์ DevOps (๋ฐ๋ธ์ต์ค)๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ Kubernetes (์ฟ ๋ฒ ๋ฅด๋คํ ์ค)๋ฅผ ์ง์ํ๋ ์ด์ํ๊ฒฝ์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค.
์คํ์ํํธ๋ ์ํฐํ๋ผ์ด์ฆ์ Docker์ Kubernetes๋ฅผ ์ ๊ณตํ๋ ํ์ฅ ๊ฐ๋ฅํ ๊ฐ๋ฐฉํ ์ปจํ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ซํผ์ ๋๋ค.
Red Hat OpenShift(๋ ๋ํ ์คํ์ํํธ)์๋ ์ฌ๋ฌ ๋ฒ์ ์ด ์์ต๋๋ค.
OpenShift Origin๊ณผ OpenShift Container Platform์ ์ค์นํ ๋ฒ์ ์ด๋ฉฐ, OpenShift Online๊ณผ OpenShift Dedicated๋ ํด๋ผ์ฐ๋ํ ๋ฒ์ ์ ๋๋ค.
ํ๋ํ๋ IT ํ๊ฒฝ์ ํ์ด๋ธ๋ฆฌ๋ IT๋ก ์ด๋ฃจ์ด์ง๋๋ค. ๊ธฐ์ ์๋ ์ฌ๋ฌ ๋ฒค๋์ ์ธํ๋ผ์ ํ๋ซํผ, ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ํด์ด ์์ต๋๋ค. ๋ ์ ํ ํด์ ์๋ก ํธํ์ด ๋์ง ์์ผ๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํด๋ผ์ฐ๋ ์ฌ์ด์์ ์ด์์ด ๋๋ ค์ง๋ฏ๋ก ๋ฐ์ดํฐ ๋ถ๋ด์ด ๊ฐ์ค๋ฉ๋๋ค. ๊ธฐ์ ์ ํด๋ผ์ฐ๋๋ฅผ ์๋ก ํตํฉํ๋ ์ธํ๋ผ, ๊ด๋ฆฌ ๋ฐ ๊ฐ๋ฐ ๊ฐ์ ์ด ํ์ํฉ๋๋ค.
์คํ์ํํธ๋ ๊ฐ์ํ, ๋ฒ ์ด ๋ฉํ ๋ฐ ํผ๋ธ๋ฆญ ํด๋ผ์ฐ๋ ๋ฑ ๋ค ๊ณ ๊ฐ์ด ์ํ๋ ๋ค์ํ ํด๋ผ์ฐ๋์์ ๋ชจ๋ ํด๋ผ์ฐ๋์ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค.
๋ ๋ํ ์คํ์ํํธ๋ ๊ฐ๋ ฅํ ์ปจํ ์ด๋ ํด๋ฌ์คํฐ ๊ด๋ฆฌ ๋ฐ ์ค์ผ์คํธ๋ ์ด์ ์์คํ ์ธ Docker์ Kubernetes์ ๊ฐ์ ๊ธฐ์ ์ ๊ธฐ๋ณธ์ ์ผ๋ก ํตํฉํ๊ณ ์ด๋ฅผ Red Hat Enterprise Linux์์ ์ํฐํ๋ผ์ด์ฆ ๊ธฐ๋ฐ์ ๊ฒฐํฉํ๋ ์ ์ฒด ์ปจํ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ซํผ์ ๋๋ค.
์คํ์ํํธ๋ ๊ฐ๋ฐ ๋ฐ ์ด์ํ์ ์ญ๋์ ๊ฐํํ๋ ๋ฐ ํ์ํ ์ํคํ ์ฒ, ํ๋ก์ธ์ค, ํ๋ซํผ ๋ฐ ์๋น์ค๋ฅผ ํตํฉํฉ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ๋ ๋ฐ ํ์ํ ์์์ ์ปจํ ์ด๋์ ๋ฃ๊ณ . ๊ฐ๋ฐ์๋ ๋ค์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปจํ ์ด๋ ํ์์ผ๋ก ์ ์ฅํ์ฌ ์คํ ํ๊ฒฝ์ ์ ๊ณตํ๋ ํธ์คํธ OS์ ๋ฐฐํฌํ๋ ๊ฒ์ผ๋ก ๊ฐ๋จํ๊ฒ ์ด์ํ ์ ์์ต๋๋ค. ์ฆ ํ๊ฒฝ ๊ตฌ์ถ ๋ฑ์ ๋ฒ๊ฑฐ ๋ก์์์ด ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ง์คํ ์ ์์ต๋๋ค.
์ธํ๋ผ ์ด์์๋ ์ธ์ด์ ํ๊ฒฝ์ ์ดํดํ์ง ์๋๋ผ๋ ํจํค์ง ๋ ์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ํตํฉ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์ด์ ๊ด๋ฆฌ ํ ์ โโ์์ต๋๋ค.
์ธ์ด์ ๊ธฐ์ ๋ฒ์ ์ ๋ฐ๋ผ ๋ฐฐํฌ ๋ฐฉ๋ฒ์ ๋ฐ๊ฟ ํ์๋ ์์ต๋๋ค.
๊ฐ๋ฐ์์ ์ด์๊น์ง ํตํฉ ๊ด๋ฆฌ ํ ์ โโํ๋ฆ์ ๋จ์ํ๋ฅผ ์คํํฉ๋๋ค.
์คํ์ํํธ๋ ๊ฐ๋ฐ์์๊ฒ ์ ํ ์๋น์ค ๋ฐฉ์์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ปดํฌ๋ํธ๋ฅผ ํ๋ก๋น์ ๋, ๋น๋ ๋ฐ ๋ฐฐํฌํ๋๋ก ์ง์ํ๋ ์ต์ ์ ํ๋ซํผ์ ๋๋ค.
์์ค ํฌ ์ด๋ฏธ์ง(S2I) ํ๋ก์ธ์ค ๊ฐ์ ์๋ํ๋ ์ํฌํ๋ก์ฐ ๋๋ถ์ ์์ค ํ์ ๊ด๋ฆฌ์ ์์ค ์ฝ๋๋ฅผ ์ฆ์ ์คํ ๊ฐ๋ฅํ ๋์ปค ํฌ๋งท ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ก ๊ฐ๋จํ๊ฒ ์์ฑํ ์ ์์ต๋๋ค.
์คํ์ํํธ๋ CI(Continuous Integration)์ CD(Continuous Delivery)์ ํตํฉ ํด์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ์กฐ์ง์๊ฒ ์ด์์ ์ธ ์๋ฃจ์ ์ด ๋ ์ ์์ต๋๋ค.
์คํ์ํํธ ์ปจํ ์ด๋ ํ๋ซํผ์ IT ์ด์ํ์ ์ ํ๋ฆฌ์ผ์ด์ ๋น๋ ๋ฐฐํฌ ์๋ํ์ ์ ์ฑ ๊ธฐ๋ฐ ๊ถํ ๊ด๋ฆฌ๋ฅผ ์ง์ํ๋ ์์ ํ ์ํฐํ๋ผ์ด์ฆ๊ธ Kubernetes๋ฅผ ์ ๊ณตํฉ๋๋ค.
ํด๋ฌ์คํฐ ์๋น์ค, ์ค์ผ์ค๋ง ๊ทธ๋ฆฌ๊ณ ์ค์ผ์คํธ๋ ์ด์ ์ ํตํด ๋ถํ ๋ถ์ฐ๊ณผ ์๋ ์ค์ผ์ผ๋ง ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ณด์ ๊ธฐ๋ฅ์ ํตํด ํ ๋ํธ๊ฐ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ๊ธฐ๋ณธ ํธ์คํธ์ ์ง์ฅ์ ์ฃผ์ง ์๋๋ก ๋ฐฉ์งํฉ๋๋ค.
์คํ์ํํธ๋ ํผ์์คํดํธ ์คํ ๋ฆฌ์ง๋ฅผ Linuxยฎ ์ปจํ ์ด๋์ ์ง์ ์ฐ๊ฒฐํ ์ ์๊ธฐ ๋๋ฌธ์ IT ์กฐ์ง์ ํ๋์ ํ๋ซํผ์์ ์คํ ์ดํธํ(stateful) ๋ฐ ์คํ ์ดํธ๋ฆฌ์ค(stateless) ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ ์คํํ ์ ์์ต๋๋ค.
Docker๋ ๊ธฐ์ ์์คํ ์ ์คํ ํ๊ฒฝ์ ํ๋์ ์ด๋ฏธ์ง๋ก ๊ด๋ฆฌ ํ ์์์ด Linux ์ปจํ ์ด๋ ํ๊ฒฝ์์ ๋์ ํ ์์๋ ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ์ด์ ๋ฐฉ๋ฒ์ ๋๋ค. Docker์ ์จํ๋ ๋ฏธ์ค ๋ฟ๋ง ์๋๋ผ ๋ค์ํ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์๋ ์๋ ํ ์ ์์ผ๋ฏ๋ก ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ ํ๋ฆฌ์ผ์ด์ ์ด์ ํ๊ฒฝ์ผ๋ก ๊ฐ์ฅ ์ฃผ๋ชฉ ๋ฐ๊ณ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ด๋ฌํ ๋งค๋ ฅ์ ์ธ Docker๋ฅผ ํ๋ช ํ๊ฒ ์์ ์์คํ ํ๊ฒฝ์ผ๋ก ์ด์ฉํ๊ธฐ ์ํด์๋ ๋ ๋ค์ํ ๊ฒ์ ์๊ฐํด์ผํฉ๋๋ค. Docker ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ, ์ด์ ํ๋ก์ธ์ค,์ฅ์ ๋์, ๋ฒ์ ๊ด๋ฆฌ ๊ฐ์ Docker๋ฅผ ์ํฐํ๋ผ์ด์ฆ ์์คํ ์ ์ด์ฉํ๊ธฐ ์ํด์๋ ๋ค์ํ ๋ ธํ์ฐ๊ฐ ํ์ํฉ๋๋ค.
์คํ์ํํธ๋ Docker๋ฅผ ๊น์ด ์์ง ๋ชปํด๋ ์ํฐํ๋ผ์ด์ฆ ํ๊ฒฝ์์ ๋์ปค ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ/๋ฐฐํฌ/์ด์ ํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค.
์คํ์ํํธ๋ Docker ์์ง์ ์ ๊ณตํ๋ ์ต์ Red Hat Enterprise Linux (RHEL) ์์ ์ด์๋ฉ๋๋ค. Docker ์ ๋ํ ์ค์ผ์คํธ๋ ์ด์ ์์ง์ Google ๊ณผ ๊ณต๋ ๊ฐ๋ฐํ๊ณ ์๋ Kubernetes ๋ฅผ ์ฑ์ฉํ์์ต๋๋ค.
์คํ์ํํธ๋ ๊ฒ์ฆ๋ ์คํ์์ค ์ํํธ์จ์ด ์คํ์ ์ฑํํ์ฌ ๊ธฐ์ ์์ ๋์ปค๋ฅผ ์ด์ฉํ ์ ์๋ ์์ค์ผ๋ก ๋์ด ์ฌ๋ ธ์ต๋๋ค. ๋ํ ์คํ์ํธ๋๋ 57 ๊ฐ ์ด์์ ํ๋ก์ ํธ ํ ํ๋ฆฟ์ ์ ๊ณตํ์ฌ ์ฆ์ Docker์ฉ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ์ฌ ์คํํ ์ ์์ต๋๋ค. ์คํ์ํํธ๋ Docker ๋ฅผ์ํ Platform as a Service๋ฅผ ์ ๊ณตํฉ๋๋ค.
์คํ์ํํธ ์ํฐํ๋ผ์ด์ฆ 4 ์์ ๊ตฌ์ถ๋๋ ์์คํ ํ๊ฒฝ์ ์ฌ๋ฌ Node (RHEL)๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. Node๊ฐ ์๋ ํ ์์๋ ํ๊ฒฝ์ RHEL์ด ์๋ ํ ์์๋ ๋ชจ๋ ํ๊ฒฝ์ ์ ์ฉ๋ฉ๋๋ค. ๊ฐ Node์๋ POD๋ฅผ ๋ฐฐ์น ํฉ๋๋ค. POD๋ Kubernetes ๊ฐ Container๋ค์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ ผ๋ฆฌ ๋จ์์ด๋ฉฐ, Pod์๋ ํ๋ ์ด์์ ์ปจํ ์ด๋๊ฐ ๋ฐฐํฌ๋ ์ ์์ต๋๋ค.
POD๋ ์คํ์ํํธ์์ ๊ด๋ฆฌํ๋ ๊ฐ์ฅ ์์ ๋จ์์ ๋๋ค. Pod๋ Master (Kubernetes ๊ตฌํ์ ํ์ฅ ํ OpenShift Enterprise ๊ด๋ฆฌ ์๋ฒ)์ ์ํด ์๋ (์ค์น, ๋ถํ ๋ชจ๋ํฐ๋ง, ์ค๋ฅ ๊ฐ์ง, ๋ชจ๋ํฐ ๋ฑ)์ ๊ด๋ฆฌ๋ฉ๋๋ค.๊ฐ๋ฐ์๋ ์์ค ์ฝ๋ ๊ด๋ฆฌ ์์คํ ์ ์ปค๋ฐ ์ด๋ฒคํธ๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋์ผ๋ก Docker ์ด๋ฏธ์ง์ ๋น๋ ๋ฐฐํฌ ํ ์ ์์ต๋๋ค. ์ฌ์ฉ์๋ ๋ผ์ฐํ ๋ ์ด์ด๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ ์ ์์ต๋๋ค.