
์คํฐ๋์์ Kubernetes ์คํผ๋ ์ดํฐ๋ฅผ ๊ณต๋ถํ๋ค ๋ณด๋, ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ํํ๋ผ๋ ์ง์ ๋ง๋ค์ด๋ณด๊ณ ์ถ๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค.๊ทธ๋์ ์ด๋ฒ ๊ธ์์๋ Kubebuilder๋ฅผ ์ฌ์ฉํด Deployment๊ฐ ์์ฑ๋ ๋ ์๋์ผ๋ก Prometheus ์๋ฆผ ๊ท์น์ ์์ฑํ๋ Kubern

ํ๋ก์ ํธ๋ฅผ ์งํํ๋ค ๋ณด๋ฉด ๋์์ ์์ ํ๋ฉด์ PR์ด ์์ด๊ฒ ๋ฉ๋๋ค. ์ด๋ main/develop ๋ธ๋์น์ ์๋ก์ด ์ปค๋ฐ์ด ํธ์๋๋ฉด, ๊ธฐ์กด์ ์ด๋ ค ์๋ PR์ด ์ถฉ๋์ ์ผ์ผํค๋ ์ผ์ด ์์ฃผ ๋ฐ์ํฉ๋๋ค.๋ฌธ์ ๋ ์ด๋ฐ ์ถฉ๋์ ๋งค๋ฒ ์ง์ ํ์ธํด์ผ ํ๋ค๋ ์ ์ ๋๋ค. PR์ด ์ฌ๋ฌ ๊ฐ ์์ด

๋ค์ด๊ฐ๋ฉฐ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ๋ค ๋ณด๋ฉด CRD(Custom Resource Definition), ์คํผ๋ ์ดํฐ(Operator) ๊ฐ์ ์ฉ์ด๋ฅผ ์์ฃผ ์ ํ๊ฒ ๋ฉ๋๋ค. ๐ ์ด ๊ธ์์๋ ์ด ๊ฐ๋ ๋ค์ด ๋ฌด์์ด๊ณ , ์ด๋ค ์ญํ ์ ํ๋์ง ์ ๋ฆฌํด๋ณด๋ ค๊ณ ํฉ๋๋ค. ๋จผ์ , ์ฟ ๋ฒ๋คํฐ์ค๋ ๊ธฐ๋ณธ
go get ๋ช ๋ น์ด์ ์ฌ์ฉํ๋๋ฐ ์ต์ ์ฝ๋๊ฐ ๋ด๋ ค์ค์ง ์๋ ๋ฌธ์ ๊ฐ ์์์ต๋๋ค. ์ฒ์์๋ ๋น์ฐํ github.com/~ ํํ์ ๋ชจ๋์ด๋ผ GitHub์์ ์ง์ ๊ฐ์ ธ์ค๋ ์ค ์์์ง๋ง, ์ค์ ๋ก๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๋์ํ๊ณ ์์์ต๋๋ค.๐ ์ด ๊ธ์์๋ Go ๋ชจ๋ ์์คํ ์ด ์ด๋ป๊ฒ ๋
parallelism ํ๋ผ๋ฏธํฐTerraform CLI๋ --parallelism=N ์ต์ ์ ํตํด ๋์์ ์คํํ ๋ฆฌ์์ค์ ์ต๋ ๊ฐ์๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 10์ ๋๋ค.๐ ํ ๋ผํผ ๊ณต์ ๋ฌธ์ ๋ฐ๋ก๊ฐ๊ธฐinternal/terraform/context.go ํ ๋ผํผ ์ฝ

์ ์ ํ์ผ์ ๋ฐฐํฌํ๋ ๋ฐฉ๋ฒ์ ๋ค์ํ์ง๋ง, ์ด๋ฒ ํ๋ก์ ํธ์์๋ ๋น์ฉ ํจ์จ์ ์ด๋ฉด์๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ์ต์ ํ๋ ๋ฐฉ์์ ์ ํํ์ต๋๋ค.KakaoCloud์์ ์ ๊ณตํ๋ Object Storage์ CDN ์กฐํฉ์ ํ์ฉํ๋ฉด, ๋ณ๋์ ์๋ฒ ์์ด๋ React/Vite ๊ฐ์ ํ๋ก ํธ์๋ ๋น

OpenStack SDK์ Identity Endpoint์ ๋ํ functional test๊ฐ ์์ด, ํ ์คํธ ์ฝ๋๋ฅผ ์์ฑํด๋ณด์์ต๋๋ค ๐ (with ์คํ์์ค ์ปจํธ๋ฆฌ๋ทฐ์ !)OpenStack์์ Endpoint๋ ๊ฐ ์๋น์ค์ ์ ์ ์ง์ ์ ์ ์ํ๋ ํต์ฌ ๊ตฌ์ฑ ์์์ ๋๋ค.

