์•ˆ๋…•ํ•˜์„ธ์š”, IBM ์–‘ํ˜„์ฃผ์ž…๋‹ˆ๋‹ค.

* ๋ณธ ํฌ์ŠคํŒ…์€ ์˜๋ฌธ ํฌ์ŠคํŒ…์˜ ๋ฒˆ์—ญ๋ณธ์œผ๋กœ ์‚ฌ์šฉ์ž ํŽธ์˜๋ฅผ ์œ„ํ•ด ์ผ๋ถ€ ์ˆ˜์ •์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
์›๋ณธ์€ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค

Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ฃผ์š” ๋ฆฌ์†Œ์Šค ์ค‘ ํ•˜๋‚˜๋Š” ์Šคํ† ๋ฆฌ์ง€, ์ฆ‰ Persistent Volume ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ Kubernetes์˜ ์šฉ์–ด์ด๋ฉฐ
PersistentVolume (PV)๋Š” ์ธํ”„๋ผ์—์„œ ์ƒ์„ฑ๋œ ์‹œ์Šคํ…œ ๋ ˆ๋ฒจ์˜ ์Šคํ† ๋ฆฌ์ง€
PersistentVolumeClaim (PVC)๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์Šคํ† ๋ฆฌ์ง€(PV)๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•œ ์š”์ฒญ๊ถŒ๊ณผ ๊ฐ™์€ ๊ฒƒ์ด๋ผ๊ณ  ๋ณด์‹œ๋ฉด ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Kubernetes์—์„œ๋Š” ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‚ญ์ œ ๋˜๋”๋ผ๋„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ง€์†๋˜๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด ์Šคํ† ๋ฆฌ์ง€ (PersistentVolume)๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
์ด๋ฅผ ์œ„ํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜๊ธฐ ์ „์— ์ธํ”„๋ผ์—์„œ ์Šคํ† ๋ฆฌ์ง€ ์ƒ์„ฑ ํ›„ PersistentVolumeClaim์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํ•ด๋‹น PersistentVolumeClaim์„ ์‚ฌ์šฉํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ํŽธ์˜๋ฅผ ์œ„ํ•ด PersistentVolume์€ PV๋กœ, PersistentVolumeClaim์€ PVC๋กœ ์ง€์นญํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Persistent Volume์ด ์–ด๋–ป๊ฒŒ ํ• ๋‹น ๋˜๋‚˜์š”?

500Gi์˜ ์šฉ๋Ÿ‰์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ์— PV๋ฅผ ํ”„๋กœ๋น„์ €๋‹ ํ•œ ๊ฒฝ์šฐ 700Gi์˜ ์š”์ฒญ์ด ์žˆ๋Š” PVC๋Š” ์š”๊ตฌ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” PV๊ฐ€ ํ”„๋กœ๋น„์ €๋‹ ๋  ๋•Œ ๊นŒ์ง€ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ Unbound ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.
์ด ์š”์ฒญ์„ ์ถฉ์กฑ์‹œํ‚ค๋Š” PV๊ฐ€ ์ƒ์„ฑ๋˜๋ฉด ๊ทธ ๋•Œ์„œ์•ผ PVC๋Š” ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ PV์— Binding ๋˜์–ด ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

Native Kubernetes ๊ธฐ๋ฐ˜์ธ IBM Cloud Private์—์„œ๋„ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.
IBM Cloud Private์˜ ์›น ๊ด€๋ฆฌ ์ฝ˜์†”์—์„œ PV์™€ PVC๋ฅผ ์ƒ์„ฑํ•œ ๋‹ค์Œ,
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ ๋‹จ๊ณ„์—์„œ PVC๋ฅผ ์—ฐ๋™ํ•  (attach) ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

IBM Cloud Private์€ ์•„๋ž˜ Volume type์„ ํฌํ•จ, Kubernetes์—์„œ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  Volume type์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • NFS
  • GlusterFS
  • vSphere Virtual Volume
  • hostPath

IBM Cloud Private ์ง€์› ์Šคํ† ๋ฆฌ์ง€ ํƒ€์ž… ๋ฐ Kubernetes ์ง€์› ์Šคํ† ๋ฆฌ์ง€ ํƒ€์ž… ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋งํฌ๋ฅผ ์ฐธ๊ณ ํ•˜์‹ญ์‹œ์˜ค.

IBM Cloud Private ์‹คํ–‰ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— Persistent Volume ํ• ๋‹นํ•˜๋Š” ์›Œํฌํ”Œ๋กœ์šฐ

๋ณธ ํฌ์ŠคํŒ…์—์„œ๋Š” ์•„๋ž˜์˜ ์„ธ ๋‹จ๊ณ„์— ๊ฑธ์ณ Kubernetes ๊ธฐ๋ฐ˜ IBM Cloud Private์—์„œ ์Šคํ† ๋ฆฌ์ง€ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. NFS ์—์„œ Persistent Volume ์ƒ์„ฑ
  2. Persistent Volume Claim์„ ์ƒ์„ฑํ•ด ๊ฐ€์šฉํ•œ Persistent Volume์— ๋Œ€ํ•œ ์š”์ฒญ ์ˆ˜ํ–‰
  3. Volume ๊ณผ attachํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ

[1๋‹จ๊ณ„] ์‹œ์Šคํ…œ ๋ ˆ๋ฒจ์—์„œ Persistent Volume ์ƒ์„ฑํ•˜๊ธฐ

