Kubernetes์šฉ GUI ๊ฐœ์š”

Kubernetes์šฉ GUI ๊ฐœ์š”

๋ณธ๊ฒฉ์ ์ธ ์‹œ์Šคํ…œ ์ž‘์—…์„ ์œ„ํ•ด์„œ๋Š” ๋ช…๋ น์ค„ ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ๋Œ€ํ•œ ์ง€์‹์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. Kubernetes์˜ ๊ฒฝ์šฐ kubectl์ž…๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์— ์ž˜ ๋””์ž์ธ๋˜๊ณ  ์‚ฌ๋ ค ๊นŠ์€ ๊ทธ๋ž˜ํ”ฝ ์ธํ„ฐํŽ˜์ด์Šค๋Š”ะพ์ผ๋ฐ˜์ ์ธ ์ž‘์—…์˜ ๋Œ€๋ถ€๋ถ„์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์‹œ์Šคํ…œ ์šด์˜์„ ์œ„ํ•œ ์ถ”๊ฐ€ ๊ธฐํšŒ๋ฅผ ์—ฝ๋‹ˆ๋‹ค.

์ž‘๋…„์— ์šฐ๋ฆฌ๋Š” ๋ฒˆ์—ญ๋ณธ์„ ์ถœํŒํ–ˆ์Šต๋‹ˆ๋‹ค. ์›น UI์— ๋Œ€ํ•œ ๊ฐ„๋žตํ•œ ๊ฐœ์š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ๊ฒฝ์šฐ ์›น ์ธํ„ฐํŽ˜์ด์Šค ๋ฐœํ‘œ์™€ ๋™์‹œ์— ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์›น๋ทฐ. ํ•ด๋‹น ๊ธฐ์‚ฌ์˜ ์ €์ž์ด์ž ์œ ํ‹ธ๋ฆฌํ‹ฐ ์ž์ฒด์ธ Zalando์˜ Henning Jacobs๋Š” ์ƒˆ ์ œํ’ˆ์„ "์›น์šฉ kubectl"๋กœ ํฌ์ง€์…”๋‹ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ๊ธฐ์ˆ  ์ง€์› ํ˜•์‹์˜ ์ƒํ˜ธ ์ž‘์šฉ(์˜ˆ: ์›น ๋งํฌ๋กœ ๋ฌธ์ œ๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ํ‘œ์‹œ)ํ•˜๊ณ  ์‚ฌ๊ฑด์— ๋Œ€์‘ํ•˜๊ณ  ๋™์‹œ์— ๋งŽ์€ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋ฌธ์ œ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๋„๊ตฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ์˜ ์ž์†์€ ํ˜„์žฌ ๊ฐœ๋ฐœ ์ค‘์ž…๋‹ˆ๋‹ค (์ฃผ๋กœ ์ €์ž ์ž์‹ ์˜ ๋…ธ๋ ฅ์œผ๋กœ).

์šฐ๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ๋งŽ์€ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๊ณ ๊ฐ์—๊ฒŒ ์‹œ๊ฐ์  ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์—๋„ ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ ํ•ฉํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์„ ํƒํ•  ๋•Œ ๋‹ค์Œ ๊ธฐ๋Šฅ์ด ์šฐ๋ฆฌ์—๊ฒŒ ํ•ต์‹ฌ์ด์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž ๊ถŒํ•œ ์ฐจ๋ณ„ํ™” ์ง€์›(RBAC)
  • ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ƒํƒœ ๋ฐ ํ‘œ์ค€ Kubernetes ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ(Deployment, StatefulSet, Service, Cronjob, Job, Ingress, ConfigMap, Secret, PVC)์˜ ์‹œ๊ฐํ™”
  • ํŒŸ(Pod) ๋‚ด๋ถ€์˜ ๋ช…๋ น์ค„์— ์•ก์„ธ์Šคํ•˜๊ธฐ
  • ํฌ๋“œ์˜ ๋กœ๊ทธ ๋ณด๊ธฐ;
  • ํฌ๋“œ์˜ ์ƒํƒœ ๋ณด๊ธฐ(describe status);
  • ํฌ๋“œ ์ œ๊ฑฐ.

์†Œ๋น„๋œ ๋ฆฌ์†Œ์Šค ๋ณด๊ธฐ(ํฌ๋“œ/์ปจํŠธ๋กค๋Ÿฌ/๋„ค์ž„์ŠคํŽ˜์ด์Šค์˜ ๋งฅ๋ฝ์—์„œ), K8s ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ์ƒ์„ฑ/ํŽธ์ง‘๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์€ ์šฐ๋ฆฌ ์›Œํฌํ”Œ๋กœ์™€ ๊ด€๋ จ์ด ์—†์Šต๋‹ˆ๋‹ค.

ํ‘œ์ค€์ธ ํด๋ž˜์‹ Kubernetes ๋Œ€์‹œ๋ณด๋“œ๋กœ ๊ฒ€ํ† ๋ฅผ ์‹œ์ž‘ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์„ธ์ƒ์ด ๊ฐ€๋งŒํžˆ ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—(Kubernetes์— ์ ์  ๋” ๋งŽ์€ ์ƒˆ๋กœ์šด GUI๊ฐ€ ์žˆ์Œ์„ ์˜๋ฏธํ•จ) ํ˜„์žฌ ๋Œ€์•ˆ์— ๋Œ€ํ•ด์„œ๋„ ์ด์•ผ๊ธฐํ•˜๊ณ  ๊ธฐ์‚ฌ ๋ ๋ถ€๋ถ„์˜ ๋น„๊ตํ‘œ์— ๋ชจ๋“  ๊ฒƒ์„ ์š”์•ฝํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