OpenStack Endpoint๋ ๊ฐ ์๋น์ค์ ์ ์ ์ง์ ์ ์ ์ํ๋ ํต์ฌ ์์๋ก, Keystone์ ๋ฑ๋ก๋ ์๋น์ค๊ฐ "์ด๋์์, ์ด๋ค ๋ฐฉ์์ผ๋ก" ์ ๊ทผ ๊ฐ๋ฅํ์ง๋ฅผ ์๋ ค์ฃผ๋ ์ฃผ์ ์ญํ ์ ํฉ๋๋ค.๊ตฌ์ฑ ์์URL: ์๋น์ค์ ์ ๊ทผํ ์ค์ ์ฃผ์Interface: ์ ๊ทผ ์ ํpub
Spring ๊ฐ๋ฐ ์๋ฒ์์ ์ธ์ฆ ๋ฐฉ์์ ํค๋ Access Token์์ ์ฟ ํค ๊ธฐ๋ฐ์ผ๋ก ๋ณ๊ฒฝํ๋ฉด์ HTTPS ์ ์ฉ์ด ํ์ํ์ต๋๋ค. Secure ์์ฑ์ด ์๋ ์ฟ ํค๋ HTTPS ํ๊ฒฝ์์๋ง ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ ์ ์ก๋๊ธฐ ๋๋ฌธ์, ๊ฐ๋ฐ ์๋ฒ์๋ ์ธ์ฆ์ ์ ์ฉํด์ผ ํฉ๋๋ค.์ด๋ฒ ๊ธ์์๋

๋ค์ด๊ฐ๋ฉฐ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์๋ TLS ์ธ์ฆ์, ์ํธํ ํค, API ํ ํฐ๊ณผ ๊ฐ์ ๋ฏผ๊ฐ ์ ๋ณด๊ฐ ํ์์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ฌํ ๋ฐ์ดํฐ๋ ์์ ํ๊ฒ ๋ณด๊ดํ๊ณ , ํ์ํ ๋๋ง ์ ๊ทผํ ์ ์๋๋ก ํ๋ ๊ฒ์ด ๋ณด์์ ํต์ฌ์ ๋๋ค. Barbican์ OpenStack ํ๊ฒฝ์์ ์ด๋ฌํ ์ญํ

gRPC๋ Google์ด ๊ฐ๋ฐํ ๊ณ ์ฑ๋ฅ ์คํ์์ค RPC(Remote Procedure Call) ํ๋ ์์ํฌ์ ๋๋ค. RPC๋ ์๊ฒฉ ์๋ฒ์ ํจ์๋ฅผ ๋ง์น ๋ก์ปฌ ํจ์์ฒ๋ผ ํธ์ถํ ์ ์๊ฒ ํด์ฃผ๋ ํ๋ ์์ํฌ์ ๋๋ค.ํด๋ผ์ด์ธํธ๋ ์๊ฒฉ ์๋ฒ์ ๋ฉ์๋๋ฅผ ๋ก์ปฌ ํจ์์ฒ๋ผ ํธ์ถ์๋ฒ๋ ์ค์ ๋น
์์คํ ๊ฐ ํต์ ์ด ์ค์ํ ์น ์๋น์ค๋ ๋ง์ดํฌ๋ก์๋น์ค ํ๊ฒฝ์์, JSON์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ํฌ๋งท์ ๋๋ค. ํ์ง๋ง Google์ Protocol Buffers๋ ๋ ๋์ ์ฑ๋ฅ์ ์ ๊ณตํ๋ ๋์์ผ๋ก ์ ์ ๋ ๋ง์ด ์ฌ์ฉ๋๊ณ ์์ต๋๋ค.์ด ๊ธ์์๋ Protocol Buff

์ด ๊ธ์์๋ Jenkins๋ฅผ ํ์ฉํด GitHub์ ์ฝ๋ ๋ณ๊ฒฝ์ ์๋์ผ๋ก ๊ฐ์งํ๊ณ , Docker ์ด๋ฏธ์ง๋ฅผ ๋น๋ํด Docker Hub์ ํธ์ํ๋ ํ์ดํ๋ผ์ธ ๊ตฌ์ถ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค ๐Jenkins๊ฐ GitHub ์ ์ฅ์์ ์ ๊ทผํ ์ ์๋๋ก Personal Access T

1. ngrok ์ค์น ๋ฐ ์ธ์ฆ ๐ ngrok ํํ์ด์ง์์ ๋ฐ๊ธํ ํ ํฐ์ ์ฌ์ฉํฉ๋๋ค. 2. Jenkins ์คํ ํฌํธ ํ์ธ ๋ฐ ngrok ํฐ๋ ์ด๊ธฐ Jenkins๊ฐ localhost:8081์์ ์คํ ์ค์ด๋ผ๋ฉด ๋ค์ ๋ช ๋ น์ด๋ก ์ธ๋ถ ์ ๊ทผ ์ฃผ์๋ฅผ ์์ฑํฉ๋๋ค. ์์ฑ๋ ์ฃผ

