CSE: vCloud ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ Kubernetes

CSE: vCloud ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ Kubernetes
์•ˆ๋…•ํ•˜์‹ญ๋‹ˆ๊นŒ!

์ตœ๊ทผ์—๋Š” ๋งํ•  ๊ฒƒ๋„ ์—†๊ณ , ํ™•์‹คํžˆ ๊ฐ‘์ž๊ธฐ๋Š” ์•„๋‹ˆ์ง€๋งŒ ์šฐ๋ฆฌ์˜ ์†Œ๊ทœ๋ชจ ํŒ€์ด ์„ฑ์žฅํ•˜์—ฌ ์ผ๋ถ€(๊ทธ๋ฆฌ๊ณ  ๋ฏธ๋ž˜์—๋Š” ๋ชจ๋“ ) ์ œํ’ˆ์„ Kubernetes๋กœ ์ด์ „ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์œ ๊ฐ€ ์žˆ์—ˆ์ง€๋งŒ ์šฐ๋ฆฌ์˜ ์ด์•ผ๊ธฐ๋Š” ํ™€๋ฆฌ๋ฐ”๋ฅด์— ๊ด€ํ•œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์ธํ”„๋ผ ๊ธฐ๋ฐ˜์— ๊ด€ํ•ด์„œ๋Š” ์„ ํƒ์˜ ์—ฌ์ง€๊ฐ€ ๊ฑฐ์˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. vCloud Director ๋ฐ vCloud Director. ์šฐ๋ฆฌ๋Š” ์ƒˆ๋กœ์šด ๊ฒƒ์„ ์„ ํƒํ•˜๊ณ  ์‹œ์ž‘ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์‹œ ํ•œ ๋ฒˆ "The Hard Way"๋ฅผ ์‚ดํŽด๋ณด๋ฉด์„œ ์–ด์ œ ๋ฐฐํฌ ๋ฐ ํฌ๊ธฐ ์กฐ์ •๊ณผ ๊ฐ™์€ ์ตœ์†Œํ•œ์˜ ๊ธฐ๋ณธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒฐ๋ก ์— ๋น ๋ฅด๊ฒŒ ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค. Google์— ๋Œ€ํ•œ ์‹ฌ์ธต ๋ถ„์„์„ ํ†ตํ•ด vCloud์— ๋Œ€ํ•œ k8s ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ ๋ฐ ํฌ๊ธฐ ์กฐ์ •์„ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์˜คํ”ˆ ์†Œ์Šค ์ œํ’ˆ์ธ VMware Container Service Extension(CSE)๊ณผ ๊ฐ™์€ ์ œํ’ˆ์ด ๋ฐํ˜€์กŒ์Šต๋‹ˆ๋‹ค.

๋ฉด์ฑ…์กฐํ•ญ: CSE์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์ง€๋งŒ ์šฐ๋ฆฌ์˜ ๋ชฉ์ ์— ์žˆ์–ด์„œ๋Š” ์™„๋ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์†”๋ฃจ์…˜์€ ๋ฐ˜๋“œ์‹œ ํด๋ผ์šฐ๋“œ ์ œ๊ณต์—…์ฒด์˜ ์ง€์›์„ ๋ฐ›์•„์•ผ ํ•˜๋Š”๋ฐ, ์„œ๋ฒ„ ๋ถ€๋ถ„๋„ ์˜คํ”ˆ์†Œ์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๊นŒ์šด ๊ด€๋ฆฌ์ž์—๊ฒŒ ๋ฌธ์˜ํ•ด ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ฃผ์„ธ์š” :)

์‚ฌ์šฉ์„ ์‹œ์ž‘ํ•˜๋ ค๋ฉด vCloud ์กฐ์ง์˜ ๊ด€๋ฆฌ์ž ๊ณ„์ •๊ณผ ํด๋Ÿฌ์Šคํ„ฐ์— ๋Œ€ํ•ด ์ด์ „์— ์ƒ์„ฑ๋œ ๋ผ์šฐํŒ… ๋„คํŠธ์›Œํฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค(๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค ์ค‘์—๋Š” ์ด ๋„คํŠธ์›Œํฌ์—์„œ ์ธํ„ฐ๋„ท์— ์•ก์„ธ์Šคํ•ด์•ผ ํ•˜๋ฉฐ ๋ฐฉํ™”๋ฒฝ/NAT๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋งˆ์‹ญ์‹œ์˜ค). ์ฃผ์†Œ ์ง€์ •์€ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด ์˜ˆ์—์„œ๋Š” 10.0.240.0/24๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