NB: ๋ฆฌ๋ทฐ์—์„œ ์ด๋ฏธ ๊ณ ๋ ค๋œ ์†”๋ฃจ์…˜์„ ๋ฐ˜๋ณตํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰ ๊ธฐ์‚ฌ๊ทธ๋Ÿฌ๋‚˜ ์™„์ „์„ฑ์„ ์œ„ํ•ด ๊ด€๋ จ ์˜ต์…˜(K8Dash, Octant, Kubernetes Web View)์ด ์ตœ์ข… ํ…Œ์ด๋ธ”์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

1. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋Œ€์‹œ๋ณด๋“œ

  • ์„ค๋ช…์„œ ํŽ˜์ด์ง€;
  • ์ €์žฅ์†Œ (8000๊ฐœ ์ด์ƒ์˜ GitHub ๋ณ„);
  • ๋ผ์ด์„ผ์Šค: ์•„ํŒŒ์น˜ 2.0;
  • ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ โ€œKubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์œ„ํ•œ ๋ฒ”์šฉ ์›น ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹คํ–‰ ์ค‘์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ด€๋ฆฌ ๋ฐ ๋ฌธ์ œ ํ•ด๊ฒฐํ•˜๊ณ  ํด๋Ÿฌ์Šคํ„ฐ ์ž์ฒด๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.โ€

Kubernetes์šฉ GUI ๊ฐœ์š”

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

Kubernetes ๋Œ€์‹œ๋ณด๋“œ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ํƒ์ƒ‰: ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ปจํ…์ŠคํŠธ์—์„œ K8์˜ ์ฃผ์š” ๊ฐœ์ฒด๋ฅผ ๋ด…๋‹ˆ๋‹ค.
  • ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ํŒจ๋„์— ๋…ธ๋“œ, ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋ฐ ์˜๊ตฌ ๋ณผ๋ฅจ์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๋…ธ๋“œ์˜ ๊ฒฝ์šฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ, ํ”„๋กœ์„ธ์„œ, ๋ฆฌ์†Œ์Šค ํ• ๋‹น, ๋ฉ”ํŠธ๋ฆญ, ์ƒํƒœ, ์ด๋ฒคํŠธ ๋“ฑ์— ๋Œ€ํ•œ ํ†ต๊ณ„๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์œ ํ˜•(๋ฐฐํฌ, StatefulSet ๋“ฑ), ์ด๋“ค ๊ฐ„์˜ ๊ด€๊ณ„(ReplicaSet, Horizontal Pod Autoscaler), ์ผ๋ฐ˜ ๋ฐ ๊ฐœ์ธํ™”๋œ ํ†ต๊ณ„ ๋ฐ ์ •๋ณด๋ณ„๋กœ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ๋ฐฐํฌ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ด…๋‹ˆ๋‹ค.
  • ํฌ๋“œ ๋ฐ ์—”๋“œํฌ์ธํŠธ์™€์˜ ๊ด€๊ณ„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์„œ๋น„์Šค ๋ฐ ์ธ๊ทธ๋ ˆ์Šค๋ฅผ ๋ด…๋‹ˆ๋‹ค.
  • ํŒŒ์ผ ๊ฐœ์ฒด ๋ฐ ์ €์žฅ์†Œ ๋ณด๊ธฐ: ์˜๊ตฌ ๋ณผ๋ฅจ ๋ฐ ์˜๊ตฌ ๋ณผ๋ฅจ ํด๋ ˆ์ž„.
  • ConfigMap ๋ฐ Secret์„ ๋ณด๊ณ  ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค.
  • ๋กœ๊ทธ๋ฅผ ๋ด…๋‹ˆ๋‹ค.
  • ์ปจํ…Œ์ด๋„ˆ์˜ ๋ช…๋ น์ค„ ์•ก์„ธ์Šค.

์ค‘์š”ํ•œ ๋‹จ์ (ํ•˜์ง€๋งŒ ์šฐ๋ฆฌ์—๊ฒŒ๋Š” ํ•ด๋‹น๋˜์ง€ ์•Š์Œ)์€ ๋‹ค์ค‘ ํด๋Ÿฌ์Šคํ„ฐ ์ž‘์—…์— ๋Œ€ํ•œ ์ง€์›์ด ์—†๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์ ๊ทน์ ์œผ๋กœ ๊ฐœ๋ฐœํ•˜๊ณ  Kubernetes API์˜ ์ƒˆ ๋ฒ„์ „ ๋ฐ ์‚ฌ์–‘ ๋ฆด๋ฆฌ์Šค์™€ ๊ด€๋ จ ๊ธฐ๋Šฅ์„ ์œ ์ง€ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ํŒจ๋„์˜ ์ตœ์‹  ๋ฒ„์ „์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. v2.0.1 22๋…„ 2020์›” 1.18์ผ - Kubernetes XNUMX๊ณผ์˜ ํ˜ธํ™˜์„ฑ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณค์Šต๋‹ˆ๋‹ค.

