Longhorn pvc

๋…ธ๋“œ์žฅ๋น„๋ฅผ storage๋กœ ์‚ฌ์šฉํ• ์ˆ˜ ์žˆ๋‹ค.

persistance volume์„ kubernetes ๊ฐ€ ์„ค์น˜๋œ ๋…ธ๋“œ๋ฅผ pv๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

pod๊ฐ€ 1๋ฒˆ ๋…ธ๋“œ์—์„œ ๋œจ๋ฉด 1๋ฒˆ ๋…ธ๋“œ์— pv๋ฅผ ๋ถ™์—ฌ์ฃผ๋Š”๊ฑฐ ๊ฐ™์Œ

๋ณต์ œ๋ณธ๋„ ๋งŒ๋“ค์–ด์ฃผ๊ณ  snapshot๋„ ํ•ด์ฃผ๊ณ  ๊ทธ๋Ÿฐ๋‹ค.

pre-requisites

ubuntu20์€ nfs-commons๋งŒ ์ถ”๊ฐ€ ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค.

์ „์ฒด ๋…ธ๋“œ์— ์„ค์น˜๋ฅผ ํ•œ๋‹ค.

longhorn ์„ค์น˜

LoadBalancerํƒ€์ž…์œผ๋กœ ์„ค์น˜ํ•˜๋ ค๋ฉด ๋‹ค์Œ์ฒ˜๋Ÿผ ํ•˜๋ฉด๋œ๋‹ค.

ํ”„๋ก ํŠธ์›น์œผ๋กœ ์ ‘์†ํ•ด์„œ volume์„ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด๋ณด์ž.

volume์ด๋ผ๋Š” crd๋ฅผ ์ œ๊ณตํ•จ..๊ธฐํƒ€ ๋‹ค๋ฅธ๊ฒƒ๋„ ์ œ๊ณต.

longhorn์ด๋ผ๋Š” ์Šคํ† ๋ฆฌ์ง€ ํด๋ผ์Šค ์ œ๊ณต ๋””ํดํŠธ๋กœ ์„ธํŒ…๋˜์–ด ์žˆ๋‹ค.

pv์™€ pvc๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š” ์ค€๋น„๊ฐ€ ๋ฌ๋‹ค.

ingress - dashboard

http://longhorn.yourdoman.com์œผ๋กœ ํ™•์ธํ•ด๋ณด๋ฉด dashboard๊ฐ€ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

pvc ์ƒ์„ฑ

mypvc.yml

longhorn dashboard์—์„œ volume์ด ์ƒ๊ธด๊ฑธ ํ™•์ธํ• ์ˆ˜ ์žˆ๋‹ค.

detached ์ƒํƒœ์ด๋‹ค.

pod์—์„œ ์‚ฌ์šฉ

vi pod.yml

์กฐ๊ธˆ ๊ธฐ๋‹ค๋ฆฌ๋ฉด volume์ด attached๊ฐ€ ๋œ๊ฑธ ๋ณผ์ˆ˜๊ฐ€ ์žˆ๋‹ค.

๋ณผ๋ฅจ name์„ ๋ˆŒ๋Ÿฌ์„œ ๋“ค์–ด๊ฐ€๋ณด๋ฉด ์ž์„ธํ•œ ๋‚ด์šฉ์ด ๋‚˜์˜จ๋‹ค.

backup๋„ ํ• ์ˆ˜ ์žˆ๊ณ  snapshot๋„ ํ• ์ˆ˜ ์žˆ๋‹ค.

replica๊ฐ€ ๊ธฐ๋ณธ๊ฐ’์ด 3 ์ด๋ฏ€๋กœ 3๊ฐœ์˜ ๋ฆฌํ”Œ๋ฆฌ์นด๋ฅผ ๋งŒ๋“ค์–ด์ฃผ๊ณ  ์ œ์ผ๋จผ์ € ๊ฐ™์€ ๋…ธ๋“œ์— ์ž‡๋Š” pv๋ฅผ pod์— ๋ถ™์—ฌ์ค€๋‹ค.

์ด ๊ฐ’์„ ์ค„์ด๋ ค๋ฉด

์ด ๋ฒ„ํŠผ์„ ์ด์šฉํ•˜๋ฉด๋œ๋‹ค.

1 ๊ฐœ๋กœ ์ค„์ด๋ฉด ์ค„์–ด๋“œ๋Š”๊ฒƒ์„ ๋ณผ์ˆ˜ ์žˆ๋‹ค.

