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) ์๋น์ค๋ก, ์ ์ ๋ฐ ๋์ ์ฝํ ์ธ ๋ฅผ ๋น ๋ฅด๊ณ ์์ ํ๊ฒ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํด ์ค๋๋ค. ์ฌ์ฉ์๊ฐ ์ฝํ ์ธ ๋ฅผ ์์ฒญํ๋ฉด ๊ฐ์ฅ ๊ฐ๊น์ด ์ฃ์ง ๋ก์ผ์ด์ ์์ ์๋ต
๋ฌธ์ ์ํฉ ๐ญ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ์์ Argo CD UI๊ฐ ๋ฌดํ ๋ก๋ฉ ์ํ๋ฅผ ๋ณด์ด๋ฉฐ, kubectl ๋ช ๋ น์ด๋ ์๋ต ์์ด ๋ฉ์ถ๋ ์ํฉ์ด ๋ฐ์ํ์ต๋๋ค. #1. ์์คํ ๋ฆฌ์์ค ๋ฐ ํ๋ก์ธ์ค ์ํ ์ ๊ฒ ๐ ์์คํ ๋ฆฌ์์ค ํ์ธ ๊ฒฐ๊ณผ CPU, ๋ฉ๋ชจ๋ฆฌ, ๋์คํฌ ๋ชจ๋ ์ ์
์ผ๋ฐ์ ์ผ๋ก ์ฟ ๋ฒ๋คํฐ์ค Secret ๋ฆฌ์์ค๋ ๋จ์ํ base64๋ก ์ธ์ฝ๋ฉ๋ ํํ๋ก ์ ์ฅ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ base64๋ ์ํธํ๊ฐ ์๋ ๋จ์ํ ์ธ์ฝ๋ฉ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์, ์ด๋ฅผ Git์ ๊ทธ๋๋ก ์ปค๋ฐํ๋ ๊ฒ์ ๋ณด์์ ํฐ ์ํ์ ์ด๋ํ ์ ์์ต๋๋ค.๊ฐ๋ฐ์ โ kubeseal โ Se
์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ์ ๋ฆฌ์์ค๋ฅผ ์ค์๊ฐ์ผ๋ก ๊ฐ์ํ๊ธฐ ์ํด์๋ ๋จ์ํ LGTM ์คํ๊ณผ ๊ฐ์ ๋ชจ๋ํฐ๋ง ๋๊ตฌ ์ธ์๋ ๋ฐํ์ ๋ณด์์ ๋ํ ๋๋น๊ฐ ํ์ํ๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ค, ์์คํ ์ฝ ๊ธฐ๋ฐ์ ๋ณด์ ์ด๋ฒคํธ ๊ฐ์ง ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์คํ์์ค ๋๊ตฌ์ธ Falco๋ฅผ ์๊ฒ ๋์
MSA ๊ธฐ๋ฐ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์, ๊ฐ ๋ง์ดํฌ๋ก์๋น์ค๊ฐ ์ธ์ฆ ์ฒ๋ฆฌ๋ฅผ ์ํด ํ๋์ ๋ ๋์ค๋ฅผ ๊ณต์ ํ๋๋ก ๊ตฌ์ฑํ ํ์๊ฐ ์์์ต๋๋ค. ํ์ง๋ง ๋จ์ผ ๋ ๋์ค๋ก๋ ์ฅ์ ๋ฐ์ ์ ์ ์ฒด ์๋น์ค์ ์ํฅ์ ์ค ์ ์์ด, ๊ณ ๊ฐ์ฉ์ฑ์ ํ๋ณดํ ์ ์๋ ๊ตฌ์กฐ๊ฐ ํ์ํ์ต๋๋ค.์ด ๊ณ ๋ฏผ์ ํ๋ ์ค ์นด