2. ๋ Œ์ฆˆ

Kubernetes์šฉ GUI ๊ฐœ์š”

์ด ํ”„๋กœ์ ํŠธ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์œ„ํ•œ ์™„์ „ํ•œ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ(IDE)์œผ๋กœ ํฌ์ง€์…”๋‹๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋งŽ์€ ํด๋Ÿฌ์Šคํ„ฐ์™€ ๊ทธ ์•ˆ์—์„œ ์‹คํ–‰๋˜๋Š” ๋งŽ์€ ํฌ๋“œ(25๊ฐœ ํฌ๋“œ์—์„œ ํ…Œ์ŠคํŠธ)์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ์ตœ์ ํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋ Œ์ฆˆ์˜ ์ฃผ์š” ํŠน์ง•/๊ธฐ๋Šฅ:

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

ํ˜„์žฌ ๋ฆด๋ฆฌ์Šค - 3.5.0 16๋…„ 2020์›” XNUMX์ผ์ž ์›๋ž˜ Kontena๊ฐ€ ๋งŒ๋“ค์—ˆ์œผ๋ฉฐ ํ˜„์žฌ ๋ชจ๋“  ์ง€์  ์žฌ์‚ฐ์ด ํŠน์ˆ˜ ์กฐ์ง์œผ๋กœ ์ด์ „๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ ˆ์ด์ผ„๋“œ ์—ฐ๊ตฌ์†Œ, "Kontena์˜ ์˜คํ”ˆ ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ ์ œํ’ˆ์˜ ๋ณด์กด ๋ฐ ๊ฐ€์šฉ์„ฑ"์„ ๋‹ด๋‹นํ•˜๋Š” "ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ๊ดด์งœ ๋ฐ ๊ธฐ์ˆ ์ž์˜ ์กฐํ•ฉ"์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Lens๋Š” Kubernetes์šฉ GUI ๋ฒ”์ฃผ์—์„œ GitHub์—์„œ ๋‘ ๋ฒˆ์งธ๋กœ ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋กœ, Kubernets ๋Œ€์‹œ๋ณด๋“œ ์ž์ฒด๋งŒ "์žƒ์–ด๋ฒ„๋ฆฐ" ๊ฒƒ์ž…๋‹ˆ๋‹ค. CLI* ๋ฒ”์ฃผ์— ์†ํ•˜์ง€ ์•Š๋Š” ๋‹ค๋ฅธ ๋ชจ๋“  ์˜คํ”ˆ ์†Œ์Šค ์†”๋ฃจ์…˜์€ ์ธ๊ธฐ๊ฐ€ ์ƒ๋‹นํžˆ ๋–จ์–ด์ง‘๋‹ˆ๋‹ค.

* ๋ฆฌ๋ทฐ์˜ ๋ณด๋„ˆ์Šค ๋ถ€๋ถ„์—์„œ K9์— ๋Œ€ํ•ด ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

3. ์ฟ ๋ฒ„๋„คํ‹ฑ

Kubernetes์šฉ GUI ๊ฐœ์š”

์ด๊ฒƒ์€ ๊ฐœ์ธ์šฉ ์ปดํ“จํ„ฐ์— ์„ค์น˜๋˜๋Š” ๋…์  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค(Linux, macOS, Windows๊ฐ€ ์ง€์›๋จ). ์ž‘์„ฑ์ž๋Š” ๋ช…๋ น์ค„ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋ฅผ ์™„์ „ํžˆ ๋Œ€์ฒดํ•  ๊ฒƒ์„ ์•ฝ์†ํ•˜๋ฉฐ ๋ช…๋ น์„ ๊ธฐ์–ตํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ ์†๋„๊ฐ€ XNUMX๋ฐฐ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค.

์ด ๋„๊ตฌ์˜ ํฅ๋ฏธ๋กœ์šด ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๋Š” Helm ์ฐจํŠธ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ œ๊ณต ์ง€์›์ด๋ฉฐ ๋‹จ์  ์ค‘ ํ•˜๋‚˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ ๋ฉ”ํŠธ๋ฆญ์ด ๋ถ€์กฑํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ฟ ๋ฒ„๋„คํ‹ฑ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ:

  • ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ด€๋ จ๋œ ๋ชจ๋“  ํด๋Ÿฌ์Šคํ„ฐ ๊ฐœ์ฒด์™€ ํ•ด๋‹น ์ข…์† ํ•ญ๋ชฉ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ํ•˜๋‚˜์˜ ํ™”๋ฉด ๋ชจ๋“  ๊ฐœ์ฒด์— ๋Œ€ํ•œ ๋นจ๊ฐ„์ƒ‰/๋…น์ƒ‰ ์ค€๋น„ ์ƒํƒœ; ์‹ค์‹œ๊ฐ„ ์ƒํƒœ ์—…๋ฐ์ดํŠธ๊ฐ€ ํฌํ•จ๋œ ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ ๋ณด๊ธฐ ๋ชจ๋“œ.
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ญ์ œ ๋ฐ ํฌ๊ธฐ ์กฐ์ •์„ ์œ„ํ•œ ๋น ๋ฅธ ์ž‘์—… ๋ฒ„ํŠผ.
  • ๋‹ค์ค‘ ํด๋Ÿฌ์Šคํ„ฐ ์ž‘์—…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•œ ๊ฐ„๋‹จํ•œ ์ž‘์—….
  • Helm ์ฐจํŠธ ๋ฐ Helm ๋ฆฌํฌ์ง€ํ† ๋ฆฌ(๋น„๊ณต๊ฐœ ํฌํ•จ) ์ง€์›. ์›น ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ํ•ด๋„ ์„ค์น˜ ๋ฐ ๊ด€๋ฆฌ.