์‹œ์ž‘ํ•˜๊ธฐ ์ „์—

  • NFS ์„œ๋ฒ„๊ฐ€ ์„ค์น˜ ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. IBM Cloud Private์—์„œ ์ง€์›๋˜๋Š” NFS ๋ฒ„์ „์€ ์ง€์› ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ฐ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ฐธ๊ณ ํ•˜์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
  • NFS ํด๋ผ์ด์–ธํŠธ ํŒจํ‚ค์ง€๊ฐ€ IBM Cloud Private ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด ๋ชจ๋“  ๋…ธ๋“œ์— ์„ค์น˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    • Ubuntu์—์„œ๋Š” ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰
      sudo apt-get update
      sudo apt-get install nfs-common
    • Red Hat Enterprise Linux (RHEL)์—์„œ๋Š” ๋‹ค์Œ ๋ช…๋ น์–ด ์‹คํ–‰
      yum install nfs-utils
  • RHEL ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ SELinux๊ฐ€ ๋น„ํ™œ์„ฑํ™” ๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
  • ์‹œ์Šคํ…œ ๊ด€๋ฆฌ์ž (admin)์œผ๋กœ ๋กœ๊ทธ์ธ ํ–ˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.
  1. IBM Cloud Private ๊ด€๋ฆฌ ์ฝ˜์†”์— ๊ด€๋ฆฌ์ž๋กœ ๋กœ๊ทธ์ธ ํ•ฉ๋‹ˆ๋‹ค. (default : admin/admin)
  2. ๋ฉ”๋‰ด์—์„œ ํ”Œ๋žซํผ > ์ €์žฅ์†Œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

  3. Create PersistentVolume ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  4. Persistent Volume ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค. PV๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด ๋‹ค์Œ Parameter๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    1. General ํƒญ์—์„œ PV ์ด๋ฆ„ / PV ํฌ๊ธฐ / PV ํƒ€์ž… ๊ฐ’์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    2. Parameter ํƒญ์—์„œ NFS ์„œ๋ฒ„ ์ฃผ์†Œ ๋ฐ ๊ฒฝ๋กœ๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
      (Server : NFS์„œ๋ฒ„์˜ IP ์ฃผ์†Œ ๋˜๋Š” ํ˜ธ์ŠคํŠธ๋„ค์ž„ / Path : ๋งˆ์šดํŠธ ๋œ ๋””๋ ‰ํ† ๋ฆฌ์˜ ์œ„์น˜)
    3. Create๋ฅผ ํด๋ฆญ ํ›„ ์ƒ์„ฑ๋œ ์Šคํ† ๋ฆฌ์ง€์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๊ณง ์Šคํ† ๋ฆฌ์ง€ (PV)๋ฅผ ์‚ฌ์šฉํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Œ์„ ์•Œ๋ฆฌ๋Š” Available ์ƒํƒœ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

[2๋‹จ๊ณ„] Persistent Volume Claim ๋งŒ๋“ค๊ธฐ – PV ์‚ฌ์šฉ๊ถŒ ์š”์ฒญ

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

  1. IBM Cloud Private ์›น ๊ด€๋ฆฌ ์ฝ˜์†”์— ๋กœ๊ทธ์ธ ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฉ”๋‰ด > Platform > Storage๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. Persistent Volume Claim ํƒญ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    1. PVC์˜ ์ด๋ฆ„๊ณผ ์š”์ฒญํ•  ์ €์žฅ์†Œ ํฌ๊ธฐ๋ฅผ ์ž…๋ ฅ ํ›„ Create๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    2. ์„ฑ๊ณต์ ์œผ๋กœ ์ƒ์„ฑ๋œ PVC๋Š” Pending ์ƒํƒœ๋ฅผ ๊ฑฐ์ณ Bound ์ƒํƒœ๊ฐ€ ๋˜๋ฉด, PV์™€ PVC๊ฐ€ ์ ์ ˆํ•˜๊ฒŒ ์—ฐ๊ฒฐ ๋˜์—ˆ์Œ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    3. ์ƒ์„ฑ๋œ PVC๋ฅผ ํด๋ฆญํ•ด ์ƒ์„ธ ๋‚ด์šฉ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
    4. ๋‹ค์‹œ PersistentVolume ํƒญ์„ ํด๋ฆญํ•ด nginxnfs ์Šคํ† ๋ฆฌ์ง€๊ฐ€ Bound๋˜์—ˆ์Œ์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ๊นŒ์ง€ Kubernetes์—์„œ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ธ,
PersistentVolume๊ณผ PersistentVolumeClaim์„ ์ƒ์„ฑํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ฐฐํฌํ•˜์—ฌ ์ƒ์„ฑํ•œ ์Šคํ† ๋ฆฌ์ง€์™€ ์—ฐ๊ณ„ํ•˜๋Š” ์ž‘์—…์„ ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿผ, ๋‹ค์Œ ํฌ์ŠคํŒ…์—์„œ ๋ต๊ฒŒ์š”!

ํ† ๋ก  ์ฐธ๊ฐ€

์ด๋ฉ”์ผ์€ ๊ณต๊ฐœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•„์ˆ˜ ์ž…๋ ฅ์ฐฝ์€ * ๋กœ ํ‘œ์‹œ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.