CSE: vCloud ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ Kubernetes

ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒ์„ฑํ•œ ํ›„์—๋Š” ์–ด๋–ป๊ฒŒ๋“  ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ƒ์„ฑ๋œ ๋„คํŠธ์›Œํฌ๋กœ ๋ผ์šฐํŒ…ํ•˜๋Š” VPN์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์กฐ์ง์˜ Edge Gateway์— ๊ตฌ์„ฑ๋œ ํ‘œ์ค€ SSL VPN์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ k8s ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•  CSE ํด๋ผ์ด์–ธํŠธ๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ œ ๊ฒฝ์šฐ์—๋Š” ์ž‘๋™ํ•˜๋Š” ๋…ธํŠธ๋ถ๊ณผ ์ž๋™ํ™”๋ฅผ ์ถ”์ง„ํ•˜๋Š” ์ž˜ ์ˆจ๊ฒจ์ง„ ์ปจํ…Œ์ด๋„ˆ ๋‘ ๊ฐœ์ž…๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ์—๋Š” Python ๋ฒ„์ „ 3.7.3 ์ด์ƒ์ด ์„ค์น˜๋˜์–ด ์žˆ๊ณ  ๋ชจ๋“ˆ์ด ์„ค์น˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. vcd-cli, ๋‘˜ ๋‹ค ์„ค์น˜ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

pip3 install vcd-cli

pip3 install container-service-extension

์„ค์น˜ ํ›„ CSE ๋ฒ„์ „์„ ํ™•์ธํ•˜๊ณ  ๋‹ค์Œ์„ ์–ป์Šต๋‹ˆ๋‹ค.

# vcd cse version
Error: No such command "cse".

์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์ผ์ด์ง€๋งŒ ๊ณ ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ CSE๋Š” vcd-cli์— ๋ชจ๋“ˆ๋กœ ์—ฐ๊ฒฐ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ๋จผ์ € vcd-cli์— ์šฐ๋ฆฌ ์กฐ์ง์— ๋กœ๊ทธ์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

# vcd login MyCloud.provider.com org-dev admin
Password: 
admin logged in, org: 'org-dev', vdc: 'org-dev_vDC01'

๊ทธ๋Ÿฐ ๋‹ค์Œ vcd-cli๋Š” ๊ตฌ์„ฑ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ~/.vcd-cli/profiles.yaml
๋งˆ์ง€๋ง‰์— ๋‹ค์Œ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

extensions:
  - container_service_extension.client.cse

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค์‹œ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

# vcd cse version
CSE, Container Service Extension for VMware vCloud Director, version 2.5.0

ํด๋ผ์ด์–ธํŠธ ์„ค์น˜ ๋‹จ๊ณ„๊ฐ€ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐฐํฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
CSE์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์‚ฌ์šฉ ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ธํŠธ๊ฐ€ ์žˆ์œผ๋ฉฐ ๋ชจ๋‘ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—.

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

# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.

ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ์„ ์‹œ์ž‘ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

vcd cse cluster create MyCluster --network k8s_cluster_net --ssh-key ~/.ssh/id_rsa.pub --nodes 3 --enable-nfs

์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์˜ค๋ฅ˜: ์„ธ์…˜์ด ๋งŒ๋ฃŒ๋˜์—ˆ๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค์‹œ ๋กœ๊ทธ์ธํ•ด์ฃผ์„ธ์š”. โ€” ์œ„์—์„œ ์„ค๋ช…ํ•œ ๋Œ€๋กœ vCloud์— vcd-cli์— ๋‹ค์‹œ ๋กœ๊ทธ์ธํ•˜๊ณ  ๋‹ค์‹œ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฒˆ์—๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ด๋ฉฐ ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ ์ž‘์—…์ด ์‹œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

cluster operation: Creating cluster vApp 'MyCluster' (38959587-54f4-4a49-8f2e-61c3a3e879e0) from template 'photon-v2_k8-1.12_weave-2.3.0' (revision 1)

์ž‘์—…์„ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ์•ฝ 20๋ถ„์ด ์†Œ์š”๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ ๊ธฐ๋ณธ ์‹œ์ž‘ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

