[Kubernetes - 2๋จ๊ณ: ConfigMap & Secret]
์ด ๊ธ์์ ๋ค๋ฃจ๋ ๊ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ค์ ๊ฐ(ConfigMap)๊ณผ ๋ฏผ๊ฐ ์ ๋ณด(Secret)๋ฅผ ์ฝ๋์์ ๋ถ๋ฆฌํ์ฌ Kubernetes ๋ฆฌ์์ค๋ก ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฃน๋๋ค. ์ ์์ง์ Kubernetes 1๋จ๊ณ: Deployment & Service โ Pod ๋ฐฐํฌ์ Service ๊ธฐ๋ณธ ๊ฐ๋ ์ด ๋จ๊ณ์์ ํด๊ฒฐํ๋ ค๋ ๋ฌธ์ ์ ํ๋ฆฌ์ผ์ด์ ์ฝ๋์ DB ๋น๋ฐ๋ฒํธ๋ ํ๊ฒฝ ์ค์ ์ ํ๋์ฝ๋ฉํ๋ฉด, ํ๊ฒฝ๋ณ ๋ฐฐํฌ๊ฐ ์ด๋ ต๊ณ ๋ณด์ ์ํ์ด ์๊น๋๋ค. Kubernetes์ ConfigMap๊ณผ Secret์ ์ฌ์ฉํ๋ฉด ์ค์ ๊ณผ ์ฝ๋๋ฅผ ๋ถ๋ฆฌํ๊ณ , ํ๊ฒฝ ๋ณ์๋ก Pod์ ์ฃผ์ ํ ์ ์์ต๋๋ค. ์ค์ต ์ฝ๋: GitHub (Configmap_and_Secret) ๐งญ ์ ์ฒด ํ๋ฆ ์์ฝ โ ConfigMap ์์ฑ (์ผ๋ฐ ์ค์ ๊ฐ) โก Secret ์์ฑ (๋ฏผ๊ฐ ์ ๋ณด โ base64 ์ธ์ฝ๋ฉ) โข Pod์ ํ๊ฒฝ ๋ณ์๋ก ์ฃผ์ โฃ ์ปจํ ์ด๋ ์์์ ๊ฐ ํ์ธ (env ๋ช ๋ น์ด) โค ์ค์ ์ ์ฉ ๋ฐ ๋ณด์ ์ฃผ์์ฌํญ ํ์ต ๐ ์ค์ต์ ์ฌ์ฉ๋ ํ์ผ ๊ตฌ์ฑ k8s-configmap-secret/ โโโ configmap.yaml # ์ผ๋ฐ ์ค์ ๊ฐ ์ ์ โโโ secret.yaml # ๋ฏผ๊ฐ ์ ๋ณด (base64 ์ธ์ฝ๋ฉ) โโโ pod-env.yaml # Pod ํ๊ฒฝ ๋ณ์๋ก ์ฃผ์ โโโ README.md ๐ ์ฃผ์ YAML ํ์ผ ์ ๋ฆฌ configmap.yaml apiVersion: v1 kind: ConfigMap metadata: name: app-config data: APP_MODE: "production" APP_PORT: "8080" secret.yaml apiVersion: v1 kind: Secret metadata: name: app-secret type: Opaque data: DB_PASSWORD: c3VwZXJzZWNyZXQ= # base64 โ "supersecret" ์ธ์ฝ๋ฉ ๋ฐฉ๋ฒ: echo -n "supersecret" | base64 ...