kubernetes_config_secret
Last updated
Last updated
์ฟ ๋ฒ๋คํฐ์ค์์๋ ์ค์ ์ต์ ์ ์ปจํผ๊ทธ๋งต์ด๋ผ ๋ถ๋ฅด๋ ๋ณ๋ ์ค๋ธ์ ํธ๋ก ๋ถ๋ฆฌํ ์ ์์ต๋๋ค. ์ปจํผ๊ทธ๋งต์ ์งง์ ๋ฌธ์์ด์์ ์ ์ฒด ์ค์ ํ์ผ์ ์ด๋ฅด๋ ๊ฐ์ ๊ฐ์ง๋ ํค/๊ฐ ์์ผ๋ก ๊ตฌ์ฑ๋ ๋งต์ ๋๋ค.
์ปจํ ์ด๋์์ ํ์ํ ํ๊ฒฝ์ค์ ๋ด์ฉ์ ์ปจํ ์ด๋์ ๋ถ๋ฆฌํด์ ์ ๊ณตํด ์ฃผ๊ธฐ ์ํ ๊ธฐ๋ฅ : ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ํคํ ์ฒ์์ ์ปจํ ์ด๋๋ ๋ณํ์ง ์๋ ์์
๋น๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฅผ ํค-๊ฐ ์์ผ๋ก ์ ์ฅํ๊ธฐ ์ํด ์ฌ์ฉํ๋ API ๊ฐ์ฒด
์ปจํ ์ด๋ ์ด๋ฏธ์ง์์ ์ค์ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฆฌ(decouple)์ํค๊ธฐ ์ํ ๊ฒ
์ปจํ ์ด๋ ์ด๋ฏธ์ง์์ ์ฌ์ฉํ๋ ํ๊ฒฝ๋ณ์์ ๊ฐ์ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ถ๋ฆฌํ๊ณ , ๊ทธ ํ๊ฒฝ๋ณ์์ ๋ํ ๊ฐ์ ์ธ๋ถ๋ก ๋ ธ์ถ ์ํค์ง ์๊ณ ๋ด๋ถ์ ์กด์ฌํ๋ ์คํ ๋ฆฌ์ง์ ์ ์ฅํด์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
์ปจํผ๊ทธ๋งต์ ์ฌ์ฉํ๋ฉด ์ปจํ ์ด๋ ์ด๋ฏธ์ง์์ ํด๋น ํ๊ฒฝ์ ๊ตญํ๋ ์ค์ ์ ๋ถ๋ฆฌ ๊ฐ๋ฅ : ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๋๋ก๋ ์ฝ๊ฒ ์ด์ ๊ฐ๋ฅ(portable)
ConfigMap์ ๋ณ๊ฒฝํ๋๋ผ๋ Running ์ํ์ Pod์ ๊ณง๋ฐ๋ก ์ ์ฉ๋์ง ์์ผ๋ฉฐ Pod์ ์ฌ๊ธฐ๋ ํด์ผ ํฉ๋๋ค.
์ปจํ ์ด๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ค์
์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ์ฟ ๋ฒ๋คํฐ์ค ๋ฆฌ์์ค๋ฅผ ์ปจํผ๊ทธ๋งต(ConfigMap)์ด๋ผ ํฉ๋๋ค. ์ปจํผ๊ทธ๋งต์ ์ฌ์ฉํด ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด ๋ค์ ๋ฐฉ๋ฒ์ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์ปจํ ์ด๋์ ๋ช ๋ น์ค ์ธ์ ์ ๋ฌ
๋ช ๋ น์ค์ธ์ (command-line arguemnt) - ์ฟ ๋ฒ๋คํฐ์ค๋ configmap ๊ฐ์ ๊ธฐ๋ฐ์ผ๋ก ์ปจํ ์ด๋์ ๋ํ ๋ช ๋ น์ค์ ๋์ ์ผ๋ก ์์ฑํ๋๋ก ์ง์ํฉ๋๋ค.
๊ฐ ์ปจํ ์ด๋๋ฅผ ์ํ ์ฌ์ฉ์ ์ ์ ํ๊ฒฝ๋ณ์ ์ง์
ํ๊ฒฝ๋ณ์ (environment variable) - configmap ์ ์ฌ์ฉํด ํ๊ฒฝ๋ณ์์ ๊ฐ์ ๋์ ์ผ๋ก ์ค์ ํฉ๋๋ค.
ํน์ํ ์ ํ์ ๋ณผ๋ฅจ์ ํตํด ์ค์ ํ์ผ์ ์ปจํ ์ด๋์ ๋ง์ดํธ
ํ์ผ ์์คํ (filesystem) - pod์ configmap์ ๋ง์ดํธํ ์ ์์ต๋๋ค. ํค ์ด๋ฆ์ ๋ฐ๋ผ ๊ฐ ํญ๋ชฉ์ ํ์ผ์ด ์์ฑ๋๋ฉฐ ํด๋น ํ์ผ์ ๋ด์ฉ์ ๊ฐ์ผ๋ก ์ค์ ๋ฉ๋๋ค.
์ปจํ ์ด๋์ ๋ช ๋ น์ค ์ธ์ ์ ๋ฌ
๋์ปค์์ ๋ช ๋ น์ด์ ์ธ์ ์ ์
Dockerfile์์ ๋ ๊ฐ์ ์ง์นจ
ENTRYPOINT๋ ์ปจํ ์ด๋๊ฐ ์์๋ ๋ ํธ์ถ๋ ๋ช ๋ น์ด๋ฅผ ์ ์ํจ
CMD๋ ENTRYPOINT์ ์ ๋ฌ๋๋ ์ธ์๋ฅผ ์ ์ํจ
ENTRYPOINT ๋ช ๋ น์ด๋ก ์คํํ๊ณ ๊ธฐ๋ณธ ์ธ์๋ฅผ ์ ์ํ๋ ค๋ ๊ฒฝ์ฐ์๋ง CMD๋ฅผ ์ง์ ํ๋ ๊ฒ
์ปจํผ๊ทธ๋งต ์์ฑ
๊ฐ๋ณ ํ์ผ, ๋๋ ํฐ๋ฆฌ ๋ฐ ๋ฆฌํฐ๋ด ๊ฐ์์ ConfigMap ๋ง๋ค๊ธฐ
์ํฌ๋ฆฟ์ผ๋ก ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์ปจํ ์ด๋์ ์ ๋ฌ
๋ณธ์ง์ ์ผ๋ก ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ ์ํฌ๋ฆฟ์ ์ฌ์ฉํด ํค ์๋์ ๋ณด๊ดํ๋ ๊ฒ์ด ํ์ํฉ๋๋ค. ๋ง์ฝ ์ค์ ํ์ผ์ด ๋ฏผ๊ฐํ ๋ฐ์ดํฐ์ ๊ทธ๋ ์ง ์์ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๊ฐ์ง๊ณ ์๋ค๋ฉด ํด๋น ํ์ผ์ ์ํฌ๋ฆฟ ์์ ์ ์ฅํด์ผ ํฉ๋๋ค. ๋ฏผ๊ฐํ์ง ์๊ณ , ์ผ๋ฐ ์ค์ ๋ฐ์ดํฐ๋ ์ปจํผ๊ทธ๋งต์ ์ฌ์ฉํฉ๋๋ค.
์ปจํผ๊ทธ๋งต๊ณผ ์ํฌ๋ฆฟ ๋น๊ต
์ํฌ๋ฆฟ ํญ๋ชฉ์ ๋ด์ฉ์ Base64 ์ธ์ฝ๋ฉ ๋ฌธ์์ด๋ก ํ์๋๊ณ , ์ปจํผ๊ทธ๋งต์ ๋ด์ฉ์ ์ผ๋ฐ ํ ์คํธ๋ก ํ์๋ฉ๋๋ค. ์ฒ์์๋ ๊ฐ ํญ๋ชฉ์ ์ค์ ํ๊ณ ์ฝ์ ๋๋ง๋ค ์ธ์ฝ๋ฉ๊ณผ ๋์ฝ๋ฉ์ ํด์ผ ํ๊ธฐ ๋๋ฌธ ์ํฌ๋ฆฟ ์์ ์๋ YAML๊ณผ JSON ๋งค๋ํ์คํธ๋ฅผ ๋ค๋ฃจ๋ ๊ฒ์ด ๊ณ ํต์ค๋ฝ์ต๋๋ค.
๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ ์ํฌ๋ฆฟ ์ฌ์ฉ
Base64 ์ธ์ฝ๋ฉ์ ์ฌ์ฉํ๋ ๊น๋ญ์ ์ํฌ๋ฆฟ ํญ๋ชฉ์ ์ผ๋ฐ ํ ์คํธ๋ฟ๋ง ์๋๋ผ ๋ฐ์ด๋๋ฆฌ ๊ฐ๋ ๋ด์ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. Base64 ์ธ์ฝ๋ฉ์ ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์ผ๋ฐ ํ ์คํธ ํ์์ธ YAML์ด๋ JSON ์์ ๋ฃ์ ์ ์์ต๋๋ค.
https://www.oreilly.com/library/view/kubernetes-in-action/9781617293726/
https://www.oreilly.com/library/view/cloud-native-devops/9781492040750/