โ€”network โ€” ์•ž์„œ ๋งŒ๋“  ๋„คํŠธ์›Œํฌ์ž…๋‹ˆ๋‹ค.
โ€”ssh-key โ€” ์šฐ๋ฆฌ๊ฐ€ ์ƒ์„ฑํ•œ ํ‚ค๋กœ ํด๋Ÿฌ์Šคํ„ฐ ๋…ธ๋“œ์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.
โ€”nodes n โ€” ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ž‘์—…์ž ๋…ธ๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค. ํ•ญ์ƒ ํ•˜๋‚˜์˜ ๋งˆ์Šคํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” CSE ์ œํ•œ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค.
โ€”enable-nfs โ€” ์˜๊ตฌ ๋ณผ๋ฅจ ์•„๋ž˜์— NFS ๊ณต์œ ๋ฅผ ์œ„ํ•œ ์ถ”๊ฐ€ ๋…ธ๋“œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์•ฝ๊ฐ„์˜ ํŽ˜๋‹ฌ ์˜ต์…˜์ด๋ฏ€๋กœ ๋‚˜์ค‘์— ์ด ๊ธฐ๋Šฅ์˜ ํŠœ๋‹์— ๋Œ€ํ•ด ๋‹ค์‹œ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋™์‹œ์— vCloud์—์„œ๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ์„ ์‹œ๊ฐ์ ์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
CSE: vCloud ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ Kubernetes

ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ ์ž‘์—…์ด ์™„๋ฃŒ๋˜๋ฉด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐํฌ์˜ ์ •ํ™•์„ฑ์„ ํ™•์ธํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. vcd cse ํด๋Ÿฌ์Šคํ„ฐ ์ •๋ณด MyCluster

CSE: vCloud ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ Kubernetes

๋‹ค์Œ์œผ๋กœ ์‚ฌ์šฉํ•  ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ์„ ๊ฐ€์ ธ์™€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฟ  ๋ฒ ํ‹€

# vcd cse cluster config MyCluster > ./.kube/config

๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

CSE: vCloud ์‚ฌ์šฉ์ž๋ฅผ ์œ„ํ•œ Kubernetes

์ด ์‹œ์ ์—์„œ ํด๋Ÿฌ์Šคํ„ฐ๋Š” ์ง€์†์ ์ธ ๋ณผ๋ฅจ์ด ์žˆ๋Š” ์Šคํ† ๋ฆฌ๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ ์กฐ๊ฑด๋ถ€๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” vCloud๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์œผ๋ฏ€๋กœ vSphere Provider๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์˜ต์…˜ --enable-nfs ์ด๋Ÿฌํ•œ ๋ถˆํŽธํ•จ์„ ์™„ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์•ˆ๋˜์—ˆ์ง€๋งŒ ์™„์ „ํžˆ ์ž‘๋™ํ•˜์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ˆ˜๋™ ์กฐ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๋ ค๋ฉด ๋…ธ๋“œ๊ฐ€ vCloud์— ๋ณ„๋„์˜ ๋…๋ฆฝ ๋””์Šคํฌ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ์‚ญ์ œ๋˜๋”๋ผ๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ์™€ ํ•จ๊ป˜ ์‚ฌ๋ผ์ง€์ง€ ์•Š๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋””์Šคํฌ๋ฅผ NFS์— ์—ฐ๊ฒฐํ•˜์‹ญ์‹œ์˜ค.

# vcd disk create nfs-shares-1 100g --description 'Kubernetes NFS shares'
# vcd vapp attach mycluster nfsd-9604 nfs-shares-1

๊ทธ๋Ÿฐ ๋‹ค์Œ SSH(์ •๋ง๋กœ ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜์…จ๋‚˜์š”?)๋ฅผ ํ†ตํ•ด NFS ๋…ธ๋“œ๋กœ ์ด๋™ํ•˜๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ๋””์Šคํฌ๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

root@nfsd-9604:~# parted /dev/sdb
(parted) mklabel gpt
Warning: The existing disk label on /dev/sdb will be destroyed and all data on
this disk will be lost. Do you want to continue?
Yes/No? yes
(parted) unit GB
(parted) mkpart primary 0 100
(parted) print
Model: VMware Virtual disk (scsi)
Disk /dev/sdb: 100GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End    Size   File system  Name     Flags
 1      0.00GB  100GB  100GB               primary