ํ˜„์žฌ ๋…ธ๋“œ๊ฐ€ 6๊ฐœ์ด๋ฏ€๋กœ 6๊ฐœ๋กœ ๋Š˜๋ ค์ฃผ๋ฉด ๋ชจ๋“  ๋…ธ๋“œ์— ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ค ์Œ“์ด๋ฏ€๋กœ ํŒŒ๋“œ๊ฐ€ ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ์›€์ง์—ฌ๋„ ๋ฌธ์ œ๊ฐ€ ์—†๋Š”๋“ฏ ๋ณด์ธ๋‹ค.

๋ฉ”๋‰ด์ค‘์— update data locality๋ฅผ ๋ˆŒ๋Ÿฌ๋ณด์ž.

best effort๋กœ ํ•˜๋ฉด pod๊ฐ€ ์žˆ๋Š” ๋…ธ๋“œ์—์„œ pvc๋ฅผ ๋ถ™์—ฌ์ฃผ๋Š”๋“ฏ ๋ณด์ธ๋‹ค.

ํ˜„์žฌ node05๋ฒˆ์— pvc๊ฐ€ ์žˆ๋‹ค.

pod๋„ 5๋ฒˆ์— ์žˆ๋Š”๊ฒƒ์„ ํ™•์ธํ• ์ˆ˜ ์žˆ๋‹ค.

snapshot

๊ฐ„๋‹จํžˆ snapshot์ด ๋ฌ๋‹ค. ๋ฉ”์ธ์œผ๋กœ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” replica์—์„œ ์Šค๋ƒ…์ƒท์ด ์ด๋ฃจ์–ด์ง€๋Š”์ง€๋Š” ํ™•์ธํ•˜์ง€ ๋ชปํ–‡๋‹ค.

์Šค๋ƒ…์ƒท ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋ณด์ธ๋‹ค.

๋ณต๊ตฌ๋ฅผ ํ•ด๋ณด์ž.

์Šค๋ƒ…์ƒท์„ ๊ณ ๋ฅด๋ฉด ๋‹ค์Œ์ฒ˜๋Ÿผ ๋‚˜์˜จ๋‹ค.

revert๊ฐ€ ํšŒ์ƒ‰์ธ๊ฒƒ์„ ์•Œ์ˆ˜์žˆ๋‹ค. pod๊ฐ€ attached๋˜์–ด ์žˆ์–ด์„œ ์ƒ๊ธฐ๋Š” ๋ฌธ์ œ ์ผ๋‹จ pod๋ฅผ ๋‚ด๋ฆฌ๊ณ  ๋‹ค์‹œ ํ™•์ธํ•ด๋ณด์ž.

detached๋กœ ๋ฐ”๋€ ๋ณผ๋ฅจ

detached๋œ ๋ณผ๋ฅจ์„ ์„ ํƒํ•˜๊ณ  attach๋ฅผ ๋ˆ„๋ฅด์ž.

mainterance mode๋กœ ๋“ค์–ด๊ฐ€์„œ ์ž‘์—…ํ•˜์ž. mainterance ๋ฅผ ๊ผญ ์ฒดํฌํ•ด์ค€๋‹ค.

health๋กœ ๋ฐ”๋€๋‹ค.

์ด๋ฆ„์„ ํด๋ฆญํ•˜๊ณ  ๋‚ด๋ถ€๋กœ ๋“ค์–ด๊ฐ€๋ณด๋ฉด snapshot์ด ๋ณด์ธ๋‹ค. ํด๋ฆญํ•˜๋ฉด revert๊ฐ€ ํ™œ์„ฑํ™” ๋œ๋‹ค. ๋ˆ„๋ฅด์ž.

revert๊ฐ€ ๋‹ค๋œํ›„์— ๋‹ค์‹œ volume์„ detachํ•œ๋‹ค.

detached๋œ ๋ณผ๋ฅจ

์ด์ œ pod๋ฅผ ๋‹ค์‹œ ์ƒ์„ฑํ•ด๋ณด์ž.

๋‹ค์‹œ pod์— attched๋ซ๋‹ค.

์Šค๋ƒ…์ƒท ๋ฒ„์ „์œผ๋กœ ๋Œ์•„์˜จ๊ฒƒ์„ ํ™•์ธํ• ์ˆ˜ ์žˆ๋‹ค.

๊ทผ๋ฐ ์™œ ๊ฐ™์€ volume์œผ๋กœ ๋ถ™์ง€? ์•„ pvc๊ฐ€ ์ง€์›Œ์ง€์ง€ ์•Š๊ณ  ์œ ์ง€๋˜๊ณ  ์žˆ์–ด์„œ ๊ทธ๋ ‡์ง€.

recurring snapshot and backup

์—ฌ๊ธฐ์„œ ์ฒ˜๋ฆฌํ•˜๋ฉด๋œ๋‹ค.

