๐Ÿณ ์ธํ”„๋ผ/Kubernetes

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—๋Š” ์„ค์ •์„ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด 2๊ฐ€์ง€ ์กด์žฌํ•œ๋‹ค. ConfigMap application.ymal์ด๋‚˜ .env์ฒ˜๋Ÿผ ๋ณ„๋„์˜ ํŒŒ์ผ์„ ๋ถ„๋ฆฌํ•ด์„œ ๊ด€๋ฆฌํ•˜์—ฌ ์œ ์ง€๋ณด์ˆ˜์™€ ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ๋ฅผ ์šฉ์ดํ•˜๊ฒŒ ํ•œ๋‹ค.์•ž์„œ ๋งํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์˜ค๋ธŒ์ ํŠธ๋“ค์ฒ˜๋Ÿผ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์—ญํ• ์„ ๊ฐ€์ง„ ์˜ค๋ธŒ์ ํŠธ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๋ถ„๋ฆฌ ์˜ค๋ธŒ์ ํŠธ 1. ConfigMap ๋งค๋‹ˆํŽ˜์ŠคํŠธ ํŒŒ์ผ ์ƒ์„ฑํ•˜๊ธฐ flask-config.yamlapiVersion: v1kind: ConfigMapmetadata: name: flask-config # ConfigMap ์ด๋ฆ„data: my-account: seongjju my-password: 1234flask-config.yaml ํŒŒ์ผ์€ ConfigMap์„ ์ƒ์„ฑ์—ฌ๊ธฐ์—์„œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•  my-accoun..
Flask๋กœ ๋งŒ๋“  ์›น์‚ฌ์ดํŠธ๋ฅผ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋กœ ๋„์–ด๋ณด์ž Flask ๋‚ด์šฉhttps://koreatstm.tistory.com/category/%F0%9F%90%BC%20%EB%B0%B1%EC%95%A4%EB%93%9C/Flask '๐Ÿผ ๋ฐฑ์•ค๋“œ/Flask' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก koreatstm.tistory.com ๋ฐฐํฌ Dockerfile# Base imageFROM python:3.9-slim# Set working directoryWORKDIR /app# Copy requirements and install dependenciesCOPY requirements.txt /app/RUN pip install --no-cache-dir -r requirements.txt# Copy Flask app codeCOPY..
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ๊ณผ ํ—ฌ์Šค์ฒดํฌ๋ฅผ ํ†ตํ•ด ์‹œ์Šคํ…œ์˜ ์•ˆ์ •์„ฑ์„ ์œ ์ง€ํ•˜๊ณ  ํŠธ๋ž˜ํ”ฝ์˜ ๋ถ„๋ฐฐ์™€ ํŒŒ๋“œ์˜ ์ƒํƒœ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•œ๋‹ค.์ด์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ์€ ์ฃผ๋กœ ์„œ๋น„์Šค๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง„๋‹ค.https://koreatstm.tistory.com/270#%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4%EC%97%90%EC%84%9C%20%EC%99%B8%EB%B6%80%20%ED%8A%B8%EB%9E%98%ED%94%BD%EC%9D%84%20%EB%82%B4%EB%B6%80%EB%A1%9C%20%EC%97%B0%EA%B2%B0%ED%95%98%EB%8A%94%203%EA%B0%80%EC%A7%80%20%EB%B0%A9%EB%B2%95-1 ์ฟ ๋ฒ„๋„คํ‹ฐ..
https://koreatstm.tistory.com/188 ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์•ž์„œ, ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜๊ณผ ๊ทธ์— ๊ด€๋ จํ•œ ๊ฐœ๋…๋“ค์„ ์•Œ์•„๋ณด์ž!! ๊ธฐ๋ณธ๊ฐœ๋… ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ๊ฐœ๋…: ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ์— ์š”์ฒญ์„ ๋ถ„์‚ฐ์‹œ์ผœ ๋ถ€ํ•˜๋ฅผ ๊ท ๋“ฑํ•˜๊ฒŒ ๋ฐฐ๋ถ„ํ•˜๋Š” ๊ฒƒ๋ฐฉ๋ฒ•: ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑkoreatstm.tistory.com์ €๋ฒˆ์— ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ดค๋‹ค. ์ด๋ฒˆ์—๋Š” ์„ธ๋ถ€์ ์ธ ๋‚ด์šฉ์„ ๋œฏ์–ด๋ณด๋„๋ก ํ•˜์ž ๋„คํŠธ์›Œํฌ ์—ฐ๊ฒฐ๋„์ปค๋Š” ์ปจํ…Œ์ด๋„ˆ ๋‚ด๋ถ€์™€ ์ปจํ…Œ์ด๋„ˆ ์™ธ๋ถ€์˜ ๋„คํŠธ์›Œํฌ๊ฐ€ ๋…๋ฆฝ์ ์ด๋‹ค.์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ํŒŒ๋“œ ๋‚ด๋ถ€์˜ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ณต์œ ํ•˜๊ธฐ์— ๊ฐ™์€ ํŒŒ๋“œ์˜ ์ปจํ…Œ์ด๋„ˆ๋Š” ๋™์ผ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ณต์œ ํ•œ๋‹ค.์ด๋•Œ, ์ค‘์š”ํ•œ ๊ฒƒ์€ ํŒŒ๋“œ์˜ ๋„คํŠธ์›Œํฌ์™€ ๋กœ์ปฌ ์ปดํ“จํ„ฐ์˜ ๋„คํŠธ์›Œํฌ๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ๋ถ„๋ฆฌ๋œ๋‹ค.๋”ฐ๋ผ์„œ, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋กœ ํŒŒ๋“œ์—์„œ ์ปจํ…Œ์ด๋„ˆ(์˜ˆ: flask)๋ฅผ ๋„์šฐ๊ณ  ์š”์ฒญ ํ–ˆ์„ ..
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์•Œ์•„๋ณด๊ธฐ ์•ž์„œ, ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜๊ณผ ๊ทธ์— ๊ด€๋ จํ•œ ๊ฐœ๋…๋“ค์„ ์•Œ์•„๋ณด์ž!! ๊ธฐ๋ณธ๊ฐœ๋… ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ๊ฐœ๋…: ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ์— ์š”์ฒญ์„ ๋ถ„์‚ฐ์‹œ์ผœ ๋ถ€ํ•˜๋ฅผ ๊ท ๋“ฑํ•˜๊ฒŒ ๋ฐฐ๋ถ„ํ•˜๋Š” ๊ฒƒ๋ฐฉ๋ฒ•: ๋กœ๋“œ๋ฐธ๋Ÿฐ์‹ฑ ์žฅ์น˜๊ฐ€ ์ปจํ…Œ์ด๋„ˆ ์•ž์— ๋ฐฐ์น˜๋œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ปจํ…Œ์ด๋„ˆ๋‹น ๋ถ€ํ•˜๋ฅผ ์ค„์ด๊ณ  ์ฒ˜๋ฆฌ ์‹œ๊ฐ„ ๋‹จ์ถ• ๊ฐ€๋Šฅํ—ฌ์Šค ์ฒดํฌ๊ฐœ๋…: ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์‹คํ–‰ ์ค‘์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋ฐฉ๋ฒ•: ์ปจํ…Œ์ด๋„ˆ์— ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•˜๋Š”์ง€ ํ™•์ธ. ๋งŒ์•ฝ ์‘๋‹ต์ด ๋ฐ˜ํ™˜๋˜์ง€ ์•Š์œผ๋ฉด ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๊ณ  ์—ฌ๊ธฐ๊ณ , ํ•ด๋‹น ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜์—ฌ ์‹œ์Šคํ…œ์ด ์ •์ƒ์ ์œผ๋กœ ๊ฐ€๋™๋˜๋Š” ์‹œ๊ฐ„์„ ๋Š˜๋ฆฐ๋‹ค. (= ๊ฐ€์šฉ์„ฑ์„ ์œ ์ง€ํ•œ๋‹ค.)์Šค์ผ€์ผ๋ง๊ฐœ๋…: ์š”์ฒญ ๊ทœ๋ชจ์— ๋”ฐ๋ผ ์ปจํ…Œ์ด๋„ˆ ์ˆ˜๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๊ฒƒ๋ฐฉ๋ฒ•:์ž„๊ณ„๊ฐ’์— ๋”ฐ๋ผ ๋ฆฌ์†Œ์Šค๋ฅผ ์ž๋™์œผ๋กœ ๋Š˜๋ฆฌ๊ฑฐ๋‚˜ ์ค„์—ฌ ์„ฑ๋Šฅ๊ณผ ํšจ์œจ์„ฑ์„ ์œ ์ง€์ˆ˜์ง์  ์Šค..
์ƒ๋‹จ์œผ๋กœ