[k8s] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ StatefulSet, Ingress, Autoscaler

[k8s] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ StatefulSet, Ingress, Autoscaler

StatefulSetStateless Application: Web Server๊ฐ€ ์—ฌ๊ธฐ ํ•ด๋‹น๋œ๋‹ค. (APACHE HTTP Server, Nginx, IIS app์ด ์—ฌ๋Ÿฌ๊ฐœ ๋ฐฐํฌ๋˜๋”๋ผ๋„ ๋ชจ๋‘ ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ ๊ทธ๋ž˜์„œ app์ด ์ฃฝ์œผ๋ฉด ๋‹จ์ˆœํžˆ ๋™์ผํ•œ app์„ ํ•˜๋‚˜ ๋” ๋งŒ๋“ค๋ฉด ๋œ๋‹ค. ๋ฐ˜๋“œ์‹œ ๋ณผ๋ฅจ์ด ํ•„์š”ํ•˜์ง„ ์•Š์Œ. ๋งŒ์•ฝ app์˜ ๋กœ๊ทธ๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ์ €์žฅํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ๊ฐ๊ฐ์˜ ๋ณผ๋ฅจ์ด ์•„๋‹Œ ๋‹จ์ผ ๋ณผ๋ฅจ์œผ๋กœ ์ถฉ๋ถ„ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ. ๋“ค์–ด์˜ค๋Š” ํŠธ๋ž˜ํ”ฝ์„ ์—ฌ๋Ÿฌ ์•ฑ์— ๋™์ผํ•˜๊ฒŒ ๋ถ„์‚ฐ์‹œ์ผœ์•ผ ํ•จ. (๋„คํŠธ์›Œํฌ์˜ ์—ฐ๊ฒฐ์€ ๋‹จ์ˆœ ๋ถ„์‚ฐ ์šฉ๋„) ์ฆ‰, ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ReplicaSet์— ํ•ด๋‹นํ•จ   Stateful Application:Database ๋“ฑ์ด ์—ฌ๊ธฐ ํ•ด๋‹น๋œ๋‹ค. (mongoDB, MariaDB, redis app์ด ์—ฌ๋Ÿฌ๊ฐœ ๋ฐฐํฌ๋˜๋”๋ผ๋„ ๊ฐ๊ฐ์˜..

  • textsms
[k8s] Dynamic Provisioning์„ ํ†ตํ•ด ์Šคํ† ๋ฆฌ์ง€ ๋ฆฌ์†Œ์Šค ์ž๋™์œผ๋กœ ํ• ๋‹น๋ฐ›๊ธฐ

[k8s] Dynamic Provisioning์„ ํ†ตํ•ด ์Šคํ† ๋ฆฌ์ง€ ๋ฆฌ์†Œ์Šค ์ž๋™์œผ๋กœ ํ• ๋‹น๋ฐ›๊ธฐ

ํ”„๋กœ๋น„์ €๋‹(provisioning)์ด๋ž€?์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ํ”„๋กœ๋น„์ €๋‹์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ €์žฅ์†Œ์™€ ๊ด€๋ จํ•˜์—ฌ ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๋‚˜ ์„œ๋น„์Šค์˜ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ €์žฅ์†Œ ์ž์›์„ ํ• ๋‹นํ•˜๊ณ  ๊ตฌ์„ฑํ•˜๋Š” ๊ณผ์ •์„ ์˜๋ฏธํ•œ๋‹ค.  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—” 2๊ฐ€์ง€ ์œ ํ˜•์˜ ํ”„๋กœ๋น„์ €๋‹์ด ์žˆ๋‹ค.   1. ์ •์  ํ”„๋กœ๋น„์ €๋‹์ •์  ํ”„๋กœ๋น„์ €๋‹์—์„œ๋Š” ํด๋Ÿฌ์Šคํ„ฐ ๊ด€๋ฆฌ์ž๊ฐ€ ์ˆ˜๋™์œผ๋กœ Persistent Volume(PV)์„ ์ƒ์„ฑํ•˜๋ฉฐ, ํ•ด๋‹น PV์˜ ์šฉ๋Ÿ‰, ์•ก์„ธ์Šค ๋ชจ๋“œ ๋ฐ ์ €์žฅ์†Œ ์œ ํ˜•๊ณผ ๊ฐ™์€ ํ•˜์œ„ ์ €์žฅ์†Œ์˜ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ง€์ •ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ PV๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ƒ์„ฑํ•˜๋Š” Persistent Volume Claim(PVC)์—์„œ ์š”์ฒญ๋  ์ˆ˜ ์žˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ PVC๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ํ•ด๋‹น PVC์˜ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ์ผ์น˜ํ•˜๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ PV์— ๋ฐ”์ธ๋”ฉํ•œ๋‹ค.   2. ๋™์  ํ”„๋กœ๋น„์ €๋‹..

  • textsms
[k8s] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค Service (Headless / EndPoint / ExternalName)

[k8s] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค Service (Headless / EndPoint / ExternalName)

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ ์•ˆ์—๋Š” DNS Server๊ฐ€ ๋ณ„๋„๋กœ ์กด์žฌํ•œ๋‹ค. DNS Server์—๋Š” Service์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„๊ณผ IP๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— Pod๊ฐ€ Service1์˜ ๋„๋ฉ”์ธ์„ ์งˆ์˜ํ•˜๋ฉด ip๋ฅผ ์•Œ๋ ค์ค€๋‹ค.  ๋งŒ์•ฝ Pod๊ฐ€ User1์„ ์งˆ์˜ํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ??  ๋‚ด๋ถ€๋ง์—๋„ DNS์„œ๋ฒ„ ๊ตฌ์ถ•๋˜์–ด ์žˆ์„ ๊ฒƒ์ด๊ณ  ๋‚ด๋ถ€ ์„œ๋ฒ„๋“ค์ด ์ƒ๊ฒผ์„ ๋•Œ ํ•ด๋‹น ์ด๋ฆ„๋“ค์ด DNS์— ๋“ฑ๋ก๋œ๋‹ค. Pod๊ฐ€ User1์„ ์ฐพ์•˜์„ ๋•Œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ์ž์‹ ์˜ DNS Server์— User1์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ƒ์œ„ DNS Server์—์„œ ์ด๋ฆ„์„ ์ฐพ๊ฒŒ ๋˜๊ณ  ip๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์™ธ๋ถ€ ๋„คํŠธ์›Œํฌ๋„ ๊ฐ™์€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ ๋™์ž‘ํ•œ๋‹ค.    Headless์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด Pod๊ฐ€ Pod1์— ์ ‘๊ทผํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•  ์ˆ˜ ์žˆ์„๊นŒ? headless๋ฅผ ์ด์šฉํ•˜๋ฉด..

  • textsms
[k8s] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ Pod (Lifecycle, Readiness/Liveness ํ”„๋กœ๋ธŒ, QoS ํด๋ž˜์Šค, Node Scheduling)

[k8s] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ Pod (Lifecycle, Readiness/Liveness ํ”„๋กœ๋ธŒ, QoS ํด๋ž˜์Šค, Node Scheduling)

1. Pod์˜ LifeCycle1) Pending ๋‹จ๊ณ„์ œ์ผ ๋จผ์ € Pod๊ฐ€ Node์— ์ •์ƒ์ ์œผ๋กœ ํ• ๋‹น๋˜๋ฉด PodScheduled๊ฐ€ True๊ฐ€ ๋œ๋‹ค. ์Šค์ผ€์ค„๋ง ๋˜๋Š” ๋ฐฉ์‹์€ ์ง์ ‘ ํ• ๋‹น & ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๊ฐ€ ์ž์› ์ƒํ™ฉ์— ๋”ฐ๋ผ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ์‹์ด ์žˆ๋‹ค.  ์ดํ›„์— container๊ฐ€ ์‹คํ–‰๋˜๊ธฐ์ „์— ์ดˆ๊ธฐํ™” ์‹œ์ผœ์•ผํ•  ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด ์‹คํ–‰๋˜๋Š” InitContainer๊ฐ€ ์‹คํ–‰(๋ณผ๋ฅจ/๋ณด์•ˆ)๋˜๊ณ  Initialized๊ฐ€ True๊ฐ€ ๋œ๋‹ค. Initํ•  ๋‚ด์šฉ์€ Pod์˜ yml์ •์˜ spec์— initContainers๋ผ๋Š” ํ•ญ๋ชฉ์—์„œ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋‹ค.  ์ดํ›„ container์˜ ์ด๋ฏธ์ง€๋ฅผ ๋‹ค์šด๋กœ๋“œํ•œ๋‹ค. ์œ„ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ container์˜ status๋Š” waiting์ด๊ณ , reason์€ container creating์ด๋‹ค.  2) RunningP..

  • textsms