์Šค๋ƒ…์ƒท๊ณผ ๋ฐฑ์—… ๋‘˜๋‹ค ํ• ์ˆ˜ ์žˆ๋‹ค.

๊ธฐ๋ณธ ์˜ต์…˜ ๋ณ€๊ฒฝ

๋ฉ”๋‰ด์ค‘ setting์ด๋ผ๋Š”๊ณณ์— ๋ชจ๋“  ๊ธฐ๋ณธ ์˜ต์…˜์ด ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค.

helm์„ค์น˜์‹œ ์„ค์ •ํ•ด์ฃผ์–ด๋„ ๋œ๋‹ค.

backup

๋ฆฌํ”Œ๋ฆฌ์นด๊ฐ€ ์žˆ๊ธฐ๋Š” ํ•˜์ง€๋งŒ ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด๋ถ€์— ์žˆ์œผ๋ฏ€๋กœ ์™ธ๋ถ€๋กœ ๋ฐฑ์—…์„ ํ•˜๋Š”๊ฒƒ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

s3์— ๋ฐฑ์—…์„ ํ•˜์ž. s3๊ถŒํ•œ๋ฌธ์ œ์™€ secret key๋ถ€๋ถ„์€ ๊ฐ์ž ์•Œ์•„์„œ ์ฒ˜๋ฆฌํ•ด๋‘๊ณ  ์ง„ํ–‰

bucket์„ ๋งŒ๋“ ๋‹ค.

aws ์ ‘์†์ •๋ณด๊ฐ€ ์žˆ๋Š” secret๋ฅผ ๋งŒ๋“ค๊ณ  ์ ์šฉํ•œ๋‹ค.

longhorn ์„ธํŒ… ํŽ˜์ด์ง€์—์„œ ์„ค์ •์„ ํ•˜์ž.

s3://bucket-name@region/path/

saveํ•˜์ž.

volume์— ๋“ค์–ด๊ฐ€์„œ ๋ฐฑ์—… ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ๋ณด์ž.

์กฐ๊ธˆ ๊ธฐ๋‹ค๋ฆฌ๋ฉด ๋ฐฑ์—…์ด ๋ฌ๋‹ค๊ณ  ํ‘œ์‹œ๋œ๋‹ค.

s3์—์„œ ํ™•์ธํ•ด๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์—…๋กœ๋“œ๋œ๊ฒƒ์ด ๋ณด์ธ๋‹ค.

๋งค์ผ ์Šค์ผ€์ค„์„ ๊ฑธ์–ด๋‘๋ฉด ํŽธํ• ๋“ฏ ๋ณด์ธ๋‹ค.

ํŠน์ • ๊ฐฏ์ˆ˜ ์ด์ƒ์€ s3์—์„œ ์ง€์›Œ์ค€๋‹ค.

์‹œ๊ฐ„์ด ๋˜๋‹ˆ ์ž๋™์œผ๋กœ ์—…๋กœ๋“œํ•ด์ฃผ๊ณ  ๋ฐฑ์—… ์ƒ์„ฑํ•ด์ค€๋‹ค.

๋ณต๊ตฌ

https://www.youtube.com/watch?v=h8A8mUMGE7M&t=377s

์—ฌ๊ธฐ์—์„œ ๋ณต๊ตฌ๋ฅผ ํ•ด๋ณด๋ฉด ๋œ๋‹ค.

volume size ๋Š˜๋ฆฌ๊ธฐ

ํ˜„์žฌ๋Š” live์ƒํƒœ์—์„œ๋Š” ๋Š˜์–ด๋‚˜์ง€ ์•Š๋Š”๋‹ค. ์ผ๋‹จ volume์„ detachํ•˜์ž.

ui์—์„œ ๋Š˜๋ฆฌ๊ธฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋œ๋‹ค.

๋‹ค์‹œ attachํ•˜์ž.

ext4, XFS ๋งŒ ๋Š˜๋ฆฌ๋Š”๊ฑธ ํ—ˆ์šฉํ•œ๋‹ค.

storage class์—์„œ longhorn์„ ํ™•์ธํ•ด๋ณด๋ฉด ํ™•์žฅ์„ ํ—ˆ์šฉํ•ด์ฃผ๋Š” ์˜ต์…˜์ด enable๋˜์–ด์žˆ๋‹ค.

https://longhorn.io/docs/1.2.0/volumes-and-nodes/volume-size/

https://longhorn.io/docs/1.2.0/volumes-and-nodes/expansion/

uninstall

Create an Ingress with Basic Authentication

https://longhorn.io/docs/1.2.2/deploy/accessing-the-ui/longhorn-ingress/

update basic-auth.yaml

Last updated

Was this helpful?