์ œํ’ˆ์˜ ํ˜„์žฌ ๋น„์šฉ์€ ์—ฌ๋Ÿฌ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋ฐ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•ด ํ•œ ์‚ฌ๋žŒ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ 30์œ ๋กœ์˜ ์ผํšŒ์„ฑ ์ง€๋ถˆ์ž…๋‹ˆ๋‹ค.

4. ํ๋ธŒ๋น„์–ด์Šค

Kubernetes์šฉ GUI ๊ฐœ์š”

ํ”„๋กœ์ ํŠธ์˜ ์•„์ด๋””์–ด๋Š” ํด๋Ÿฌ์Šคํ„ฐ์— ๋ฐฐํฌ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ์„ ๋ถ„์„ํ•˜๊ณ  ๋””๋ฒ„๊น…ํ•˜๋„๋ก ์„ค๊ณ„๋œ ๋„๊ตฌ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ €์ž๋Š” ์ฃผ๋กœ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์˜ ๊ตฌํ˜„์— ์ดˆ์ ์„ ๋งž์ถ”์—ˆ๊ณ  ๋” ์ผ๋ฐ˜์ ์ธ ์‚ฌํ•ญ์€ ๋‚˜์ค‘์„ ์œ„ํ•ด ๋‚จ๊ฒจ๋‘ก๋‹ˆ๋‹ค.

Kubevious์˜ ์ฃผ์š” ํŠน์ง• ๋ฐ ๊ธฐ๋Šฅ:

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ค‘์‹ฌ ๋ฐฉ์‹์˜ ํด๋Ÿฌ์Šคํ„ฐ ์‹œ๊ฐํ™”: ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ด€๋ จ ๊ฐœ์ฒด๊ฐ€ ๊ทธ๋ฃนํ™”๋˜์–ด ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ์ •๋ ฌ๋ฉ๋‹ˆ๋‹ค.
  • ๊ตฌ์„ฑ์˜ ์ข…์†์„ฑ์„ ์‹œ๊ฐ์ ์œผ๋กœ ํ‘œ์‹œํ•˜๊ณ  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์˜ ๊ณ„๋‹จ์‹ ๊ฒฐ๊ณผ.
  • ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ ์˜ค๋ฅ˜ ํ‘œ์‹œ: ๋ ˆ์ด๋ธ” ์˜ค์šฉ, ๋ˆ„๋ฝ๋œ ํฌํŠธ ๋“ฑ (์ฐธ๊ณ ๋กœ ์ด ๊ธฐ๋Šฅ์ด ๊ถ๊ธˆํ•˜์‹  ๋ถ„๋“ค์€ ํด๋ผ๋ฆฌ์Šค์šฐ๋ฆฌ์— ๋Œ€ํ•ด ์ด๋ฏธ ์ผ๋‹ค.)
  • ์ด์ „ ์ง€์  ์™ธ์—๋„ ์ž ์žฌ์ ์œผ๋กœ ์œ„ํ—˜ํ•œ ์šฉ๊ธฐ๋ฅผ ๊ฐ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ๋งŽ์€ ๊ถŒํ•œ(์†์„ฑ hostPID, hostNetwork, hostIPC, ๋งˆ์šดํŠธ docker.sock ๋“ฑ).
  • ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•œ ๊ณ ๊ธ‰ ๊ฒ€์ƒ‰ ์‹œ์Šคํ…œ(๊ฐœ์ฒด ์ด๋ฆ„๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ•ด๋‹น ์†์„ฑ).
  • ์šฉ๋Ÿ‰ ๊ณ„ํš ๋ฐ ๋ฆฌ์†Œ์Šค ์ตœ์ ํ™”๋ฅผ ์œ„ํ•œ ๋„๊ตฌ.
  • ๋‚ด์žฅ "ํƒ€์ž„๋จธ์‹ "(๊ฐœ์ฒด ๊ตฌ์„ฑ์˜ ์ด์ „ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ).
  • Roles, RoleBindings, ServiceAccounts์˜ ํ”ผ๋ฒ— ์ƒํ˜ธ ๊ด€๋ จ ํ…Œ์ด๋ธ”์ด ์žˆ๋Š” RBAC ๊ด€๋ฆฌ.
  • ํ•˜๋‚˜์˜ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ด ํ”„๋กœ์ ํŠธ๋Š” ์—ญ์‚ฌ๊ฐ€ ๋งค์šฐ ์งง๊ณ (์ฒซ ๋ฒˆ์งธ ๋ฆด๋ฆฌ์Šค๋Š” 11๋…„ 2020์›” XNUMX์ผ์— ์ง„ํ–‰๋จ) ๊ฐœ๋ฐœ์ด ์•ˆ์ •ํ™”๋˜๊ฑฐ๋‚˜ ๋‘”ํ™”๋˜๋Š” ๊ธฐ๊ฐ„์ด ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด์ „ ๋ฒ„์ „์ด ์ž์ฃผ ๋ฆด๋ฆฌ์Šค๋œ ๊ฒฝ์šฐ ์ตœ์‹  ๋ฆด๋ฆฌ์Šค(v0.5 15๋…„ 2020์›” 4์ผ) ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ์†๋„์— ๋’ค์ฒ˜์กŒ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์•„๋งˆ๋„ ๊ธฐ์—ฌ์ž์˜ ์ˆ˜๊ฐ€ ์ ๊ธฐ ๋•Œ๋ฌธ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ €์žฅ์†Œ์˜ ์—ญ์‚ฌ์—๋Š” ๊ธฐ์—ฌ์ž๊ฐ€ XNUMX๋ช…๋ฟ์ด๊ณ  ๋ชจ๋“  ์‹ค์ œ ์ž‘์—…์€ ํ•œ ์‚ฌ๋žŒ์ด ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