[k8s] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ปจํŠธ๋กค๋Ÿฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

[k8s] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์ปจํŠธ๋กค๋Ÿฌ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž

๊ฐœ์š”์ด์ „์— ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ์˜ค๋ธŒ์ ํŠธ์— ๋Œ€ํ•ด ํ•™์Šตํ–ˆ์—ˆ๋‹ค.์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ํฌ๊ฒŒ ์˜ค๋ธŒ์ ํŠธ์™€ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ๋กœ ๋‚˜๋‰œ๋‹ค๊ณ  ํ–ˆ์—ˆ๋Š”๋ฐ ์ด๋ฒˆ์—” ์ปจํŠธ๋กค๋Ÿฌ์— ๋Œ€ํ•ด ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค. https://dgjinsu.tistory.com/68 [k8s] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ๊ธฐ๋ณธ ์˜ค๋ธŒ์ ํŠธ (Pod, Service, Volume, Namespace)์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ํฌ๊ฒŒ ์˜ค๋ธŒ์ ํŠธ(object)์™€ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ(controller)๋กœ ๋‚˜๋ˆ ์ ธ ์žˆ๋‹ค.์˜ค๋ธŒ์ ํŠธ์—” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๊ณ  ๊ฐ๊ฐ์˜ ์˜ค๋ธŒ์ ํŠธ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.    ์ฟ dgjinsu.tistory.com       ์ปจํŠธ๋กค๋Ÿฌ๋ž€?์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์›ํ•˜๋Š” ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•œ ์ค‘์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ์ด๋‹ค. ํ˜„์žฌ ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ƒํƒœ๋ฅผ ์ง€..

  • textsms
