Kubernetes

๐Ÿ”ญKubernetes v1.31 ๋ฆด๋ฆฌ์ฆˆ! - ์ฃผ์š” ์—…๋ฐ์ดํŠธ ์†Œ๊ฐœ

Kubernetes v1.31์˜ ์ฃผ์š” ์—…๋ฐ์ดํŠธ ๋‚ด์šฉ์„ ๊ณต์œ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

2024.09.02 | ์กฐํšŒ 149 |
0
|

DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€

DevOps, ํด๋ผ์šฐ๋“œ, IT ๊ธฐ์ˆ  ๊ด€๋ จ ์ตœ์‹  ์†Œ์‹๊ณผ ์ •๋ณด๋ฅผ ์ •๋ฆฌํ•ด์„œ ์ฃผ 1ํšŒ ์ด๋ฉ”์ผ๋กœ ์ „ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค๐Ÿ˜บ

์•ˆ๋…•ํ•˜์„ธ์š” ๊ตฌ๋…์ž๋‹˜, DevOps ์†Œ์‹๊ณผ ๊ธฐ์ˆ  ์ง€์‹์„ ์ •๋ฆฌํ•ด์„œ ๊ณต์œ ํ•ด๋“œ๋ฆฌ๋Š” DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€์ž…๋‹ˆ๋‹ค.

์ง€๋‚œ 8์›”์— Kubernetes v1.31์ด ๋ฆด๋ฆฌ์ฆˆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๋„ค์ž„์€ Elli์ธ๋ฐ์š”.

Kubernetes 10์ฃผ๋…„ ์ดํ›„ ์ฒ˜์Œ ๋ฆด๋ฆฌ์ฆˆ๋˜๋Š” ์ด๋ฒˆ ๋ฒ„์ „์—์„œ๋„ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์ด ์•ˆ์ •ํ™”๋˜๊ณ  ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋„ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Kubernetes v1.31์˜ ๋กœ๊ณ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆผ์— ๋‚˜์˜ค๋Š” ๊ฐ•์•„์ง€์˜ ์ด๋ฆ„์ด Elli๋ผ๊ณ  ํ•˜๋„ค์š”. 
Kubernetes v1.31์˜ ๋กœ๊ณ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆผ์— ๋‚˜์˜ค๋Š” ๊ฐ•์•„์ง€์˜ ์ด๋ฆ„์ด Elli๋ผ๊ณ  ํ•˜๋„ค์š”. 

๊ทธ์ค‘ ์•„๋ž˜ ์ฃผ์š” ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•ด๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

  • AppArmor ์ง€์› ๊ธฐ๋Šฅ Stable ๋‹จ๊ณ„๋กœ ์ƒํ–ฅ
  • PersistentVolume์˜ lastTransitionTime Stable ๋‹จ๊ณ„๋กœ ์ƒํ–ฅ
  • ์ด๋ฏธ์ง€ ๋ณผ๋ฅจ ์ง€์› ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (Alpha ๋‹จ๊ณ„)

 

๐Ÿ›ก๏ธAppArmor ์ง€์› ๊ธฐ๋Šฅ Stable ๋‹จ๊ณ„๋กœ ์ƒํ–ฅ

AppArmor๋Š” ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋„คํŠธ์›Œํฌ๋‚˜ ํŒŒ์ผ ๋“ฑ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ์ œํ•œํ•˜๋Š” ๋ณด์•ˆ ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค. Ubuntu๋‚˜ SUSE ๋“ฑ ๋งŽ์€ ๋ฆฌ๋ˆ…์Šค ๋ฐฐํฌํŒ์—์„œ AppArmor๊ฐ€ ๊ธฐ๋ณธ์œผ๋กœ ์ ์šฉ๋˜์–ด ์žˆ๋Š”๋ฐ์š”.

ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋ˆ„๊ตฐ๊ฐ€ ์•…์˜์ ์œผ๋กœ ์นจํˆฌํ•ด์„œ ๋™์ž‘ ์ค‘์ธ ๋ฆฌ๋ˆ…์Šค ํ˜ธ์ŠคํŠธ๋กœ ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์„ ๋ง‰๊ธฐ ์œ„ํ•ด AppArmor๊ฐ€ ์‚ฌ์šฉ๋˜๋Š” ๊ฑฐ์ฃ .