5. ํ๋ธŒ์™€์ด์ฆˆ

  • ํ”„๋กœ์ ํŠธ ํŽ˜์ด์ง€;
  • ๋ผ์ด์„ ์Šค: ๋…์ (์˜คํ”ˆ ์†Œ์Šค๊ฐ€ ๋จ)
  • ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ "Kubernetes๋ฅผ ์œ„ํ•œ ๋‹จ์ˆœํ•œ ๋‹ค์ค‘ ํ”Œ๋žซํผ ํด๋ผ์ด์–ธํŠธ์ž…๋‹ˆ๋‹ค."

Kubernetes์šฉ GUI ๊ฐœ์š”

์›๋ž˜ ๋‚ด๋ถ€ ํ•ด์ปคํ†ค(2019๋…„ XNUMX์›”)์˜ ์ผ๋ถ€๋กœ ์ƒ์„ฑ๋œ VMware์˜ ์‹ ์ œํ’ˆ์ž…๋‹ˆ๋‹ค. ๊ฐœ์ธ์šฉ ์ปดํ“จํ„ฐ์— ์„ค์น˜, ๊ธฐ๋ฐ˜์œผ๋กœ ์ž‘๋™ ์ „์ž (Linux, macOS ๋ฐ Windows ์ง€์›) kubectl v1.14.0 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

Kubewise์˜ ์ฃผ์š” ๊ธฐ๋Šฅ:

  • ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” Kubernetes ์—”ํ„ฐํ‹ฐ(๋…ธ๋“œ, ๋„ค์ž„์ŠคํŽ˜์ด์Šค ๋“ฑ)์™€์˜ ์ธํ„ฐํŽ˜์ด์Šค ์ƒํ˜ธ ์ž‘์šฉ
  • ์„œ๋กœ ๋‹ค๋ฅธ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ kubeconfig ํŒŒ์ผ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํ„ฐ๋ฏธ๋„ KUBECONFIG.
  • ์ง€์ •๋œ ๋„ค์ž„์ŠคํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์ง€์ • kubeconfig ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ๊ณ ๊ธ‰ ๋ณด์•ˆ ๊ธฐ๋Šฅ(RBAC, ์•”ํ˜ธ, ์„œ๋น„์Šค ๊ณ„์ •).

์ง€๊ธˆ๊นŒ์ง€ ํ”„๋กœ์ ํŠธ์—๋Š” ๋‹จ ํ•˜๋‚˜์˜ ๋ฆด๋ฆฌ์Šค(๋ฒ„์ „)๋งŒ ์žˆ์Šต๋‹ˆ๋‹ค. 1.1.0 26๋…„ 2019์›” 2020์ผ์ž. ๋˜ํ•œ ์ž‘์„ฑ์ž๋Š” ์ฆ‰์‹œ ์˜คํ”ˆ ์†Œ์Šค๋กœ ๊ณต๊ฐœํ•  ๊ณ„ํš์ด์—ˆ์ง€๋งŒ ๋‚ด๋ถ€ ๋ฌธ์ œ(๊ธฐ์ˆ ์  ๋ฌธ์ œ์™€ ๊ด€๋ จ ์—†์Œ)๋กœ ์ธํ•ด ์ด๋ฅผ ์ˆ˜ํ–‰ํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. XNUMX๋…„ XNUMX์›” ํ˜„์žฌ ์ž‘์„ฑ์ž๋Š” ๋‹ค์Œ ๋ฆด๋ฆฌ์Šค๋ฅผ ์ž‘์—… ์ค‘์ด๋ฉฐ ๋™์‹œ์— ์ฝ”๋“œ ๊ณต๊ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

6. ์˜คํ”ˆ์‹œํ”„ํŠธ ์ฝ˜์†”

Kubernetes์šฉ GUI ๊ฐœ์š”

์ด ์›น ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ OpenShift ๋ฐฐํฌํŒ์˜ ์ผ๋ถ€๋ผ๋Š” ์‚ฌ์‹ค์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ํŠน์ˆ˜ ์—ฐ์‚ฐ์ž), ์ €์ž ์ œ๊ณตํ–ˆ๋‹ค ์ผ๋ฐ˜(๋ฐ”๋‹๋ผ) Kubernetes ์„ค์น˜์—์„œ ์„ค์น˜/์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋Šฅ.

OpenShift ์ฝ˜์†”์€ ์˜ค๋žซ๋™์•ˆ ๊ฐœ๋ฐœ๋˜์–ด ์™”๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ๊ธฐ๋Šฅ์„ ํ†ตํ•ฉํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ฃผ์š” ์‚ฌํ•ญ์„ ์–ธ๊ธ‰ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค:

  • ๊ณต์œ  ์ธํ„ฐํŽ˜์ด์Šค ์ ‘๊ทผ ๋ฐฉ์‹ - ์ฝ˜์†”์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์— ๋Œ€ํ•œ ๋‘ ๊ฐ€์ง€ "๊ด€์ ": ๊ด€๋ฆฌ์ž์šฉ ๋ฐ ๊ฐœ๋ฐœ์ž์šฉ. ๋ฐฉ๋ฒ• ๊ฐœ๋ฐœ์ž ๊ด€์  ๊ฐœ๋ฐœ์ž๊ฐ€ (์‘์šฉ ํ”„๋กœ๊ทธ๋žจ๋ณ„๋กœ) ๋” ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์šด ํ˜•ํƒœ๋กœ ๊ฐœ์ฒด๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜๊ณ  ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ฐฐํฌ, ๋นŒ๋“œ/๋ฐฐํฌ ์ƒํƒœ ์ถ”์ , Eclipse Che๋ฅผ ํ†ตํ•œ ์ฝ”๋“œ ํŽธ์ง‘๊ณผ ๊ฐ™์€ ์ผ๋ฐ˜์ ์ธ ์ž‘์—…์„ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค์— ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค.
  • ์›Œํฌ๋กœ๋“œ, ๋„คํŠธ์›Œํฌ, ์Šคํ† ๋ฆฌ์ง€, ์•ก์„ธ์Šค ๊ถŒํ•œ ๊ด€๋ฆฌ.
  • ์›Œํฌ๋กœ๋“œ๋ฅผ ํ”„๋กœ์ ํŠธ์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๋…ผ๋ฆฌ์ ์œผ๋กœ ๋ถ„๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ตœ์‹  ๋ฆด๋ฆฌ์Šค ์ค‘ ํ•˜๋‚˜์ธ v4.3์—์„œ ์ถœ์—ฐ ํŠน๋ณ„ํ•œ ํ”„๋กœ์ ํŠธ ๋Œ€์‹œ ๋ณด๋“œ, ์ผ๋ฐ˜์ ์ธ ๋ฐ์ดํ„ฐ(๋ฐฐํฌ, ํฌ๋“œ ๋“ฑ์˜ ์ˆ˜ ๋ฐ ์ƒํƒœ, ๋ฆฌ์†Œ์Šค ์†Œ๋น„ ๋ฐ ๊ธฐํƒ€ ์ง€ํ‘œ)๋ฅผ ํ”„๋กœ์ ํŠธ ์กฐ๊ฐ์— ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  • ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ์˜ ์‹ค์‹œ๊ฐ„ ์—…๋ฐ์ดํŠธ ๋””์Šคํ”Œ๋ ˆ์ด, ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ๋ฐœ์ƒํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ(์ด๋ฒคํŠธ) ๋กœ๊ทธ ๋ณด๊ธฐ.
  • Prometheus, Alertmanager ๋ฐ Grafana๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ์ดํ„ฐ๋ฅผ ๋ด…๋‹ˆ๋‹ค.
  • ๋Œ€ํ‘œ ์šด์˜์ž ๊ด€๋ฆฌ ์šด์˜์ž ํ—ˆ๋ธŒ.
  • Docker๋ฅผ ํ†ตํ•ด ์‹คํ–‰๋˜๋Š” ๋นŒ๋“œ๋ฅผ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค(Dockerfile์ด ์žˆ๋Š” ์ง€์ •๋œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ). S2I ๋˜๋Š” ์ž„์˜์˜ ์™ธ๋ถ€ ์œ ํ‹ธ๋ฆฌํ‹ฐ.

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

๋ณด๋„ˆ์Šค

1. Kubernetes์˜ Portainer ๋ฒ ํƒ€ ๋ฒ„์ „

Docker ์ž‘์—…์„ ์œ„ํ•ด ๊ฐ™์€ ์ด๋ฆ„์˜ ์œ ๋ช…ํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐœ๋ฐœํ•œ Portainer ํŒ€์˜ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๊ฐ€ ์ดˆ๊ธฐ ๊ฐœ๋ฐœ ๋‹จ๊ณ„์— ์žˆ๊ธฐ ๋•Œ๋ฌธ์—(์ตœ์ดˆ์ด์ž ์œ ์ผํ•œ ๋ฒ ํƒ€ ๋ฒ„์ „ ๋‚˜์™”๋‹ค 16๋…„ 2020์›” XNUMX์ผ) ๊ธฐ๋Šฅ์„ ํ‰๊ฐ€ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ด€์‹ฌ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ท€ํ•˜์— ๊ด€ํ•œ ๊ฒƒ์ด๋ผ๋ฉด ๊ฐœ๋ฐœ์„ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค.

2. ์•„์ด์ŠคํŒจ๋„

  • ์›น ์‚ฌ์ดํŠธ;
  • ๋ผ์ด์„ ์Šค: ๋…์ ;
  • ํ•œ๋งˆ๋””๋กœ "๋น„์ฃผ์–ผ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์—๋””ํ„ฐ".

Kubernetes์šฉ GUI ๊ฐœ์š”