[k8s] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ๊ธฐ๋ณธ ์˜ค๋ธŒ์ ํŠธ (Pod, Service, Volume, Namespace)

[k8s] ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ๊ธฐ๋ณธ ์˜ค๋ธŒ์ ํŠธ (Pod, Service, Volume, Namespace)

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ํฌ๊ฒŒ ์˜ค๋ธŒ์ ํŠธ(object)์™€ ์˜ค๋ธŒ์ ํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ(controller)๋กœ ๋‚˜๋ˆ ์ ธ ์žˆ๋‹ค.์˜ค๋ธŒ์ ํŠธ์—” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๊ณ  ๊ฐ๊ฐ์˜ ์˜ค๋ธŒ์ ํŠธ์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋ณด์•˜๋‹ค.    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์˜ค๋ธŒ์ ํŠธ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์˜ค๋ธŒ์ ํŠธ๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์‹œ์Šคํ…œ์—์„œ ์˜์†์„ฑ์„ ๊ฐ€์ง€๋Š” ์˜ค๋ธŒ์ ํŠธ์ด๋‹ค. ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ฒŒ ๋˜๋ฉด ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์‹œ์Šคํ…œ์€ ์›ํ•˜๋Š” ์ƒํƒœ๋ฅผ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ง€์†์ ์œผ๋กœ ์ž‘๋™ํ•œ๋‹ค. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋Š” ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋‚ด๊ธฐ ์œ„ํ•ด ์ด ์˜ค๋ธŒ์ ํŠธ๋ฅผ ์ด์šฉํ•œ๋‹ค. ๊ฑฐ์˜ ๋ชจ๋“  ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์˜ค๋ธŒ์ ํŠธ๋Š” ์˜ค๋ธŒ์ ํŠธ ๊ตฌ์„ฑ์„ ๊ฒฐ์ •ํ•ด์ฃผ๋Š” ๋‘ ๊ฐœ์˜ ์ค‘์ ‘๋œ ์˜ค๋ธŒ์ ํŠธ ํ•„๋“œ์ธ status์™€ spec๋ฅผ ํฌํ•จํ•œ๋‹ค. status : ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์‹œ์Šคํ…œ๊ณผ ์ปดํฌ๋„ŒํŠธ์— ์˜ํ•ด ์ œ๊ณต๋˜๊ณ  ์—…๋ฐ์ดํŠธ๋œ ์˜ค๋ธŒ์ ํŠธ์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ์„ค๋ช… spec : ์˜ค๋ธŒ์ ํŠธ์˜ ํŠน์„ฑ์œผ๋กœ ์ถ”..

  • textsms