AppArmor๋Š” ํ˜ธ์ŠคํŠธ ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค.
AppArmor๋Š” ํ˜ธ์ŠคํŠธ ๋ฆฌ๋ˆ…์Šค ์„œ๋ฒ„๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“ˆ์ž…๋‹ˆ๋‹ค.

AppArmor์˜ ๋ณดํ˜ธ ๋Œ€์ƒ์œผ๋กœ์„œ ์ ‘๊ทผ์ด ์ œํ•œ๋˜๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์ •์˜ํ•œ ๊ฒƒ์„ Profile์ด๋ผ๊ณ  ํ•˜๋Š”๋ฐ์š”. ๋ฆฌ๋ˆ…์Šค ํ˜ธ์ŠคํŠธ์—๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ Profile์„ ์ •์˜ํ•ด์„œ ๊ด€๋ฆฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ „๋ถ€ํ„ฐ AppArmor์˜ Profile์„ Kubernetes ์ƒ์—์„œ ๋ฐฐํฌ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋„ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก securityContext์˜ appArmorProfile ํ•„๋“œ๋ฅผ ์ง€์›ํ•˜๊ณ  ์žˆ์—ˆ๋Š”๋ฐ์š”.

๊ทธ๋™์•ˆ Beta ๋‹จ๊ณ„์˜€๋˜ AppArmor ์ง€์› ๊ธฐ๋Šฅ์ด ์ด๋ฒˆ Kubernetes 1.31 ๋ฒ„์ „ ๋ฆด๋ฆฌ์ฆˆ๋ถ€ํ„ฐ Stable ๋‹จ๊ณ„๋กœ ์ƒํ–ฅ๋˜์—ˆ๊ณ , ์ด์ œ Kubernetes์—์„œ AppArmor๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ์ง€์›ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์— ๋ฐฐํฌํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ˜ธ์ŠคํŠธ ๋ฆฌ์†Œ์Šค ์ ‘๊ทผ์„ ์ œํ•œํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด AppArmor๋ฅผ ๊ณ ๋ คํ•ด๋ณด๋Š” ๊ฑด ์–ด๋– ์‹ ๊ฐ€์š”?

 

โฑ๏ธPersistentVolume์˜ lastTransitionTime ๊ธฐ๋Šฅ Stable ๋‹จ๊ณ„๋กœ ์ƒํ–ฅ

Persistent Volume(PV)์€ Pod์—์„œ ๋กœ์ปฌ์ด๋‚˜ ์™ธ๋ถ€ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๋ถ€๋ถ„์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“ค์–ด์ง„ Kubernetes ๋ฆฌ์†Œ์Šค์ž…๋‹ˆ๋‹ค. PV๋Š” ์•„๋ž˜ 3๊ฐ€์ง€ ์ค‘ ํ•˜๋‚˜์˜ ์ƒํƒœ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

  • Pending: PV์™€ Pod๊ฐ€ ์—ฐ๋™๋˜๊ธฐ ์œ„ํ•ด ์ค€๋น„ํ•˜๋Š” ์ƒํƒœ
  • Bound: PV์™€ Pod๊ฐ€ ์—ฐ๋™๋œ ์ƒํƒœ
  • Released: Pod๊ฐ€ ์ข…๋ฃŒ๋˜๊ฑฐ๋‚˜ ๊ธฐํƒ€ ์ด์œ ๋กœ PV๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„ Pod์™€ PV๊ฐ„์˜ ์—ฐ๋™์ด ๋Š์–ด์ง„ ์ƒํƒœ