์ด ์ Š์€ ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๊ฐ„๋‹จํ•œ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์‹ค์‹œ๊ฐ„์œผ๋กœ Kubernetes ๋ฆฌ์†Œ์Šค๋ฅผ ์‹œ๊ฐํ™”ํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์ง€์›๋˜๋Š” ๊ฐ์ฒด๋Š” Pod, Service, Deployment, StatefulSet, PersistentVolume, PersistentVolumeClaim, ConfigMap ๋ฐ Secret์ž…๋‹ˆ๋‹ค. ๊ณง ๊ทธ๋“ค์€ Helm์— ๋Œ€ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ•  ๊ฒƒ์„ ์•ฝ์†ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ๋‹จ์ ์€ ์ฝ”๋“œ์˜ ๊ทผ์ ‘์„ฑ์ž…๋‹ˆ๋‹ค(์˜ˆ์ƒ "์–ด๋–ค ์‹์œผ๋กœ๋“ " ์—ด๊ธฐ) ๋ฐ Linux ์ง€์› ๋ถ€์กฑ(์ง€๊ธˆ๊นŒ์ง€๋Š” Windows ๋ฐ macOS์šฉ ๋ฒ„์ „๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๊ฒƒ๋„ ์‹œ๊ฐ„ ๋ฌธ์ œ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค).

3.k9s

  • ์›น ์‚ฌ์ดํŠธ;
  • ๋ฐ๋ชจ;
  • ์ €์žฅ์†Œ (~7700 GitHub ๋ณ„);
  • ๋ผ์ด์„ผ์Šค: ์•„ํŒŒ์น˜ 2.0;
  • ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ "ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฉ‹์ง€๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” Kubernetes์šฉ ์ฝ˜์†” ์ธํ„ฐํŽ˜์ด์Šค์ž…๋‹ˆ๋‹ค."

Kubernetes์šฉ GUI ๊ฐœ์š”

์ด ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ์ฝ˜์†” GUI๋ฅผ ์ œ๊ณตํ•œ๋‹ค๋Š” ์ด์œ ๋กœ ๋ฆฌ๋ทฐ์˜ ๋ณด๋„ˆ์Šค ๋ถ€๋ถ„์—๋งŒ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ €์ž๋Š” ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ์ธํ„ฐํŽ˜์ด์Šค๋ฟ๋งŒ ์•„๋‹ˆ๋ผ 6๊ฐœ์˜ ๋ฏธ๋ฆฌ ์ •์˜๋œ ํ…Œ๋งˆ, ํ‚ค๋ณด๋“œ ๋‹จ์ถ•ํ‚ค ๋ฐ ๋ช…๋ น ๋ณ„์นญ์˜ ๊ณ ๊ธ‰ ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•˜์—ฌ ๋ง ๊ทธ๋Œ€๋กœ ํ„ฐ๋ฏธ๋„์—์„œ ์ตœ๋Œ€ํ•œ์˜ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์˜ ์ฒ ์ €ํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์€ ์™ธ๊ด€์— ๊ตญํ•œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. k9s ๊ธฐ๋Šฅ์€ ๋งค์šฐ ์ธ์ƒ์ ์ž…๋‹ˆ๋‹ค. ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ, ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ ํ‘œ์‹œ, ์ข…์†์„ฑ์ด ์žˆ๋Š” ๊ณ„์ธต์  ํ‘œํ˜„์œผ๋กœ ๋ฆฌ์†Œ์Šค ํ‘œ์‹œ, ๋กœ๊ทธ ๋ณด๊ธฐ, RBAC ์ง€์›, ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ํ†ตํ•œ ๊ธฐ๋Šฅ ํ™•์žฅ ... ์ด ๋ชจ๋“  ๊ฒƒ์ด ๋งค๋ ฅ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ด‘๋ฒ”์œ„ํ•œ K8s ์ปค๋ฎค๋‹ˆํ‹ฐ์—: ํ”„๋กœ์ ํŠธ์˜ GitHub ์Šคํƒ€๋Š” ๊ฑฐ์˜ ๊ณต์‹ Kubernetes ๋Œ€์‹œ๋ณด๋“œ๋งŒํผ ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค!

4. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ œ์–ดํŒ

๊ทธ๋ฆฌ๊ณ  ๊ฒ€ํ† ๊ฐ€ ๋๋‚˜๋ฉด ๋ณ„๋„์˜ ๋ฏธ๋‹ˆ ์นดํ…Œ๊ณ ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์˜ ํฌ๊ด„์ ์ธ ๊ด€๋ฆฌ๊ฐ€ ์•„๋‹ˆ๋ผ ํด๋Ÿฌ์Šคํ„ฐ์— ๋ฐฐํฌ๋œ ํ•ญ๋ชฉ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋œ ๋‘ ๊ฐœ์˜ ์›น ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

4.1. ๋‹จ์•ˆ

  • ์ €์žฅ์†Œ (1300๊ฐœ ์ด์ƒ์˜ GitHub ๋ณ„);
  • ๋ผ์ด์„ผ์Šค: ์•„ํŒŒ์น˜ 2.0;
  • ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ โ€œ์—ฌ๋Ÿฌ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ Helm ์ฐจํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ๋ฐœ๊ฒฌํ•˜๊ธฐ ์œ„ํ•œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ž…๋‹ˆ๋‹ค. Helm ํ—ˆ๋ธŒ ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ๋ฐ˜ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค."

