๋ณธ๊ฒฉ์ ์ธ ์์คํ
์์
์ ์ํด์๋ ๋ช
๋ น์ค ์ ํธ๋ฆฌํฐ์ ๋ํ ์ง์์ด ์ค์ํฉ๋๋ค. Kubernetes์ ๊ฒฝ์ฐ kubectl์
๋๋ค. ๋ฐ๋ฉด์ ์ ๋์์ธ๋๊ณ ์ฌ๋ ค ๊น์ ๊ทธ๋ํฝ ์ธํฐํ์ด์ค๋ะพ์ผ๋ฐ์ ์ธ ์์
์ ๋๋ถ๋ถ์ ์ํํ๊ณ ์์คํ
์ด์์ ์ํ ์ถ๊ฐ ๊ธฐํ๋ฅผ ์ฝ๋๋ค.
์๋
์ ์ฐ๋ฆฌ๋ ๋ฒ์ญ๋ณธ์ ์ถํํ์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋ค์ํ ํฌ๊ธฐ์ ๋ง์ Kubernetes ํด๋ฌ์คํฐ๋ฅผ ์ ๊ณตํ๋ฏ๋ก ๊ณ ๊ฐ์๊ฒ ์๊ฐ์ ๋๊ตฌ๋ฅผ ์ ๊ณตํ ์ ์๋ ๋ฐ์๋ ๊ด์ฌ์ด ์์ต๋๋ค. ์ ํฉํ ์ธํฐํ์ด์ค๋ฅผ ์ ํํ ๋ ๋ค์ ๊ธฐ๋ฅ์ด ์ฐ๋ฆฌ์๊ฒ ํต์ฌ์ด์์ต๋๋ค.
- ์ฌ์ฉ์ ๊ถํ ์ฐจ๋ณํ ์ง์(RBAC)
- ๋ค์์คํ์ด์ค ์ํ ๋ฐ ํ์ค Kubernetes ํ๋ฆฌ๋ฏธํฐ๋ธ(Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC)์ ์๊ฐํ
- ํ(Pod) ๋ด๋ถ์ ๋ช ๋ น์ค์ ์ก์ธ์คํ๊ธฐ
- ํฌ๋์ ๋ก๊ทธ ๋ณด๊ธฐ;
- ํฌ๋์ ์ํ ๋ณด๊ธฐ(
describe status
); - ํฌ๋ ์ ๊ฑฐ.
์๋น๋ ๋ฆฌ์์ค ๋ณด๊ธฐ(ํฌ๋/์ปจํธ๋กค๋ฌ/๋ค์์คํ์ด์ค์ ๋งฅ๋ฝ์์), K8s ํ๋ฆฌ๋ฏธํฐ๋ธ ์์ฑ/ํธ์ง๊ณผ ๊ฐ์ ๋ค๋ฅธ ๊ธฐ๋ฅ์ ์ฐ๋ฆฌ ์ํฌํ๋ก์ ๊ด๋ จ์ด ์์ต๋๋ค.
ํ์ค์ธ ํด๋์ Kubernetes ๋์๋ณด๋๋ก ๊ฒํ ๋ฅผ ์์ํ๊ฒ ์ต๋๋ค. ์ธ์์ด ๊ฐ๋งํ ์์ง ์๊ธฐ ๋๋ฌธ์(Kubernetes์ ์ ์ ๋ ๋ง์ ์๋ก์ด GUI๊ฐ ์์์ ์๋ฏธํจ) ํ์ฌ ๋์์ ๋ํด์๋ ์ด์ผ๊ธฐํ๊ณ ๊ธฐ์ฌ ๋ ๋ถ๋ถ์ ๋น๊ตํ์ ๋ชจ๋ ๊ฒ์ ์์ฝํ ๊ฒ์ ๋๋ค.
NB: ๋ฆฌ๋ทฐ์์ ์ด๋ฏธ ๊ณ ๋ ค๋ ์๋ฃจ์
์ ๋ฐ๋ณตํ์ง ์์ต๋๋ค.
1. ์ฟ ๋ฒ๋คํฐ์ค ๋์๋ณด๋
-
์ค๋ช ์ ํ์ด์ง ; -
์ ์ฅ์ (8000๊ฐ ์ด์์ GitHub ๋ณ); - ๋ผ์ด์ผ์ค: ์ํ์น 2.0;
- ๊ฐ๋จํ ๋งํด์ โKubernetes ํด๋ฌ์คํฐ๋ฅผ ์ํ ๋ฒ์ฉ ์น ์ธํฐํ์ด์ค์ ๋๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์๋ ํด๋ฌ์คํฐ์์ ์คํ ์ค์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ด๋ฆฌ ๋ฐ ๋ฌธ์ ํด๊ฒฐํ๊ณ ํด๋ฌ์คํฐ ์์ฒด๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.โ
์ด๊ฒ์ ๊ณต์ ๋ฌธ์์์ Kubernetes ์์ฑ์๊ฐ ๋ค๋ฃจ๋ ๋ฒ์ฉ ํจ๋์
๋๋ค. (ํ์ง๋ง
Kubernetes ๋์๋ณด๋์ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ํ์: ๋ค์์คํ์ด์ค ์ปจํ ์คํธ์์ K8์ ์ฃผ์ ๊ฐ์ฒด๋ฅผ ๋ด ๋๋ค.
- ๊ด๋ฆฌ์ ๊ถํ์ด ์๋ ๊ฒฝ์ฐ ํจ๋์ ๋ ธ๋, ๋ค์์คํ์ด์ค ๋ฐ ์๊ตฌ ๋ณผ๋ฅจ์ด ํ์๋ฉ๋๋ค. ๋ ธ๋์ ๊ฒฝ์ฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ, ํ๋ก์ธ์, ๋ฆฌ์์ค ํ ๋น, ๋ฉํธ๋ฆญ, ์ํ, ์ด๋ฒคํธ ๋ฑ์ ๋ํ ํต๊ณ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์ ํ(๋ฐฐํฌ, StatefulSet ๋ฑ), ์ด๋ค ๊ฐ์ ๊ด๊ณ(ReplicaSet, Horizontal Pod Autoscaler), ์ผ๋ฐ ๋ฐ ๊ฐ์ธํ๋ ํต๊ณ ๋ฐ ์ ๋ณด๋ณ๋ก ๋ค์์คํ์ด์ค์ ๋ฐฐํฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ด ๋๋ค.
- ํฌ๋ ๋ฐ ์๋ํฌ์ธํธ์์ ๊ด๊ณ๋ฟ๋ง ์๋๋ผ ์๋น์ค ๋ฐ ์ธ๊ทธ๋ ์ค๋ฅผ ๋ด ๋๋ค.
- ํ์ผ ๊ฐ์ฒด ๋ฐ ์ ์ฅ์ ๋ณด๊ธฐ: ์๊ตฌ ๋ณผ๋ฅจ ๋ฐ ์๊ตฌ ๋ณผ๋ฅจ ํด๋ ์.
- ConfigMap ๋ฐ Secret์ ๋ณด๊ณ ํธ์งํฉ๋๋ค.
- ๋ก๊ทธ๋ฅผ ๋ด ๋๋ค.
- ์ปจํ ์ด๋์ ๋ช ๋ น์ค ์ก์ธ์ค.
์ค์ํ ๋จ์ (ํ์ง๋ง ์ฐ๋ฆฌ์๊ฒ๋ ํด๋น๋์ง ์์)์ ๋ค์ค ํด๋ฌ์คํฐ ์์
์ ๋ํ ์ง์์ด ์๋ค๋ ๊ฒ์
๋๋ค. ์ด ํ๋ก์ ํธ๋ ์ปค๋ฎค๋ํฐ์์ ์ ๊ทน์ ์ผ๋ก ๊ฐ๋ฐํ๊ณ Kubernetes API์ ์ ๋ฒ์ ๋ฐ ์ฌ์ ๋ฆด๋ฆฌ์ค์ ๊ด๋ จ ๊ธฐ๋ฅ์ ์ ์ง ๊ด๋ฆฌํฉ๋๋ค. ํจ๋์ ์ต์ ๋ฒ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
2. ๋ ์ฆ
-
์น ์ฌ์ดํธ ; -
ะัะตะทะตะฝัะฐัะธั ; -
์ ์ฅ์ (~4800 GitHub ๋ณ); - ๋ผ์ด์ ์ค: MIT;
- ํ๋ง๋๋ก "Kubernetes IDE"์ ๋๋ค.
์ด ํ๋ก์ ํธ๋ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ํ ์์ ํ ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ(IDE)์ผ๋ก ํฌ์ง์
๋๋์์ต๋๋ค. ๋ํ ๋ง์ ํด๋ฌ์คํฐ์ ๊ทธ ์์์ ์คํ๋๋ ๋ง์ ํฌ๋(25๊ฐ ํฌ๋์์ ํ
์คํธ)์ ํจ๊ป ์๋ํ๋๋ก ์ต์ ํ๋์ด ์์ต๋๋ค.
๋ ์ฆ์ ์ฃผ์ ํน์ง/๊ธฐ๋ฅ:
- ํด๋ฌ์คํฐ ๋ด๋ถ์ ์๋ฌด๊ฒ๋ ์ค์นํ ํ์๊ฐ ์๋ ๋ ๋ฆฝํ ์ ํ๋ฆฌ์ผ์ด์ (๋ ์ ํํ๊ฒ๋ Prometheus๊ฐ ๋ชจ๋ ๋ฉํธ๋ฆญ์ ๊ฐ์ ธ์ค๋๋ฐ ํ์ํ์ง๋ง ์ด๋ฅผ ์ํด ๊ธฐ์กด ์ค์น๋ฅผ ์ฌ์ฉํ ์๋ ์์). "๊ธฐ๋ณธ" ์ค์น๋ Linux, macOS ๋๋ Windows๋ฅผ ์คํํ๋ ๊ฐ์ธ์ฉ ์ปดํจํฐ์์ ์ด๋ฃจ์ด์ง๋๋ค.
- ๋ค์ค ํด๋ฌ์คํฐ ๊ด๋ฆฌ(์๋ฐฑ ๊ฐ์ ํด๋ฌ์คํฐ ์ง์).
- ํด๋ฌ์คํฐ ์ํ๋ฅผ ์ค์๊ฐ์ผ๋ก ์๊ฐํํฉ๋๋ค.
- ๋ด์ฅ๋ Prometheus๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ธฐ๋ก์ด ํฌํจ๋ ๋ฆฌ์์ค ์ฌ์ฉ๋ ๊ทธ๋ํ ๋ฐ ์ถ์ธ.
- ์ปจํ ์ด๋ ๋ฐ ํด๋ฌ์คํฐ ๋ ธ๋์ ๋ช ๋ น์ค์ ์ก์ธ์คํฉ๋๋ค.
- Kubernetes RBAC๋ฅผ ์๋ฒฝํ๊ฒ ์ง์ํฉ๋๋ค.
ํ์ฌ ๋ฆด๋ฆฌ์ค -
Lens๋ Kubernetes์ฉ GUI ๋ฒ์ฃผ์์ GitHub์์ ๋ ๋ฒ์งธ๋ก ์ธ๊ธฐ ์๋ ํ๋ก์ ํธ๋ก, Kubernets ๋์๋ณด๋ ์์ฒด๋ง "์์ด๋ฒ๋ฆฐ" ๊ฒ์ ๋๋ค. CLI* ๋ฒ์ฃผ์ ์ํ์ง ์๋ ๋ค๋ฅธ ๋ชจ๋ ์คํ ์์ค ์๋ฃจ์ ์ ์ธ๊ธฐ๊ฐ ์๋นํ ๋จ์ด์ง๋๋ค.
* ๋ฆฌ๋ทฐ์ ๋ณด๋์ค ๋ถ๋ถ์์ K9์ ๋ํด ์ฐธ์กฐํ์ญ์์ค.
3. ์ฟ ๋ฒ๋คํฑ
-
์น ์ฌ์ดํธ ; -
๋ฐ๋ชจ ; ๋ฆฌํฌ์งํ ๋ฆฌ(๋ฌธ์ ์ ์ฉ) (200๊ฐ ์ด์์ GitHub ๋ณ);- ๋ผ์ด์ ์ค: ๋ ์ ;
- ํ๋ง๋๋ก "ํด๋ฌ์คํฐ ๊ด๋ฆฌ๊ฐ ์ฌ์์ก์ต๋๋ค."
์ด๊ฒ์ ๊ฐ์ธ์ฉ ์ปดํจํฐ์ ์ค์น๋๋ ๋
์ ์์ฉ ํ๋ก๊ทธ๋จ์
๋๋ค(Linux, macOS, Windows๊ฐ ์ง์๋จ). ์์ฑ์๋ ๋ช
๋ น์ค ์ ํธ๋ฆฌํฐ๋ฅผ ์์ ํ ๋์ฒดํ ๊ฒ์ ์ฝ์ํ๋ฉฐ ๋ช
๋ น์ ๊ธฐ์ตํ ํ์๊ฐ ์์ผ๋ฉฐ ์๋๊ฐ XNUMX๋ฐฐ ํฅ์๋ฉ๋๋ค.
์ด ๋๊ตฌ์ ํฅ๋ฏธ๋ก์ด ๊ธฐ๋ฅ ์ค ํ๋๋ Helm ์ฐจํธ์ ๋ํ ๊ธฐ๋ณธ ์ ๊ณต ์ง์์ด๋ฉฐ ๋จ์ ์ค ํ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ๋ฉํธ๋ฆญ์ด ๋ถ์กฑํ๋ค๋ ๊ฒ์ ๋๋ค.
์ฟ ๋ฒ๋คํฑ์ ์ฃผ์ ๊ธฐ๋ฅ:
- ํด๋ฌ์คํฐ ์ํ๋ฅผ ํธ๋ฆฌํ๊ฒ ํ์ํฉ๋๋ค. ๊ด๋ จ๋ ๋ชจ๋ ํด๋ฌ์คํฐ ๊ฐ์ฒด์ ํด๋น ์ข ์ ํญ๋ชฉ์ ๋ณผ ์ ์๋ ํ๋์ ํ๋ฉด ๋ชจ๋ ๊ฐ์ฒด์ ๋ํ ๋นจ๊ฐ์/๋ น์ ์ค๋น ์ํ; ์ค์๊ฐ ์ํ ์ ๋ฐ์ดํธ๊ฐ ํฌํจ๋ ํด๋ฌ์คํฐ ์ํ ๋ณด๊ธฐ ๋ชจ๋.
- ์ ํ๋ฆฌ์ผ์ด์ ์ญ์ ๋ฐ ํฌ๊ธฐ ์กฐ์ ์ ์ํ ๋น ๋ฅธ ์์ ๋ฒํผ.
- ๋ค์ค ํด๋ฌ์คํฐ ์์ ์ ์ง์ํฉ๋๋ค.
- ๋ค์์คํ์ด์ค๋ฅผ ์ฌ์ฉํ ๊ฐ๋จํ ์์ .
- Helm ์ฐจํธ ๋ฐ Helm ๋ฆฌํฌ์งํ ๋ฆฌ(๋น๊ณต๊ฐ ํฌํจ) ์ง์. ์น ์ธํฐํ์ด์ค์์ ํด๋ ์ค์น ๋ฐ ๊ด๋ฆฌ.
์ ํ์ ํ์ฌ ๋น์ฉ์ ์ฌ๋ฌ ๋ค์์คํ์ด์ค ๋ฐ ํด๋ฌ์คํฐ์ ๋ํด ํ ์ฌ๋์ด ์ฌ์ฉํ๋ ๊ฒฝ์ฐ 30์ ๋ก์ ์ผํ์ฑ ์ง๋ถ์ ๋๋ค.
4. ํ๋ธ๋น์ด์ค
-
์น ์ฌ์ดํธ ; -
ะัะตะทะตะฝัะฐัะธั ; -
์ ์ฅ์ (~500 GitHub ๋ณ); - ๋ผ์ด์ ์ค: ์ํ์น 2.0
- ์์ปจ๋, "Kubevious๋ Kubernetes ํด๋ฌ์คํฐ, ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ ๋ฐ ์ํ ๋ณด๊ธฐ๋ฅผ ์์ ํ๊ณ ์ดํดํ๊ธฐ ์ฝ๊ฒ ๋ง๋ญ๋๋ค."
ํ๋ก์ ํธ์ ์์ด๋์ด๋ ํด๋ฌ์คํฐ์ ๋ฐฐํฌ๋ ์ ํ๋ฆฌ์ผ์ด์
๊ตฌ์ฑ์ ๋ถ์ํ๊ณ ๋๋ฒ๊น
ํ๋๋ก ์ค๊ณ๋ ๋๊ตฌ๋ฅผ ๋ง๋๋ ๊ฒ์
๋๋ค. ์ ์๋ ์ฃผ๋ก ์ด๋ฌํ ๊ธฐ๋ฅ์ ๊ตฌํ์ ์ด์ ์ ๋ง์ถ์๊ณ ๋ ์ผ๋ฐ์ ์ธ ์ฌํญ์ ๋์ค์ ์ํด ๋จ๊ฒจ๋ก๋๋ค.
Kubevious์ ์ฃผ์ ํน์ง ๋ฐ ๊ธฐ๋ฅ:
- ์ ํ๋ฆฌ์ผ์ด์ ์ค์ฌ ๋ฐฉ์์ ํด๋ฌ์คํฐ ์๊ฐํ: ์ธํฐํ์ด์ค์ ๊ด๋ จ ๊ฐ์ฒด๊ฐ ๊ทธ๋ฃนํ๋์ด ๊ณ์ธต ๊ตฌ์กฐ๋ก ์ ๋ ฌ๋ฉ๋๋ค.
- ๊ตฌ์ฑ์ ์ข ์์ฑ์ ์๊ฐ์ ์ผ๋ก ํ์ํ๊ณ ๋ณ๊ฒฝ ์ฌํญ์ ๊ณ๋จ์ ๊ฒฐ๊ณผ.
- ํด๋ฌ์คํฐ ๊ตฌ์ฑ ์ค๋ฅ ํ์: ๋ ์ด๋ธ ์ค์ฉ, ๋๋ฝ๋ ํฌํธ ๋ฑ (์ฐธ๊ณ ๋ก ์ด ๊ธฐ๋ฅ์ด ๊ถ๊ธํ์ ๋ถ๋ค์
ํด๋ผ๋ฆฌ์ค ์ฐ๋ฆฌ์ ๋ํด์ด๋ฏธ ์ผ๋ค .) - ์ด์ ์ง์ ์ธ์๋ ์ ์ฌ์ ์ผ๋ก ์ํํ ์ฉ๊ธฐ๋ฅผ ๊ฐ์งํ ์ ์์ต๋๋ค. ๋๋ฌด ๋ง์ ๊ถํ(์์ฑ
hostPID
,hostNetwork
,hostIPC
, ๋ง์ดํธdocker.sock
๋ฑ). - ํด๋ฌ์คํฐ์ ๋ํ ๊ณ ๊ธ ๊ฒ์ ์์คํ (๊ฐ์ฒด ์ด๋ฆ๋ฟ๋ง ์๋๋ผ ํด๋น ์์ฑ).
- ์ฉ๋ ๊ณํ ๋ฐ ๋ฆฌ์์ค ์ต์ ํ๋ฅผ ์ํ ๋๊ตฌ.
- ๋ด์ฅ "ํ์๋จธ์ "(๊ฐ์ฒด ๊ตฌ์ฑ์ ์ด์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ณผ ์ ์๋ ๊ธฐ๋ฅ).
- Roles, RoleBindings, ServiceAccounts์ ํผ๋ฒ ์ํธ ๊ด๋ จ ํ ์ด๋ธ์ด ์๋ RBAC ๊ด๋ฆฌ.
- ํ๋์ ํด๋ฌ์คํฐ์์๋ง ์๋ํฉ๋๋ค.
์ด ํ๋ก์ ํธ๋ ์ญ์ฌ๊ฐ ๋งค์ฐ ์งง๊ณ (์ฒซ ๋ฒ์งธ ๋ฆด๋ฆฌ์ค๋ 11๋
2020์ XNUMX์ผ์ ์งํ๋จ) ๊ฐ๋ฐ์ด ์์ ํ๋๊ฑฐ๋ ๋ํ๋๋ ๊ธฐ๊ฐ์ด ์์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด์ ๋ฒ์ ์ด ์์ฃผ ๋ฆด๋ฆฌ์ค๋ ๊ฒฝ์ฐ ์ต์ ๋ฆด๋ฆฌ์ค(
5. ํ๋ธ์์ด์ฆ
-
ํ๋ก์ ํธ ํ์ด์ง ; - ๋ผ์ด์ ์ค: ๋ ์ (์คํ ์์ค๊ฐ ๋จ)
- ๊ฐ๋จํ ๋งํด์ "Kubernetes๋ฅผ ์ํ ๋จ์ํ ๋ค์ค ํ๋ซํผ ํด๋ผ์ด์ธํธ์ ๋๋ค."
์๋ ๋ด๋ถ ํด์ปคํค(2019๋
XNUMX์)์ ์ผ๋ถ๋ก ์์ฑ๋ VMware์ ์ ์ ํ์
๋๋ค. ๊ฐ์ธ์ฉ ์ปดํจํฐ์ ์ค์น, ๊ธฐ๋ฐ์ผ๋ก ์๋
Kubewise์ ์ฃผ์ ๊ธฐ๋ฅ:
- ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ Kubernetes ์ํฐํฐ(๋ ธ๋, ๋ค์์คํ์ด์ค ๋ฑ)์์ ์ธํฐํ์ด์ค ์ํธ ์์ฉ
- ์๋ก ๋ค๋ฅธ ํด๋ฌ์คํฐ์ ๋ํด ์ฌ๋ฌ kubeconfig ํ์ผ์ ์ง์ํฉ๋๋ค.
- ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํ ์ ์๋ ํฐ๋ฏธ๋
KUBECONFIG
. - ์ง์ ๋ ๋ค์์คํ์ด์ค์ ๋ํ ์ฌ์ฉ์ ์ง์ kubeconfig ํ์ผ์ ์์ฑํฉ๋๋ค.
- ๊ณ ๊ธ ๋ณด์ ๊ธฐ๋ฅ(RBAC, ์ํธ, ์๋น์ค ๊ณ์ ).
์ง๊ธ๊น์ง ํ๋ก์ ํธ์๋ ๋จ ํ๋์ ๋ฆด๋ฆฌ์ค(๋ฒ์ )๋ง ์์ต๋๋ค.
6. ์คํ์ํํธ ์ฝ์
-
OpenShift ์ค๋ช ์ ์น์ ; -
์ ์ฅ์ (~150 GitHub ๋ณ); - ๋ผ์ด์ผ์ค: ์ํ์น 2.0;
- ํ๋ง๋๋ก "OpenShift ํด๋ฌ์คํฐ์ฉ UI"์ ๋๋ค.
์ด ์น ์ธํฐํ์ด์ค๊ฐ OpenShift ๋ฐฐํฌํ์ ์ผ๋ถ๋ผ๋ ์ฌ์ค์๋ ๋ถ๊ตฌํ๊ณ
OpenShift ์ฝ์์ ์ค๋ซ๋์ ๊ฐ๋ฐ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋ง์ ๊ธฐ๋ฅ์ ํตํฉํ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฃผ์ ์ฌํญ์ ์ธ๊ธํ ๊ฒ์ ๋๋ค:
- ๊ณต์ ์ธํฐํ์ด์ค ์ ๊ทผ ๋ฐฉ์ - ์ฝ์์์ ์ฌ์ฉํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ๋ํ ๋ ๊ฐ์ง "๊ด์ ": ๊ด๋ฆฌ์์ฉ ๋ฐ ๊ฐ๋ฐ์์ฉ. ๋ฐฉ๋ฒ ๊ฐ๋ฐ์ ๊ด์ ๊ฐ๋ฐ์๊ฐ (์์ฉ ํ๋ก๊ทธ๋จ๋ณ๋ก) ๋ ์ดํดํ๊ธฐ ์ฌ์ด ํํ๋ก ๊ฐ์ฒด๋ฅผ ๊ทธ๋ฃนํํ๊ณ ์์ฉ ํ๋ก๊ทธ๋จ ๋ฐฐํฌ, ๋น๋/๋ฐฐํฌ ์ํ ์ถ์ , Eclipse Che๋ฅผ ํตํ ์ฝ๋ ํธ์ง๊ณผ ๊ฐ์ ์ผ๋ฐ์ ์ธ ์์ ์ ํด๊ฒฐํ๋ ๋ฐ ์ธํฐํ์ด์ค์ ์ค์ ์ ๋ก๋๋ค.
- ์ํฌ๋ก๋, ๋คํธ์ํฌ, ์คํ ๋ฆฌ์ง, ์ก์ธ์ค ๊ถํ ๊ด๋ฆฌ.
- ์ํฌ๋ก๋๋ฅผ ํ๋ก์ ํธ์ ์ ํ๋ฆฌ์ผ์ด์
์ผ๋ก ๋
ผ๋ฆฌ์ ์ผ๋ก ๋ถ๋ฆฌํฉ๋๋ค. ์ต์ ๋ฆด๋ฆฌ์ค ์ค ํ๋์ธ v4.3์์
์ถ์ฐ ํน๋ณํ ํ๋ก์ ํธ ๋์ ๋ณด๋, ์ผ๋ฐ์ ์ธ ๋ฐ์ดํฐ(๋ฐฐํฌ, ํฌ๋ ๋ฑ์ ์ ๋ฐ ์ํ, ๋ฆฌ์์ค ์๋น ๋ฐ ๊ธฐํ ์งํ)๋ฅผ ํ๋ก์ ํธ ์กฐ๊ฐ์ ํ์ํฉ๋๋ค. - ํด๋ฌ์คํฐ ์ํ์ ์ค์๊ฐ ์ ๋ฐ์ดํธ ๋์คํ๋ ์ด, ํด๋ฌ์คํฐ์์ ๋ฐ์ํ ๋ณ๊ฒฝ ์ฌํญ(์ด๋ฒคํธ) ๋ก๊ทธ ๋ณด๊ธฐ.
- Prometheus, Alertmanager ๋ฐ Grafana๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ชจ๋ํฐ๋ง ๋ฐ์ดํฐ๋ฅผ ๋ด ๋๋ค.
- ๋ํ ์ด์์ ๊ด๋ฆฌ
์ด์์ ํ๋ธ . - Docker๋ฅผ ํตํด ์คํ๋๋ ๋น๋๋ฅผ ๊ด๋ฆฌํฉ๋๋ค(Dockerfile์ด ์๋ ์ง์ ๋ ๋ฆฌํฌ์งํ ๋ฆฌ์์).
S2I ๋๋ ์์์ ์ธ๋ถ ์ ํธ๋ฆฌํฐ.
NB: ๋น๊ต์ ๋ค๋ฅธ ํญ๋ชฉ์ ์ถ๊ฐํ์ง ์์์ต๋๋ค. ์ฟ ๋ฒ๋คํฐ์ค ๋ฐฐํฌํ (์๋ฅผ ๋ค์ด, ํจ์ฌ ๋ ์๋ ค์ง
๋ณด๋์ค
1. Kubernetes์ Portainer ๋ฒ ํ ๋ฒ์
-
์น ์ฌ์ดํธ ; -
์ ์ฅ์ (~100 GitHub ๋ณ); - ๋ผ์ด์ ์ค: Zlib(?) (์์ ํ๋ก์ ํธ์ ๋์ผ).
Docker ์์
์ ์ํด ๊ฐ์ ์ด๋ฆ์ ์ ๋ช
ํ ์ธํฐํ์ด์ค๋ฅผ ๊ฐ๋ฐํ Portainer ํ์ ํ๋ก์ ํธ์
๋๋ค. ํ๋ก์ ํธ๊ฐ ์ด๊ธฐ ๊ฐ๋ฐ ๋จ๊ณ์ ์๊ธฐ ๋๋ฌธ์(์ต์ด์ด์ ์ ์ผํ ๋ฒ ํ ๋ฒ์
2. ์์ด์คํจ๋
-
์น ์ฌ์ดํธ ; - ๋ผ์ด์ ์ค: ๋ ์ ;
- ํ๋ง๋๋ก "๋น์ฃผ์ผ ์ฟ ๋ฒ๋คํฐ์ค ์๋ํฐ".
์ด ์ ์ ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋จํ ๋๋๊ทธ ์ค ๋๋กญ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ค์๊ฐ์ผ๋ก Kubernetes ๋ฆฌ์์ค๋ฅผ ์๊ฐํํ๊ณ ๊ด๋ฆฌํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ํ์ฌ ์ง์๋๋ ๊ฐ์ฒด๋ Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap ๋ฐ Secret์
๋๋ค. ๊ณง ๊ทธ๋ค์ Helm์ ๋ํ ์ง์์ ์ถ๊ฐํ ๊ฒ์ ์ฝ์ํฉ๋๋ค. ์ฃผ์ ๋จ์ ์ ์ฝ๋์ ๊ทผ์ ์ฑ์
๋๋ค(์์
3.k9s
-
์น ์ฌ์ดํธ ; -
๋ฐ๋ชจ ; -
์ ์ฅ์ (~7700 GitHub ๋ณ); - ๋ผ์ด์ผ์ค: ์ํ์น 2.0;
- ๊ฐ๋จํ ๋งํด์ "ํด๋ฌ์คํฐ๋ฅผ ๋ฉ์ง๊ฒ ๊ด๋ฆฌํ ์ ์๋ Kubernetes์ฉ ์ฝ์ ์ธํฐํ์ด์ค์ ๋๋ค."
์ด ์ ํธ๋ฆฌํฐ๋ ์ฝ์ GUI๋ฅผ ์ ๊ณตํ๋ค๋ ์ด์ ๋ก ๋ฆฌ๋ทฐ์ ๋ณด๋์ค ๋ถ๋ถ์๋ง ์์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ ์๋ ์ฌ์ฉ์ ์นํ์ ์ธ ์ธํฐํ์ด์ค๋ฟ๋ง ์๋๋ผ 6๊ฐ์ ๋ฏธ๋ฆฌ ์ ์๋ ํ
๋ง, ํค๋ณด๋ ๋จ์ถํค ๋ฐ ๋ช
๋ น ๋ณ์นญ์ ๊ณ ๊ธ ์์คํ
์ ์ ๊ณตํ์ฌ ๋ง ๊ทธ๋๋ก ํฐ๋ฏธ๋์์ ์ต๋ํ์ ์ฑ๋ฅ์ ๋ฐํํ์ต๋๋ค. ๊ทธ๋ค์ ์ฒ ์ ํ ์ ๊ทผ ๋ฐฉ์์ ์ธ๊ด์ ๊ตญํ๋์ง ์์์ต๋๋ค. k9s ๊ธฐ๋ฅ์ ๋งค์ฐ ์ธ์์ ์
๋๋ค. ๋ฆฌ์์ค ๊ด๋ฆฌ, ํด๋ฌ์คํฐ ์ํ ํ์, ์ข
์์ฑ์ด ์๋ ๊ณ์ธต์ ํํ์ผ๋ก ๋ฆฌ์์ค ํ์, ๋ก๊ทธ ๋ณด๊ธฐ, RBAC ์ง์, ํ๋ฌ๊ทธ์ธ์ ํตํ ๊ธฐ๋ฅ ํ์ฅ ... ์ด ๋ชจ๋ ๊ฒ์ด ๋งค๋ ฅ์ ์ด์์ต๋๋ค. ๊ด๋ฒ์ํ K8s ์ปค๋ฎค๋ํฐ์: ํ๋ก์ ํธ์ GitHub ์คํ๋ ๊ฑฐ์ ๊ณต์ Kubernetes ๋์๋ณด๋๋งํผ ํ๋ฅญํฉ๋๋ค!
4. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ดํ
๊ทธ๋ฆฌ๊ณ ๊ฒํ ๊ฐ ๋๋๋ฉด ๋ณ๋์ ๋ฏธ๋ ์นดํ ๊ณ ๋ฆฌ๊ฐ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ Kubernetes ํด๋ฌ์คํฐ์ ํฌ๊ด์ ์ธ ๊ด๋ฆฌ๊ฐ ์๋๋ผ ํด๋ฌ์คํฐ์ ๋ฐฐํฌ๋ ํญ๋ชฉ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ์ค๊ณ๋ ๋ ๊ฐ์ ์น ์ธํฐํ์ด์ค๊ฐ ํฌํจ๋์์ต๋๋ค.
์์๋ค์ํผ Kubernetes์์ ๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ฐฐํฌํ๊ธฐ ์ํ ๊ฐ์ฅ ์ฑ์ํ๊ณ ๋๋ฆฌ ํผ์ง ๋๊ตฌ ์ค ํ๋๋ Helm์
๋๋ค. ์กด์ฌ ๊ธฐ๊ฐ ๋์ ๋ง์ ํจํค์ง(Helm ์ฐจํธ)๊ฐ ์ถ์ ๋์ด ์ฝ๊ฒ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
4.1. ๋จ์
-
์ ์ฅ์ (1300๊ฐ ์ด์์ GitHub ๋ณ); - ๋ผ์ด์ผ์ค: ์ํ์น 2.0;
- ๊ฐ๋จํ ๋งํด์ โ์ฌ๋ฌ ๋ฆฌํฌ์งํ ๋ฆฌ์์ Helm ์ฐจํธ๋ฅผ ๊ฒ์ํ๊ณ ๋ฐ๊ฒฌํ๊ธฐ ์ํ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. Helm ํ๋ธ ํ๋ก์ ํธ์ ๊ธฐ๋ฐ ์ญํ ์ ํฉ๋๋ค."
Helm ์์ฑ์์ ์ด ๊ฐ๋ฐ์ Kubernetes์ ์ค์น๋๊ณ ๋์ผํ ํด๋ฌ์คํฐ ๋ด์์ ์๋ํ์ฌ ์์
์ ์ํํฉ๋๋ค. ๊ทธ๋ฌ๋ ํ์ฌ ํ๋ก์ ํธ๋ ๊ฑฐ์ ๊ฐ๋ฐ๋์ง ์์์ต๋๋ค. ์ฃผ์ ๋ชฉ์ ์ Helm Hub์ ์กด์ฌ๋ฅผ ์ง์ํ๋ ๊ฒ์
๋๋ค. ๋ค๋ฅธ ์๊ตฌ ์ฌํญ์ ๊ฒฝ์ฐ ์์ฑ์๋ Kubeapps(์๋ ์ฐธ์กฐ) ๋๋ Red Hat Automation Broker(OpenShift์ ์ผ๋ถ์ด์ง๋ง ๋ ์ด์ ๊ฐ๋ฐ๋์ง ์์)๋ฅผ ๊ถ์ฅํฉ๋๋ค.
4.2. Kubeapps
์น ์ฌ์ดํธ ;-
ะัะตะทะตะฝัะฐัะธั ; -
์ ์ฅ์ (~2100 GitHub ๋ณ); - ๋ผ์ด์ ์ค: ์ํ์น 2.0
- ํ๋ง๋๋ก "Kubernetes์ฉ ์ ํ๋ฆฌ์ผ์ด์ ๋์๋ณด๋"์ ๋๋ค.
์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ์๋ ์ค์น๋์ง๋ง ํ๋ผ์ด๋น ๋ฆฌํฌ์งํ ๋ฆฌ ์์
์ ์ด๊ธฐ ์ค์ ์ ๋๋ ์ ์์ Monocular์ ๋ค๋ฅธ Bitnami์ ์ ํ์
๋๋ค.
Kubeapps์ ์ฃผ์ ๊ธฐ๋ฅ ๋ฐ ํน์ง:
- ๋ฆฌํฌ์งํ ๋ฆฌ์์ Helm ์ฐจํธ๋ฅผ ๋ณด๊ณ ์ค์นํฉ๋๋ค.
- ํด๋ฌ์คํฐ์ ์ค์น๋ Helm ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ธ, ์ ๋ฐ์ดํธ ๋ฐ ์ ๊ฑฐํฉ๋๋ค.
- ๋ง์ถคํ ๋ฐ ๊ฐ์ธ ์ฐจํธ ๋ฆฌํฌ์งํ ๋ฆฌ ์ง์(ChartMuseum ๋ฐ JFrog Artifactory ์ง์).
- ์๋น์ค ์นดํ๋ก๊ทธ ๋ฐ ์๋น์ค ๋ธ๋ก์ปค์์ ์ธ๋ถ ์๋น์ค ๋ณด๊ธฐ ๋ฐ ์์ .
- ์๋น์ค ์นดํ๋ก๊ทธ ๋ฐ์ธ๋ฉ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ์ค์น๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฒ์.
- RBAC๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆ ๋ฐ ๊ถํ ๋ถ๋ฆฌ๋ฅผ ์ง์ํฉ๋๋ค.
์์ฝํ
๋ค์์ ๋น๊ต๋ฅผ ์ฉ์ดํ๊ฒ ํ๊ธฐ ์ํด ๊ธฐ์กด ์๊ฐ์ ์ธํฐํ์ด์ค์ ์ฃผ์ ๊ธฐ๋ฅ์ ์์ฝํ๊ณ ์ง๊ณํ ์์ฝ ํ์ ๋๋ค.
(ํ
์ด๋ธ์ ์จ๋ผ์ธ ๋ฒ์
๊ฒฐ๋ก
Kubernetes์ฉ GUI๋ ๋ค์ ๊ตฌ์ฒด์ ์ด๊ณ ์ ์ ํ์ ์์ฅ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ ๋งค์ฐ ํ๋ฐํ๊ฒ ๋ฐ์ ํ๊ณ ์์ต๋๋ค. ์๋นํ ์ฑ์ํ ์๋ฃจ์ ๊ณผ ์์ง ์ฑ์ฅํ ์ฌ์ง๊ฐ์๋ ์์ฃผ ์ด๋ฆฐ ์๋ฃจ์ ์ ๋ชจ๋ ์ฐพ๋ ๊ฒ์ด ์ด๋ฏธ ๊ฐ๋ฅํฉ๋๋ค. ๊ฑฐ์ ๋ชจ๋ ์ทจํฅ์ ๋ง๋ ๊ธฐ๋ฅ๊ณผ ๋ชจ์์ ์ ๊ณตํ์ฌ ๋ค์ํ ์์ฉ ๋ถ์ผ์ ์ ํฉํฉ๋๋ค. ์ด ๊ฒํ ๊ฐ ํ์ฌ ์๊ตฌ ์ฌํญ์ ๊ฐ์ฅ ์ ํฉํ ๋๊ตฌ๋ฅผ ์ ํํ๋ ๋ฐ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
PS
๊ฐ์ฌํฉ๋๋ค
๋ธ๋ก๊ทธ์์๋ ์ฝ์ด๋ณด์ธ์.
- ยซ
Kubernetes ์น ๋ณด๊ธฐ ๋ฐํ(๋ฐ Kubernetes์ฉ ๋ค๋ฅธ ์น UI์ ๋ํ ๊ฐ๋ตํ ๊ฐ์) "; - ยซ
Kubernetes ๋์๋ณด๋์ GitLab ์ฌ์ฉ์์ ํตํฉ "; - ยซ
Kubernetes ํด๋ฌ์คํฐ๋ฅผ ๊ฑด๊ฐํ๊ฒ ์ ์งํ๊ธฐ ์ํด Polaris ๋์ "; - ยซ
Kubernetes์ฉ kubebox ๋ฐ ๊ธฐํ ์ ธ ".
์ถ์ฒ : habr.com