PV๋Š” Pod์™€์˜ ์—ฐ๋™๊ณผ ๊ด€๋ จํ•˜์—ฌ 3๊ฐ€์ง€ ์ƒํƒœ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
PV๋Š” Pod์™€์˜ ์—ฐ๋™๊ณผ ๊ด€๋ จํ•˜์—ฌ 3๊ฐ€์ง€ ์ƒํƒœ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Kubernetes v1.28๋ถ€ํ„ฐ ์ด๋Ÿฐ PV์˜ ์ƒํƒœ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ์‹œ์ ์„ ๊ธฐ๋กํ•˜๋Š” lastTransitionTime ํ•„๋“œ๊ฐ€ ๋„์ž…๋˜์—ˆ๋Š”๋ฐ์š”. lastTransitionTime ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด PV๊ฐ€ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•  ๋•Œ๋งˆ๋‹ค ์—…๋ฐ์ดํŠธ๋˜์–ด PV์˜ ์ตœ๊ทผ ์ƒํƒœ ๋ณ€๊ฒฝ ์‹œ์ ์„ ์•Œ ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ์•„๋ž˜์™€ ๊ฐ™์ด ํ™œ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  • Retention(๋ฐ์ดํ„ฐ ๋ณด์กด ๋ฐ ์‚ญ์ œ) ์ •์ฑ… ๊ตฌํ˜„
    • ์˜ˆ: ํŠน์ • ๊ธฐ๊ฐ„ ๋™์•ˆ ๊ณ„์† Released ์ƒํƒœ์ธ PV ์‚ญ์ œ
  • ์Šคํ† ๋ฆฌ์ง€์˜ Health ๋ชจ๋‹ˆํ„ฐ๋ง
    • ์˜ˆ: ๋น„์ •์ƒ์ ์œผ๋กœ ๊ธด ์‹œ๊ฐ„ ๋™์•ˆ Pending ์ƒํƒœ์ธ PV ๊ฐ์ง€ ๋ฐ ์กฐ์น˜

๋งŒ์•ฝ PV ๊ด€๋ฆฌ์™€ ๊ด€๋ จ๋œ ์ •์ฑ…์ด๋‚˜ ๋ชจ๋‹ˆํ„ฐ๋ง์ด ํ•„์š”ํ•˜๋‹ค๋ฉด PV์˜ lastTransitionTime ํ•„๋“œ๊ฐ€ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๐Ÿ’ฟ์ด๋ฏธ์ง€ ๋ณผ๋ฅจ ์ง€์› ๊ธฐ๋Šฅ ์ถ”๊ฐ€ (Alpha ๋‹จ๊ณ„)

v1.31 ๋ฒ„์ „๋ถ€ํ„ฐ Alpha ๋‹จ๊ณ„๋กœ ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ๊ธฐ๋Šฅ๋„ ๋‹ค์–‘ํ•œ๋ฐ์š”. ๊ทธ ์ค‘ ์ด๋ฒˆ์— ์†Œ๊ฐœ๋“œ๋ฆด ๊ธฐ๋Šฅ์€ ์ด๋ฏธ์ง€ ๋ณผ๋ฅจ ์ง€์› ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

์ด๋ฏธ์ง€ ๋ณผ๋ฅจ ์ง€์› ๊ธฐ๋Šฅ์ด๋ž€, Pod๊ฐ€ PV๋กœ ์ผ๋ฐ˜์ ์ธ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ Container Image๋ฅผ ๋ณผ๋ฅจ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ Pod๊ฐ€ Container Image๋„ ๋ณผ๋ฅจ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
์ด์ œ Pod๊ฐ€ Container Image๋„ ๋ณผ๋ฅจ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์€ ํŠนํžˆ ์ธ๊ณต์ง€๋Šฅ ๊ฐœ๋ฐœ ๋ถ„์•ผ์—์„œ ํ™œ์šฉ๋  ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€๋œ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ์š”. ์ธ๊ณต์ง€๋Šฅ ๋ชจ๋ธ ์„œ๋ฒ„ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋ชจ๋ธ Weight๊ฐ€ ๋‹ด๊ธด ์ด๋ฏธ์ง€๋ฅผ ๋ณผ๋ฅจ ๋งˆ์šดํŠธํ•œ๋‹ค๋ฉด, ์ธ๊ณต์ง€๋Šฅ ๋ชจ๋ธ์„ ์„œ๋น„์Šคํ•˜๋Š” ์ด๋ฏธ์ง€์™€ ๋ชจ๋ธ์ด ์ €์žฅ๋œ ์ด๋ฏธ์ง€๋ฅผ ๋ถ„๋ฆฌํ•ด์„œ ์šด์šฉํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์ ์ธ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅํ•  ๊ฒƒ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ ์™ธ์—๋„ ์—ฌ๋Ÿฌ ์ปจํ…Œ์ด๋„ˆ์— ๊ณต์šฉ์œผ๋กœ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ธด ์ด๋ฏธ์ง€๋ฅผ ๋ณผ๋ฅจ์œผ๋กœ ๋งˆ์šดํŠธํ•ด์„œ ๋ณด์•ˆ ์‚ฌ๊ณ  ๊ฐ€๋Šฅ์„ฑ๊ณผ ์ „์ฒด์ ์ธ ์ด๋ฏธ์ง€ ํฌ๊ธฐ๋ฅผ ํ•จ๊ป˜ ์ค„์ด๋Š” ๋“ฑ, ๋‹ค์–‘ํ•˜๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์œผ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค.

 