Kubernetes์šฉ GUI ๊ฐœ์š”

Helm ์ž‘์„ฑ์ž์˜ ์ด ๊ฐœ๋ฐœ์€ Kubernetes์— ์„ค์น˜๋˜๊ณ  ๋™์ผํ•œ ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์—์„œ ์ž‘๋™ํ•˜์—ฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ˜„์žฌ ํ”„๋กœ์ ํŠธ๋Š” ๊ฑฐ์˜ ๊ฐœ๋ฐœ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ฃผ์š” ๋ชฉ์ ์€ Helm Hub์˜ ์กด์žฌ๋ฅผ ์ง€์›ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์š”๊ตฌ ์‚ฌํ•ญ์˜ ๊ฒฝ์šฐ ์ž‘์„ฑ์ž๋Š” Kubeapps(์•„๋ž˜ ์ฐธ์กฐ) ๋˜๋Š” Red Hat Automation Broker(OpenShift์˜ ์ผ๋ถ€์ด์ง€๋งŒ ๋” ์ด์ƒ ๊ฐœ๋ฐœ๋˜์ง€ ์•Š์Œ)๋ฅผ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

4.2. Kubeapps

Kubernetes์šฉ GUI ๊ฐœ์š”

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์—๋„ ์„ค์น˜๋˜์ง€๋งŒ ํ”„๋ผ์ด๋น— ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ž‘์—…์— ์ดˆ๊ธฐ ์ค‘์ ์„ ๋‘๋Š” ์ ์—์„œ Monocular์™€ ๋‹ค๋ฅธ Bitnami์˜ ์ œํ’ˆ์ž…๋‹ˆ๋‹ค.

Kubeapps์˜ ์ฃผ์š” ๊ธฐ๋Šฅ ๋ฐ ํŠน์ง•:

  • ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์—์„œ Helm ์ฐจํŠธ๋ฅผ ๋ณด๊ณ  ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
  • ํด๋Ÿฌ์Šคํ„ฐ์— ์„ค์น˜๋œ Helm ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ™•์ธ, ์—…๋ฐ์ดํŠธ ๋ฐ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.
  • ๋งž์ถคํ˜• ๋ฐ ๊ฐœ์ธ ์ฐจํŠธ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ ์ง€์›(ChartMuseum ๋ฐ JFrog Artifactory ์ง€์›).
  • ์„œ๋น„์Šค ์นดํƒˆ๋กœ๊ทธ ๋ฐ ์„œ๋น„์Šค ๋ธŒ๋กœ์ปค์—์„œ ์™ธ๋ถ€ ์„œ๋น„์Šค ๋ณด๊ธฐ ๋ฐ ์ž‘์—….
  • ์„œ๋น„์Šค ์นดํƒˆ๋กœ๊ทธ ๋ฐ”์ธ๋”ฉ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์น˜๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฒŒ์‹œ.
  • RBAC๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ธ์ฆ ๋ฐ ๊ถŒํ•œ ๋ถ„๋ฆฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์š”์•ฝํ‘œ

๋‹ค์Œ์€ ๋น„๊ต๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์กด ์‹œ๊ฐ์  ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์š”์•ฝํ•˜๊ณ  ์ง‘๊ณ„ํ•œ ์š”์•ฝ ํ‘œ์ž…๋‹ˆ๋‹ค.

Kubernetes์šฉ GUI ๊ฐœ์š”
(ํ…Œ์ด๋ธ”์˜ ์˜จ๋ผ์ธ ๋ฒ„์ „ Google ๋ฌธ์„œ๋„๊ตฌ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ.)

๊ฒฐ๋ก 

Kubernetes์šฉ GUI๋Š” ๋‹ค์†Œ ๊ตฌ์ฒด์ ์ด๊ณ  ์ Š์€ ํ‹ˆ์ƒˆ ์‹œ์žฅ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ๋งค์šฐ ํ™œ๋ฐœํ•˜๊ฒŒ ๋ฐœ์ „ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ๋‹นํžˆ ์„ฑ์ˆ™ํ•œ ์†”๋ฃจ์…˜๊ณผ ์•„์ง ์„ฑ์žฅํ•  ์—ฌ์ง€๊ฐ€์žˆ๋Š” ์•„์ฃผ ์–ด๋ฆฐ ์†”๋ฃจ์…˜์„ ๋ชจ๋‘ ์ฐพ๋Š” ๊ฒƒ์ด ์ด๋ฏธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ฑฐ์˜ ๋ชจ๋“  ์ทจํ–ฅ์— ๋งž๋Š” ๊ธฐ๋Šฅ๊ณผ ๋ชจ์–‘์„ ์ œ๊ณตํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์‘์šฉ ๋ถ„์•ผ์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฒ€ํ† ๊ฐ€ ํ˜„์žฌ ์š”๊ตฌ ์‚ฌํ•ญ์— ๊ฐ€์žฅ ์ ํ•ฉํ•œ ๋„๊ตฌ๋ฅผ ์„ ํƒํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

PS

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค ํฌ๋ฐฅ ๋น„๊ตํ‘œ๋ฅผ ์œ„ํ•ด OpenShift ์ฝ˜์†”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•ด!

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

์ถœ์ฒ˜ : habr.com

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