Kubernetes ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐฉํ˜• PaaS ํ”Œ๋žซํผ Cozystack 0.20 ์ถœ์‹œ

Kubernetes๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์ถ•๋œ ๋ฌด๋ฃŒ PaaS ํ”Œ๋žซํผ Cozystack 0.20.0์ด ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์ ํŠธ๋Š” ํ˜ธ์ŠคํŒ… ์ œ๊ณต์—…์ฒด๋ฅผ ์œ„ํ•œ ๊ธฐ์„ฑ ํ”Œ๋žซํผ๊ณผ ํ”„๋ผ์ด๋น— ๋ฐ ํผ๋ธ”๋ฆญ ํด๋ผ์šฐ๋“œ ๊ตฌ์ถ•์„ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•ฉ๋‹ˆ๋‹ค. ํ”Œ๋žซํผ์€ ์„œ๋ฒ„์— ์ง์ ‘ ์„ค์น˜๋˜๋ฉฐ ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค ์ œ๊ณต์„ ์œ„ํ•œ ์ธํ”„๋ผ ์ค€๋น„์˜ ๋ชจ๋“  ์ธก๋ฉด์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค. Cozystack์„ ์‚ฌ์šฉํ•˜๋ฉด Kubernetes ํด๋Ÿฌ์Šคํ„ฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ๊ฐ€์ƒ ๋จธ์‹ ์„ ์‹คํ–‰ํ•˜๊ณ  ํ”„๋กœ๋น„์ €๋‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”Œ๋žซํผ ์ฝ”๋“œ๋Š” GitHub์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ Apache-2.0 ๋ผ์ด์„ ์Šค์— ๋”ฐ๋ผ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