๐Ÿ”ญ๋งˆ์น˜๋ฉฐ...

์ด๋ฒˆ ์†Œ์‹์ง€์—์„  ์ตœ๊ทผ Kubernetes v1.31 ๋ฆด๋ฆฌ์ฆˆ์˜ ์ฃผ์š” ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•ด ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค.

ํ˜น์‹œ ์ด๋ฒˆ ๋‚ด์šฉ ๊ด€๋ จํ•ด์„œ ๋” ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด ์•„๋ž˜ ๋ฉ”์ผ๋ฆฌ ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.๐Ÿ˜€

๊ทธ๋Ÿผ, ๋‹ค์Œ ์†Œ์‹์ง€์—์„œ ๋ณด๋‹ค ์•Œ์ฐจ๊ณ  ํฅ๋ฏธ๋กœ์šด ๋‚ด์šฉ์œผ๋กœ ์ฐพ์•„๋ต™๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜๋„ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค, ๊ตฌ๋…์ž๋‹˜ ๐Ÿ˜บ

 

๐Ÿ”—References

 

 

๋‹ค๊ฐ€์˜ฌ ๋‰ด์Šค๋ ˆํ„ฐ๊ฐ€ ๊ถ๊ธˆํ•˜์‹ ๊ฐ€์š”?

์ง€๊ธˆ ๊ตฌ๋…ํ•ด์„œ ์ƒˆ๋กœ์šด ๋ ˆํ„ฐ๋ฅผ ๋ฐ›์•„๋ณด์„ธ์š”

์ด๋ฒˆ ๋‰ด์Šค๋ ˆํ„ฐ ์–ด๋– ์…จ๋‚˜์š”?

DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€ ๋‹˜์—๊ฒŒ โ˜•๏ธ ์ปคํ”ผ์™€ โœ‰๏ธ ์ชฝ์ง€๋ฅผ ๋ณด๋‚ด๋ณด์„ธ์š”!

๋Œ“๊ธ€

์˜๊ฒฌ์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”

ํ™•์ธ
์˜๊ฒฌ์ด ์žˆ์œผ์‹ ๊ฐ€์š”? ์ œ์ผ ๋จผ์ € ๋Œ“๊ธ€์„ ๋‹ฌ์•„๋ณด์„ธ์š” !
ยฉ 2024 DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€

DevOps, ํด๋ผ์šฐ๋“œ, IT ๊ธฐ์ˆ  ๊ด€๋ จ ์ตœ์‹  ์†Œ์‹๊ณผ ์ •๋ณด๋ฅผ ์ •๋ฆฌํ•ด์„œ ์ฃผ 1ํšŒ ์ด๋ฉ”์ผ๋กœ ์ „ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค๐Ÿ˜บ

๋‰ด์Šค๋ ˆํ„ฐ ๋ฌธ์˜eduukulelekim@gmail.com

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ ์„œ๋น„์Šค ์†Œ๊ฐœ์„œ ์˜ค๋ฅ˜ ๋ฐ ๊ธฐ๋Šฅ ๊ด€๋ จ ์ œ๋ณด

์„œ๋น„์Šค ์ด์šฉ ๋ฌธ์˜admin@team.maily.so

๋ฉ”์ผ๋ฆฌ ์‚ฌ์—…์ž ์ •๋ณด

๋ฉ”์ผ๋ฆฌ (๋Œ€ํ‘œ์ž: ์ดํ•œ๊ฒฐ) | ์‚ฌ์—…์ž๋ฒˆํ˜ธ: 717-47-00705 | ์„œ์šธ ์„œ์ดˆ๊ตฌ ๊ฐ•๋‚จ๋Œ€๋กœ53๊ธธ 8, 8์ธต 11-7ํ˜ธ

์ด์šฉ์•ฝ๊ด€ | ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ | ์ •๊ธฐ๊ฒฐ์ œ ์ด์šฉ์•ฝ๊ด€