์ด ๊ณ์ฐ๊ธฐ๋ ๋ฌด์์ ํ๋์
์ฟ ๋ฒ๋คํฐ์ค Podยท์ปจํ ์ด๋ ๋น์ฉ ๊ณ์ฐ๊ธฐ๋ ๊ฐ Pod๊ฐ ์์ฒญ(request)ํ๋ CPUยท๋ฉ๋ชจ๋ฆฌ ์์๊ณผ ์คํ ์ค์ธ ๋ ํ๋ฆฌ์นด ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ํฌ๋ก๋์ ํด๋ผ์ฐ๋ ์ด์ ๋น์ฉ์ ์ถ์ ํฉ๋๋ค. ํด๋ผ์ฐ๋ ์ฌ์ ์๋ ๊ฒฐ๊ตญ ์ปดํจํ (vCPU)๊ณผ ๋ฉ๋ชจ๋ฆฌ์ ๋ํด ๊ณผ๊ธํ๋ฏ๋ก, ์ด ๋ ์์์ ์๊ฐ๋น ๋จ๊ฐ๋ง ์๋ฉด ์ด๋ค ๋งค๋์ง๋ ์ฟ ๋ฒ๋คํฐ์ค ์๋น์ค๋ฅผ ์ฐ๋ ์๊ด์์ด ๋ํ๋ก์ด๋จผํธ์ ์ค์ ๋น์ฉ์ ๊ฐ๋ ํ ์ ์์ต๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ
Pod ํ๋๊ฐ ์์ฒญํ๋ vCPU์ ๋ฉ๋ชจ๋ฆฌ(GB), vCPU๋นยท๋ฉ๋ชจ๋ฆฌ GB๋น ์๊ฐ ๋จ๊ฐ, ๊ทธ๋ฆฌ๊ณ ๋ํ๋ก์ด๋จผํธ๊ฐ ๋๋ฆฌ๋ ๋ ํ๋ฆฌ์นด ์๋ฅผ ์ ๋ ฅํ์ธ์. ๊ณ์ฐ๊ธฐ๋ ์๊ฐ๋น ํฉ์ฐ ์์ ๋น์ฉ์ 730(ํ ๋ฌ ํ๊ท ์๊ฐ)๊ณผ ๋ ํ๋ฆฌ์นด ์๋ฅผ ๊ณฑํด ์๊ฐ ์ถ์ ์น๋ฅผ ์ฐ์ถํ๊ณ , ํจ๊ป ์๊ฐยท์ผยท์ฐ ๋จ์ ๋น์ฉ๋ ๋ณด์ฌ์ค๋๋ค.
๊ณ์ฐ ๊ณต์ ์ดํด๋ณด๊ธฐ
ํต์ฌ ๊ณต์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$\text{์๊ฐ ๋น์ฉ} = \left( \text{vCPU} \times \text{CPU ๋จ๊ฐ} + \text{๋ฉ๋ชจ๋ฆฌ} \times \text{๋ฉ๋ชจ๋ฆฌ ๋จ๊ฐ} \right) \times 730 \times \text{๋ ํ๋ฆฌ์นด ์}$$์ฌ๊ธฐ์ 730์ \(365 \times 24 \div 12 \approx 730\)์๊ฐ์์ ๋์จ ๊ฐ์ ๋๋ค. ๋ ธ๋ ์ ์ฒด ๊ฐ๊ฒฉ์ด ์๋๋ผ ์์ ๋จ์ ๋จ๊ฐ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์์ OpenCost๋ Kubecost ๊ฐ์ ๋๊ตฌ๊ฐ ์ฐ๋ Pod ๋จ์ ๋น์ฉ ๋ชจ๋ธ์ ๊ทธ๋๋ก ๋ฐ์ํฉ๋๋ค.
๊ณ์ฐ ์์
์ด๋ค Pod๊ฐ 0.5 vCPU์ 1 GB ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ฒญํ๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค. vCPU ๋จ๊ฐ๋ ์๊ฐ๋น $0.0405, ๋ฉ๋ชจ๋ฆฌ๋ GB-์๊ฐ๋น $0.00445์ด๊ณ ๋ ํ๋ฆฌ์นด๋ 3๊ฐ์ ๋๋ค. Pod 1๊ฐ์ ์๊ฐ๋น ๋น์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$0.5 \times 0.0405 + 1 \times 0.00445 = \$0.024700$$Pod 1๊ฐ์ ์๊ฐ ๋น์ฉ์
$$0.0247 \times 730 = \$18.031$$์ด๋ฉฐ, ๋ ํ๋ฆฌ์นด 3๊ฐ ๊ธฐ์ค ์๊ฐ ๋น์ฉ์ \(\$54.093\)์ด ๋ฉ๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
vCPUยท๋ฉ๋ชจ๋ฆฌ ๋จ๊ฐ๋ ์ด๋์ ํ์ธํ๋์? ๋ ธ๋์ ์๊ฐ๋น ๊ฐ๊ฒฉ์ ํด๋น ๋ ธ๋์ ํ ๋น ๊ฐ๋ฅ(allocatable) vCPUยท๋ฉ๋ชจ๋ฆฌ๋ก ๋๋๊ฑฐ๋, Autopilotยท์๋ฒ๋ฆฌ์ค ๋ชจ๋๋ผ๋ฉด ์ฌ์ ์๊ฐ ์ ๊ณตํ๋ ์์๋ณ ๋จ๊ฐ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
requests๋ฅผ ์จ์ผ ํ๋์, limits๋ฅผ ์จ์ผ ํ๋์? ์์ requests๋ฅผ ์ฌ์ฉํ์ธ์. ์ค์ผ์ค๋ฌ๊ฐ ์ค์ ๋ก ์์ฝํ๋ ๊ฐ์ด์ ๋๋ถ๋ถ์ ๋น์ฉ ๋ถ์ ๋๊ตฌ๊ฐ ๊ณผ๊ธ ๊ธฐ์ค์ผ๋ก ์ผ๋ ๊ฐ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ 730์๊ฐ์ธ๊ฐ์? ํด๋ผ์ฐ๋ ๊ณผ๊ธ์์ ํ ๋ฌ์ ํ๊ท ๋ผ ๋ ์ฐ๋ ํ์ค๊ฐ(\(365 \times 24 \div 12\))์ผ๋ก, ์ด ๊ฐ์ ์จ์ผ ์ถ์ ์น๊ฐ ์ค์ ์ฒญ๊ตฌ์์ ์ ๋ง์ต๋๋ค.