๐๋ฐ๋ธ์ต์ค, ๋ฒ ์ค์ฒ์๋ฒ, ์ฟ ๋ฒ๋คํฐ์ค - 1
๐ญํ๋ฆฐ๋ถ๋ถ์ ์ง์ ๋ถํ๋๋ ค์
- โถ๋ฐ๋ธ์ต์ค, ๋ฒ ์ค์ฒ์๋ฒ, ์ฟ ๋ฒ๋คํฐ์ค (1/2) : ๋ฐ๋ธ์ต์ค,์ฟ ๋ฒ๋คํฐ์ค์ ๋ํด์
- ๋ฐ๋ธ์ต์ค, ๋ฒ ์ค์ฒ์๋ฒ, ์ฟ ๋ฒ๋คํฐ์ค (2/3) : ๋ฒ ์ค์ฒ์๋ฒ, ์ฟ ๋ฒ๋คํฐ์ค ํ๋ ๋ชจ๋ํฐ๋ง ๋ฐฉ๋ฒ์ ๋ํด์
- ๋ฐ๋ธ์ต์ค, ๋ฒ ์ค์ฒ์๋ฒ, ์ฟ ๋ฒ๋คํฐ์ค (3/3) : ์ฐ๋ฆฌํ์ฌ์ ์๋ฒ (๋ฒ ์ค์ฒ์๋ฒ, ์ฟ ๋ฒ๋คํฐ์ค ๋ฑ) ์ํคํ
์ฒ
- 3๋ฒ์ ํ์ฌ ๋ด๋ถ ๊ณต์ ์ฉ์ผ๋ก ๋ณธ ๋ธ๋ก๊ทธ์์๋ ํฌ์คํ
ํ์ง ์์ ์์
๐ ๋ฐ๋ธ์ต์ค(DevOps) ?
- ๊ฐ๋ฐ(Development)๊ณผ ์ด์(Operations)์ ํฉ์ฑ์ด๋ก ๋ชฉ์ ์ด ๋ค๋ฅธ ๋ ์ ๋ฌด๋ฅผ ํ๋๋ก ๋ชจ์ ์๋น์ค๋ฅผ ๋ณด๋ค ์์ ์ ์ผ๋ก ๊ณ ๊ฐ์๊ฒ ์ ๊ณตํ๊ธฐ ์ํ ๋ฌธํ์ด์ ๋ฐฉ๋ฒ๋ก
- ๊ฐ ๋จ๊ณ๋ณ ๋ชฉ์
- ๊ฐ๋ฐ :์ ์ํ ๊ฐ๋ฐ๊ณผ ์๋ก์ด ๊ธฐ๋ฅ ์ ๊ณต,๊ฐ๋ฐ์ ์ง์ค
- ๋ฌธ์ ์ : ๊ธฐ๋ฅ์ถ๊ฐ, ๋ฐ๋ณต์ ์ธ ํ ์คํธ
- ํด๊ฒฐ : CI/CD ํ์ดํ๋ผ์ธ (๊น๋ฉ,์ ํจ์ค ๋ฑ)
- ์ด์ : ์ฅ๊ธฐ์ ์ด๊ณ ์์ ์ ์ผ๋ก ์ ๋ขฐํ ์ ์๋ ์๋น์ค๋ฅผ ๋ง๋๋ ๋ฐ ์ง์ค
- ๋ฌธ์ ์ : ์๋น์ค ์ค๋จ์ ๋ํ ๋์ฒ, ๋ฐ์ดํฐ ๊ด๋ฆฌ, ํธ๋ํฝ์ ๋ฐ๋ฅธ ์ ์ ํ ๋ฐฐํฌ(์๋ฒ ์ฆ์ค,๊ฐ์ถ ๋ฑ๋ฑ)
- ํด๊ฒฐ : ํ๋ ฅ์ ์ธ ์ธํ๋ผ ์ค๊ณ,๋ฌด์ค๋จ ์๋น์ค(์ฟ ๋ฒ๋คํฐ์ค ๋ฐฐํฌ๋ฐฉ์ ๋ฑ), ๋ชจ๋ํฐ๋ง ์์คํ (ํ๋ ๋ฑ) ๊ตฌ์ถ ๋ฑ
- ๊ฐ๋ฐ :์ ์ํ ๊ฐ๋ฐ๊ณผ ์๋ก์ด ๊ธฐ๋ฅ ์ ๊ณต,๊ฐ๋ฐ์ ์ง์ค
๐ ์ฟ ๋ฒ๋คํฐ์ค๋ก ๋ค์ด๊ฐ๊ธฐ ์ ์
๐ ์ปจํ ์ด๋์ ์ํํธ์จ์ด ๋ฃ๊ธฐ ?
ํด์ด ์ฐ์ ์์๋ ํ์คํ๋ ์ปจํ ์ด๋๋ ๋๋ ์ํ์ ์ด์กํ๋ ๋น์ฉ์ ํ๊ธฐ์ ์ผ๋ก ์ ๊ฐ์ํจ๋ค. ์ปจํ ์ด๋๋ฅผ ๋ค์ด์ ์ ๋ฐ์ ์ฎ๊ธฐ๊ธฐ๋ง ํ๋ฉด ๋๋๊น !
- IT ์ธก๋ฉด์์๋ ํด์ด์ฐ์
๊ณผ ๊ฐ์ ๊ฐ๋
์ผ๋ก ์ฌ์ฉ๋๋ค.
์ปจํ ์ด๋์๋ ์ฑ ์คํ์ ํ์ํ ๋ชจ๋ ๊ฒ์ด ํฌํจ๋์ด ์๊ณ ,์ปจํ ์ด๋ ๋ฐํ์
์ด ์คํํ ์ ์๋์ด๋ฏธ์ง ํ์ผ
์ ์ ์ฅํ๋ค. - ์ปจํ
์ด๋ vs ๊ฐ์๋จธ์ (VM)
- ๊ฐ์๋จธ์ ์ด๋ฏธ์ง๋ ์ ํ๋ฆฌ์ผ์ด์
์ ํ์ํ ๋ชจ๋ ๊ฒ๋ค์ด ํฌํจ๋์ง๋ง ๋ถํ์ํ ๊ฒ๋ ํฌํจ์ด ๋๋ค. ์ฉ๋์ฐจ์ด๋ ์๋ฐฑ๋ฐฐ์ ๋ ๋๋๋ฏ
VM์๋ ๊ด๋ จ์ด ์๋ ํ๋ก๊ทธ๋จ,๋ผ์ด๋ธ๋ฌ๋ฆฌ, ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉํ์ง ์์ ๋ง์๊ฒ์ด ํฌํจ๋์ด์๋ค !- VM์ ๊ฐ์ํ๊ฒฝ์์ ์๋ํ๋๋ฐ, ๊ฐ์๋จธ์ ์ด ์คํํ๋ CPU๋ ๋ฌผ๋ฆฌ CPU๋ฅผ ์ค์ ์ ๊ฐ์ด ์๋ฎฌ๋ ์ด์ ํ์ฌ ๊ตฌํํ๋ค. ์ปจํ ์ด๋๋ ๊ฐ์ํ ์ค๋ฒํค๋ ์์ด ์ค์ CPU์์ ์ง์ ์คํ๋๊ธฐ ๋๋ฌธ์ ์๋๊ฐ 30%์ ๋ ์ฐจ์ด๋๋ค๊ณ ํ๋ค.
- ์ปจํ ์ด๋๊ฐ์ ๊ณต์ ํ๊ณ ์ฌ์ฌ์ฉํ ์ ์๋ ์ฃผ์ ์ง์ ๋ฐฉ์์ ํ์ผ ์์คํ ๋ ์ด์ด๋ฅผ ์ฌ์ฉํจ. ์ด ๋ง์ ํ๋์ ์ด๋ฏธ์ง ํ์ผ์ ์ฌ๋ฌ ์ปจํ ์ด๋์์ ์ฐธ์กฐํ ์ ์๋ค๋ ๋ป์ผ๋ก ๋์คํฌ ๊ณต๊ฐ๊ณผ ๋คํธ์ํฌ ๋์ญํญ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋ค๊ณ ํจ.
- ๊ฐ์๋จธ์ ์ด๋ฏธ์ง๋ ์ ํ๋ฆฌ์ผ์ด์
์ ํ์ํ ๋ชจ๋ ๊ฒ๋ค์ด ํฌํจ๋์ง๋ง ๋ถํ์ํ ๊ฒ๋ ํฌํจ์ด ๋๋ค. ์ฉ๋์ฐจ์ด๋ ์๋ฐฑ๋ฐฐ์ ๋ ๋๋๋ฏ
- ๐Docker? (๊ด๋ จ aws์๋น์ค๋ ECR)
- ์ํํธ์จ์ด ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ทธ์ ํ์ํ ๊ฐ์ข ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ์ข ์์ฑ์ ํ๋์ ํจํค์ง๋ก ๋ฌถ์ด์ ๋ฐฐํฌํ ์ ์๋๋ก ์ด๋ฏธ์งํ ํ๊ณ ๋์์ฃผ๋ ํ๋ซํผ์ด๋ค.
๐ ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์
- ๋ค์ํ ์ข ๋ฅ์ ์์คํ , ์ํคํ ์ฒ, ์ด์์ฒด์ ๋ฅผ ๊ด๋ฆฌํ ์ ์๋๊ฒ
- ์ค์ผ์คํธ๋ ์ด์ ์ ์ค์ผ์คํธ๋ผ์ ์ฐ์ฃผ์์ฒ๋ผ ์๋น์ค์ ๊ณตํต์ ์ธ ๋ชฉํ๋ฅผ ์ํ ์ญํ ์ ์กฐ์ ํ๊ณ ๋์ดํ๋ ๊ฒ์ ์๋ฏธํจ.
๐ ์ฟ ๋ฒ๋คํฐ์ค(= kubernetes = k8s, ๊ด๋ จ aws์๋น์ค๋ eks)
- Kubernetes๋ ์ปจํ
์ด๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์
์
์ค์ผ์คํธ๋ ์ด์
(์๋์ผ๋ก ๋ฐฐํฌ, ์ค์ผ์ผ๋ง ๋ฐ ๊ด๋ฆฌ)ํ๊ธฐ ์ํ ์คํ์์ค ํ๋ซํผ์ด๋ค. ๊ฐ๋จํ ๋งํด, ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค์ด ์ค๋ค.- ๋ก๋๋ฐธ๋ฐ์ฑ,์คํ ์ค์ผ์ผ๋ง ๋ฑ์ ๊ธฐ๋ฅ์ด ์ฟ ๋ฒ๋คํฐ์ค ์ฝ์ด์ ๋ด์ฅ๋์ด ์์.
- ์๋ฒ ์ ๊ทธ๋ ์ด๋, ๋ณด์ํจ์น ์ค์น, ๋คํธ์ํฌ ๊ตฌ์ฑ, ๋ฐฑ์ ๋ฑ์ ์๋ํํด์ค
- ๊ฐ๋ฐ์๋ ํต์ฌ์์ (์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋ ์์ฑ๋ฑ)๋ง ์ง์คํ ์ ์๊ฒ ๋จ.
๐ ์ฟ ๋ฒ๋คํฐ์ค ์ํคํ ์ฒ
- ์ฟ ๋ฒ๋คํฐ์ค๋ ์ฌ๋ฌ ๋์ ์๋ฒ๊ฐ ํ๋์ ํด๋ฌ์คํฐ๋ก ์ฐ๊ฒฐ๋์ด ์๋ค.
- ์ปจํธ๋กค ํ๋ ์ธ : ํด๋ฌ์คํฐ ๋ด ๋ง์คํฐ๋
ธ๋์์ ์คํ๋จ. ํด๋ฌ์คํฐ์ ๋๋ ์ญํ ์ ํจ. ์ปจํ
์ด๋ ์ค์ผ์ค๋ง,์๋น์ค ๊ด๋ฆฌ, API ์์ฒญ ์ฒ๋ฆฌ ๋ฑ์ ์์
์ ์ํํ๋ค.
- kube api server : ์ปจํธ๋กค ํ๋ ์ธ์ ํ๋ฐํธ์ํธ ์๋ฒ๋ก API ์์ฒญ ์ฒ๋ฆฌ๋ฅผ ํจ.
- etcd : k8s์ ๊ด๋ จ๋ ๋ชจ๋ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ db
- kube scheduler : ์๋ก ์์ฑ๋ ํ๋๋ฅผ ์คํํ ๋ ธ๋๋ฅผ ๊ฒฐ์ ํจ.
- kube controller manager : ๋ํ๋ก์ด๋จผํธ์ ๊ฐ์ ๋ฆฌ์์ค ์ปจํธ๋กค๋ฌ๋ฅผ ๊ด๋ฆฌํจ.
- cloud controller manager : ํด๋ผ์ฐ๋ ์ ์ฒด์ ์ฐ๋ํด ๋ก๋๋ฐธ๋ฐ์๋ ๋์คํฌ ๋ณผ๋ฅจ๊ฐ์ ์์๊ด๋ฆฌ๋ฅผ ํ๋ค.
- ๋
ธ๋ ์ปดํฌ๋ํธ : ํด๋ฌ์คํฐ ๋ด์์ ์ฌ์ฉ์์ ์ํฌ๋ก๋๋ฅผ ์คํํจ. ๋ค์๊ณผ ๊ฐ์ ์ปดํฌ๋ํธ๊ฐ ์๋ค.
- kubelet : ๋ ธ๋์ ์์ฝ๋ ์ํฌ๋ก๋๋ฅผ ์คํํ๊ธฐ ์ํด ์ปจํ ์ด๋ ๋ฐํ์์ ๊ด๋ฆฌํ๊ณ ์ํ๋ฅผ ๋ชจ๋ํฐ๋งํจ.
- kube-proxy : ์๋ก ๋ค๋ฅธ ๋ ธ๋์ ์๋ ํ๋ ๊ฐ ํต์ ์ด๋ ํ๋์ ์ธํฐ๋ท ์ฌ์ด์ ๋คํธ์ํฌ ํธ๋ํฝ์ ๋ผ์ฐํ ํจ.
- ์ปจํ ์ด๋ ๋ฐํ์ : ์ปจํ ์ด๋์ ์์ ๋ฐ ์ค์ง,ํต์ ์ฒ๋ฆฌ๋ก ์ผ๋ฐ์ ์ผ๋ก ๋์ปค๋ฅผ ์ฐ๋๋ฏ.
- kubectl : ์ฟ ๋ฒ๋คํฐ์ค API๋ฅผ ์ฌ์ฉํด ์ปจํธ๋กค ํ๋ ์ธ๊ณผ ํต์ ํ๊ธฐ ์ํ ์ปค๋งจ๋ ๋ผ์ธ ํด
- CLI(Command line interface)๋ linux๊ฐ์๊ฑฐ์ฒ๋ผ ๊ธ์๋ฅผ ์ ๋ ฅํด์ ์ปดํจํฐ์ ๋ช ๋ น์ ๋ด๋ฆฌ๋ ๋ฐฉ์์ ๋งํจ.
- ์ถ์ฒ
- https://www.codestates.com/blog/content/%EB%8D%B0%EB%B8%8C%EC%98%B5%EC%8A%A4-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0
- Cloud Native DevOps with Kubernetes(TMI : ์ฑ - ํ์ํ๋ฉด ๋น๋ ค๋๋ฆผ)
- https://namu.wiki/w/Kubernetes?from=%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4
๋ฐ์ํ