(parted) quit
root@nfsd-9604:~# mkfs -t ext4 /dev/sdb1
Creating filesystem with 24413696 4k blocks and 6111232 inodes
Filesystem UUID: 8622c0f5-4044-4ebf-95a5-0372256b34f0
Superblock backups stored on blocks:
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
	4096000, 7962624, 11239424, 20480000, 23887872

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

๋ฐ์ดํ„ฐ์šฉ ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ๋งŒ๋“ค๊ณ  ์—ฌ๊ธฐ์— ์ƒˆ๋กœ์šด ํŒŒํ‹ฐ์…˜์„ ๋งˆ์šดํŠธํ•ฉ๋‹ˆ๋‹ค.

mkdir /export
echo '/dev/sdb1  /export   ext4  defaults   0 0' >> /etc/fstab
mount -a

XNUMX๊ฐœ์˜ ํ…Œ์ŠคํŠธ ํŒŒํ‹ฐ์…˜์„ ์ƒ์„ฑํ•˜๊ณ  ์ด๋ฅผ ํด๋Ÿฌ์Šคํ„ฐ์— ๊ณต์œ ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

>cd /export
>mkdir vol1 vol2 vol3 vol4 vol5
>vi /etc/exports
#ะ”ะพะฑะฐะฒะธะผ ัั‚ะพ ะฒ ะบะพะฝะตั† ั„ะฐะนะปะฐ
/export/vol1 *(rw,sync,no_root_squash,no_subtree_check)
/export/vol2 *(rw,sync,no_root_squash,no_subtree_check)
/export/vol3 *(rw,sync,no_root_squash,no_subtree_check)
/export/vol4 *(rw,sync,no_root_squash,no_subtree_check)
/export/vol5 *(rw,sync,no_root_squash,no_subtree_check)
#:wq! ;)
#ะ”ะฐะปะตะต - ัะบัะฟะพั€ั‚ะธั€ัƒะตะผ ั€ะฐะทะดะตะปั‹
>exportfs -r

์ด ๋ชจ๋“  ๋งˆ๋ฒ•์ด ๋๋‚˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํด๋Ÿฌ์Šคํ„ฐ์— PV์™€ PVC๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ณด๊ณ ์ž:

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolume
metadata:
  name: nfs-vol1
spec:
  capacity:
    storage: 10Gi
  accessModes:
    - ReadWriteMany
  nfs:
    # Same IP as the NFS host we ssh'ed to earlier.
    server: 10.150.200.22
    path: "/export/vol1"
EOF

PVC :

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: nfs-pvc
spec:
  accessModes:
    - ReadWriteMany
  storageClassName: ""
  resources:
    requests:
      storage: 10Gi
EOF

์—ฌ๊ธฐ์„œ ํ•˜๋‚˜์˜ ํด๋Ÿฌ์Šคํ„ฐ ์ƒ์„ฑ ์ด์•ผ๊ธฐ๊ฐ€ ๋๋‚˜๊ณ  ์ˆ˜๋ช…์ฃผ๊ธฐ ์ด์•ผ๊ธฐ๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ๋ณด๋„ˆ์Šค๋กœ ๋•Œ๋กœ๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์ ˆ์•ฝํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ์œ ์šฉํ•œ CSE ๋ช…๋ น์ด ๋” ์žˆ์Šต๋‹ˆ๋‹ค.

#ะฃะฒะตะปะธั‡ะธะฒะฐะตะผ ั€ะฐะทะผะตั€ ะบะปะฐัั‚ะตั€ะฐ ะดะพ 8 ะฒะพั€ะบะตั€ ะฝะพะด
>cse cluster resize MyCluster --network k8s_cluster_net --nodes 8

#ะ’ั‹ะฒะพะดะธะผ ะฝะตะฝัƒะถะฝั‹ะต ะฝะพะดั‹ ะธะท ะบะปะฐัั‚ะตั€ะฐ ั ะธั… ะฟะพัะปะตะดัƒัŽั‰ะธะผ ัƒะดะฐะปะตะฝะธะตะผ
>vcd cse node delete MyCluster node-1a2v node-6685 --yes

์‹œ๊ฐ„ ๋‚ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์œผ๋ฉด ๋Œ“๊ธ€๋กœ ๋ฌธ์˜ํ•˜์„ธ์š”.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€