Mac์ Homebrew๋ก Jenkins๋ฅผ ์ค์นํด ๋ก์ปฌ์์ ํ์ดํ๋ผ์ธ์ ์คํํ๋ ์ค, Docker ์ด๋ฏธ์ง๋ฅผ ๋น๋ํ๋ ๋จ๊ณ์์ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.ํฐ๋ฏธ๋์์๋ which docker ๋ช ๋ น์ด๋ฅผ ํตํด /usr/local/bin/docker ๊ฒฝ๋ก๊ฐ ์ ์์ ์ผ๋ก ํ์ธ

Jenkins๋ Docker, WAR ํ์ผ, Homebrew ๋ฑ์ ํตํด ๋ค์ํ ๋ฐฉ์์ผ๋ก ์ค์นํ ์ ์์ต๋๋ค. ์ด ๊ธ์์๋ macOS ํ๊ฒฝ์์ Homebrew๋ฅผ ์ด์ฉํด Jenkins๋ฅผ ์ค์นํ๊ณ , ๊ธฐ๋ณธ ํฌํธ๋ฅผ ๋ณ๊ฒฝํ๋ ๋ฐฉ๋ฒ๊น์ง ์ ๋ฆฌํฉ๋๋ค :)Jenkins๋ ์คํ์์ค CI/

์ต๊ทผ์ HashiCorp Certified: Terraform Associate (HCTA0-003) ์๊ฒฉ์ฆ์ ํฉ๊ฒฉํด์, ์ค๋น ๊ณผ์ ๊ณผ ์ํ ํ๊ธฐ, ๊ณต๋ถ ๋ฐฉ๋ฒ ๋ฑ์ ๊ฐ๋จํ ์ ๋ฆฌํด๋ณด๋ ค ํฉ๋๋ค ๐์ํ ์ ํ: ๊ฐ๊ด์์์ ๋ฐฉ์: ์จ๋ผ์ธ์ํ ์๊ฐ: 60๋ถ (30๋ถ ์ฐ์ฅ ๊ฐ๋ฅ!)

ํด๋ผ์ฐ๋ ํด๋ฝ 7๊ธฐ ํ๋์ ๋ง์น๊ณ , ์งง์ง๋ง ์ง์ฌ์ ๋ด์ ํ๊ณ ๋ฅผ ๋จ๊ฒจ๋ด ๋๋ค ๐ฉตโ๏ธ๐ซงCloud Club์ ๋ฒค๋์ ์ข ์๋์ง ์๊ณ , ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๊ธฐ์ ์ ํจ๊ป ๊ฒฝํํ๊ณ ์ฑ์ฅํ๋ IT ์ฐํฉ ๋์๋ฆฌ์ ๋๋ค. ํน์ ํด๋ผ์ฐ๋ ํด๋ฝ์ด ๋ ๊ถ๊ธํ์ ๋ถ๋ค์ ๊ณต์ ํํ์ด์ง๋ ์ฐธ๊ณ ํด ์ฃผ

์ต๊ทผ macOS๋ฅผ ์ ๋ฐ์ดํธํ ์ดํ, Docker Desktop์ด ๊ฐ์๊ธฐ ์คํ๋์ง ์๋ ํ์์ ๊ฒช์์ต๋๋ค.์ฒ์์ ๋์ปค ๋ฒ์ ๋ฌธ์ ์ธ ์ค ์์๋๋ฐ, ๊ณต์ ์ด์๋ฅผ ์ฐพ์๋ณด๋ macOS ์ ๋ฐ์ดํธ ์ดํ ๊ถํ ๋ฌธ์ ๋๋ ๋ฐ์ด๋๋ฆฌ ์ถฉ๋๋ก ์ธํด ๋ฐ์ํ๋ ์ด์์ธ ๊ฒ ๊ฐ์ต๋๋ค.๊ทธ๋์ ์ฌ์ค์น

๐ก CloudFront๋?CloudFront๋ AWS์์ ์ ๊ณตํ๋ ์ ์ธ๊ณ CDN(Content Delivery Network) ์๋น์ค๋ก, ์ ์ ๋ฐ ๋์ ์ฝํ ์ธ ๋ฅผ ๋น ๋ฅด๊ณ ์์ ํ๊ฒ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํด ์ค๋๋ค. ์ฌ์ฉ์๊ฐ ์ฝํ ์ธ ๋ฅผ ์์ฒญํ๋ฉด ๊ฐ์ฅ ๊ฐ๊น์ด ์ฃ์ง ๋ก์ผ์ด์ ์์ ์๋ต