Talos Linux ๋ฐ Flux CD๊ฐ€ ๊ธฐ๋ณธ ๊ธฐ์ˆ  ์Šคํƒ์œผ๋กœ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ, ์ปค๋„ ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“ˆ์ด ํฌํ•จ๋œ ์ด๋ฏธ์ง€๊ฐ€ ๋ฏธ๋ฆฌ ์ƒ์„ฑ๋˜๊ณ  ์›์ž์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜๋ฏ€๋กœ dkms ๋ฐ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์™€ ๊ฐ™์€ ๊ตฌ์„ฑ ์š”์†Œ ์—†์ด๋„ ์ž‘์—…์ด ๊ฐ€๋Šฅํ•˜๊ณ  ์•ˆ์ •์ ์ธ ์ž‘๋™์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค. PXE ๋ฐ Debian๊ณผ ์œ ์‚ฌํ•œ talos-bootstrap ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋นˆ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— ๊ฐ„๋‹จํ•œ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ด ํ”Œ๋žซํผ์—๋Š” ๋ฌด๋ฃŒ ๊ตฌํ˜„ ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ์ธํ”„๋ผ Kube-OVN ๊ธฐ๋ฐ˜์˜ ํŒจ๋ธŒ๋ฆญ์œผ๋กœ, ์„œ๋น„์Šค ๋ฉ”์‹œ ๊ตฌ์„ฑ์—๋Š” Cilium์„, ์„œ๋น„์Šค ๊ด‘๊ณ ์—๋Š” MetalLB๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์Šคํ† ๋ฆฌ์ง€๋Š” LINSTOR์— ๊ตฌํ˜„๋˜์–ด ์žˆ์œผ๋ฉฐ, ํ•˜์œ„ ์Šคํ† ๋ฆฌ์ง€ ๊ณ„์ธต์œผ๋กœ๋Š” ZFS๋ฅผ, ๋ณต์ œ์—๋Š” DRBD๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. VictoriaMetrics์™€ Grafana ๊ธฐ๋ฐ˜์˜ ์‚ฌ์ „ ๊ตฌ์„ฑ๋œ ๋ชจ๋‹ˆํ„ฐ๋ง ์Šคํƒ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”. ๊ฐ€์ƒ ๊ธฐ๊ธฐ KubeVirt ๊ธฐ์ˆ ์ด ์‚ฌ์šฉ๋˜์–ด ๊ธฐ์กด ๊ฐ€์ƒ ๋จธ์‹ ์„ Kubernetes ์ปจํ…Œ์ด๋„ˆ์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•˜๋“œ์›จ์–ด Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์—์„œ ๊ด€๋ฆฌํ˜• Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์œ„ํ•œ Cluster API์™€์˜ ํ•„์š”ํ•œ ๋ชจ๋“  ํ†ตํ•ฉ ๊ธฐ๋Šฅ์„ ์ด๋ฏธ ๊ฐ–์ถ”๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ :

  • Kube-OVN์ด 0.13.0 ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • KubeVirt CCM(ํด๋ผ์šฐ๋“œ ์ปจํŠธ๋กค๋Ÿฌ ๊ด€๋ฆฌ์ž)์˜ ๋กœ์ง์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ํ”Œ๋žซํผ์€ ํ…Œ๋„ŒํŠธ-Kubernetes์— ๋”์šฑ ์•ˆ์ •์ ์ธ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • OIDC์˜ ์‚ฌ์šฉ์ž ๊ถŒํ•œ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํด๋Ÿฌ์Šคํ„ฐ ๊ด€๋ฆฌ์ž๋ฅผ ์œ„ํ•œ ๊ทธ๋ฃน์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Grafana์˜ ์•Œ๋ฆผ ๋ฐ ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ โ€‹โ€‹์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด์ œ NATS๋Š” ์ œํŠธ์ŠคํŠธ๋ฆผ ๋ฐ ์ „์†ก ๊ตฌ์„ฑ์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Terraform์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”Œ๋žซํผ API์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Cozystack 0.19์˜ ์ด์ „ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” OIDC(OpenID Connect) ์ง€์›์ด ๋„์ž…๋˜์—ˆ์œผ๋‚˜, ์ฝ”๋“œ๋ฒ ์ด์Šค ์•ˆ์ •ํ™” ์ž‘์—…์œผ๋กœ ์ธํ•ด ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค๋Š” ๋ณ„๋„์˜ ๋ฆด๋ฆฌ์Šค๋กœ ๋ฐœํ‘œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ด์ œ Cozystack์—๋Š” ๋กœ์ปฌ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์™ธ๋ถ€ OIDC ๊ณต๊ธ‰์ž์™€์˜ ํ†ต์‹ ์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” Cozy ์˜์—ญ์„ ์ž๋™์œผ๋กœ ๊ตฌ์„ฑํ•˜๋Š” Keycloak์ด ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๊ฐ ํ…Œ๋„ŒํŠธ๋งˆ๋‹ค ๊ธฐ๋ณธ์ ์œผ๋กœ 4๊ฐœ์˜ ๊ทธ๋ฃน์ด ์ œ๊ณต๋˜๋ฉฐ, ํ…Œ๋„ŒํŠธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” Keycloak์„ ํ†ตํ•œ ์ธ์ฆ์„ ์œ„ํ•ด ๊ตฌ์„ฑ๋œ ์ƒ์„ฑ๋œ kubeconfig ํŒŒ์ผ์„ ์ž๋™์œผ๋กœ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Keycloak Operator๋ฅผ ๋„์ž…ํ•˜์—ฌ "Keycloak as Code"๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. K8s ํด๋Ÿฌ์Šคํ„ฐ ๋ฐ ๋Œ€์‹œ๋ณด๋“œ์™€์˜ Keycloak ํ†ตํ•ฉ์€ ์ž๋™์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

DDoS ๋ณดํ˜ธ, VPS VDS ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š” ์‚ฌ์ดํŠธ๋ฅผ ์œ„ํ•œ ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŒ… ๊ตฌ์ž… ๐Ÿ”ฅ DDoS ๊ณต๊ฒฉ ๋ฐฉ์ง€ ๊ธฐ๋Šฅ์ด ํƒ‘์žฌ๋œ ์•ˆ์ •์ ์ธ ์›น์‚ฌ์ดํŠธ ํ˜ธ์ŠคํŒ…, VPS ๋ฐ VDS ์„œ๋ฒ„๋ฅผ ๊ตฌ๋งคํ•˜์„ธ์š” | ProHoster