CSE: Kubernetes ืคึฟืึทืจ ื™ืขื ืข ืื™ืŸ vCloud

CSE: Kubernetes ืคึฟืึทืจ ื™ืขื ืข ืื™ืŸ vCloud
ื”ืขืœื ืึทืœืขืžืขืŸ!

ืขืก ืื™ื– ืึทื–ื•ื™ ื’ืขืฉืขืŸ ืึทื– ืื•ื ื“ื–ืขืจ ืงืœื™ื™ืŸ ืžืึทื ืฉืึทืคึฟื˜, ื ื™ื˜ ืฆื• ื–ืึธื’ืŸ ืึทื– ืœืขืฆื˜ื ืก, ืื•ืŸ ื–ื™ื›ืขืจ ื ื™ืฉื˜ ืคึผืœื•ืฆืœื™ื ื’, ืื™ื– ื’ืขื•ื•ืืงืกืŸ ืฆื• ืึทืจื™ื‘ืขืจืคื™ืจืŸ ืขื˜ืœืขื›ืข (ืื•ืŸ ืื™ืŸ ื“ืขืจ ืฆื•ืงื•ื ืคึฟื˜ ืึทืœืข) ืคึผืจืึธื“ื•ืงื˜ืŸ ืฆื• ืงื•ื‘ืขืจื ืขื˜ืขืก.

ืขืก ื–ืขื ืขืŸ ื’ืขื•ื•ืขืŸ ืคื™ืœืข ืกื™ื‘ื•ืช ืคึฟืึทืจ ื“ืขื, ืึธื‘ืขืจ ืื•ื ื“ื–ืขืจ ื’ืขืฉื™ื›ื˜ืข ืื™ื– ื ื™ืฉื˜ ื•ื•ืขื’ืŸ ื”ืึธืœื™ื•ื•ืึทืจ.

ืžื™ืจ ื”ืึธื‘ืŸ ืงืœื™ื™ืŸ ื‘ืจื™ืจื” ื•ื•ืขื’ืŸ ื“ื™ ื™ื ืคืจืึทืกื˜ืจืึทืงื˜ืฉืขืจ ื‘ืึทื–ืข. vCloud ื“ื™ืจืขืงื˜ืึธืจ ืื•ืŸ vCloud ื“ื™ืจืขืงื˜ืึธืจ. ืžื™ืจ ื”ืึธื‘ืŸ ืื•ื™ืกื“ืขืจื•ื•ื™ื™ืœื˜ ื“ื™ ื ื™ื™ึทืขืจ ืื•ืŸ ื‘ืึทืฉืœืึธืกืŸ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ.

ื ืื›ืืžืืœ, ื“ื•ืจื›ืงื•ืงืŸ "ื“ื™ ืฉื•ื•ืขืจืข ื•ื•ืขื’", ื‘ื™ืŸ ืื™ืš ื–ื™ื™ืขืจ ืฉื ืขืœ ื’ืขืงื•ืžืขืŸ ืฆื• ื“ืขืจ ืžืกืงื ื, ืื– ื ืขื›ื˜ืŸ ืื™ื– ื’ืขื“ืืจืคื˜ ื ื’ืขืฆื™ื™ื’ ืคืืจ ืื•ื™ื˜ืืžืื˜ื™ืจืŸ ืืžื•ื•ื™ื™ื ื™ื’ืกื˜ื ืก ื™ืกื•ื“ื•ืชื“ื™ืงืข ืคืจืืฆืขืกืขืŸ, ื•ื•ื™ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืื•ืŸ ืกื™ื™ื–ื™ื ื’. ื ื˜ื™ืฃ ื•ื ื˜ืขืจื˜ื•ืงื  ื–ื™ืš ืื™ืŸ Google ื’ืขื‘ืจืื›ื˜ ืฆื• ืœื™ื›ื˜ ืึทื–ืึท ืึท ืคึผืจืึธื“ื•ืงื˜ ื•ื•ื™ VMware Container Service Extension (CSE) - ืึทืŸ ืึธืคึฟืŸ ืžืงื•ืจ ืคึผืจืึธื“ื•ืงื˜ ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืึธื˜ืึทืžื™ื™ื˜ ื“ื™ ืฉืึทืคื•ื ื’ ืื•ืŸ ืกื™ื™ื–ื™ื ื’ ืคื•ืŸ ืง8ืก ืงืœืึทืกื˜ืขืจื– ืคึฟืึทืจ ื™ืขื ืข ืื™ืŸ vCloud.

ืึธืคึผืœื™ื™ืงืขื ื•ื ื’: CSE ื”ืื˜ ื–ื™ื™ืŸ ืœื™ืžื™ื˜ื™ื™ืฉืึทื ื–, ืึธื‘ืขืจ ืคึฟืึทืจ ืื•ื ื“ื–ืขืจ ืฆื•ื•ืขืงืŸ ืขืก ืื™ื– ื’ืขื•ื•ืขืŸ ื’ืื ืฅ. ืื•ื™ืš, ื“ื™ ืœื™ื™ื–ื•ื ื’ ืžื•ื–ืŸ ื–ื™ื™ืŸ ื’ืขืฉื˜ื™ืฆื˜ ื“ื•ืจืš ื“ื™ ื•ื•ืึธืœืงืŸ ืฉืคึผื™ื™ึทื–ืขืจ, ืึธื‘ืขืจ ื–ื™ื ื˜ ื“ื™ ืกืขืจื•ื•ืขืจ ื˜ื™ื™ืœ ืื™ื– ืื•ื™ืš ืึธืคึฟืŸ-ืžืงื•ืจ, ืคืจืขื’ืŸ ื“ื™ื™ืŸ ื ื™ืจืึทืกื˜ ืคืึทืจื•ื•ืึทืœื˜ืขืจ ืฆื• ื”ืึธื‘ืŸ ืขืก ื‘ื ื™ืžืฆื :)

ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ื ื™ืฆืŸ ืขืก, ืื™ืจ ื“ืึทืจืคึฟืŸ ืึท ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจ ื—ืฉื‘ื•ืŸ ืื™ืŸ ื“ื™ vCloud ืึธืจื’ืึทื ื™ื–ืึทืฆื™ืข ืื•ืŸ ืึท ืคืจื™ืขืจ ื‘ืืฉืืคืŸ ืจืึทื•ื˜ื™ื“ ื ืขืฅ ืคึฟืึทืจ ื“ืขื ืงื ื•ื™ืœ (ืื™ืŸ ื“ื™ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืคึผืจืึธืฆืขืก ืื™ืจ ื“ืึทืจืคึฟืŸ ืื™ื ื˜ืขืจื ืขื˜ ืึทืงืกืขืก ืคึฟื•ืŸ ื“ืขื ื ืขืฅ, ื˜ืึธืŸ ื ื™ื˜ ืคืึทืจื’ืขืกืŸ ืฆื• ืงืึทื ืคื™ื’ื™ืขืจ Firewall / NAT). ืึทื“ืจืขืกื™ื ื’ ื˜ื•ื˜ ื ื™ืฉื˜ ืขื ื™ืŸ. ืื™ืŸ ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ, ืœืึธื–ืŸ ืื•ื ื“ื– ื ืขืžืขืŸ 10.0.240.0/24

CSE: Kubernetes ืคึฟืึทืจ ื™ืขื ืข ืื™ืŸ vCloud

ื–ื™ื ื˜ ื ืึธืš ืฉืึทืคื•ื ื’, ื“ืขืจ ืงื ื•ื™ืœ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขืจืื˜ืŸ ืขืคืขืก, ืขืก ืื™ื– ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ื”ืึธื‘ืŸ ืึท ื•ื•ืคึผืŸ ืžื™ื˜ ืจื•ื˜ื™ื ื’ ืฆื• ื“ื™ ื‘ืืฉืืคืŸ ื ืขืฅ. ืžื™ืจ ื ื•ืฆืŸ ืึท ื ืึธืจืžืึทืœ SSL VPN ืงืึทื ืคื™ื’ื™ืขืจื“ ืื•ื™ืฃ ืื•ื ื“ื–ืขืจ ืึธืจื’ืึทื ื™ื–ืึทืฆื™ืข 'ืก ืขื“ื–ืฉ ื’ืึทื˜ืขื•ื•ื™ื™ึท.

ื“ืขืจื ืึธืš ืื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื™ื ืกื˜ืึทืœื™ืจืŸ ื“ื™ CSE ืงืœื™ืขื ื˜ ื•ื•ื• ื“ื™ ืง8ืก ืงืœืึทืกื˜ืขืจื– ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขืจืื˜ืŸ. ืื™ืŸ ืžื™ื™ืŸ ืคืึทืœ, ื“ืึธืก ืื™ื– ืึท ืืจื‘ืขื˜ืŸ ืœืึทืคึผื˜ืึทืคึผ ืื•ืŸ ืึท ืคึผืึธืจ ืคื•ืŸ ื’ืขื–ื•ื ื˜-ืคืึทืจื‘ืึธืจื’ืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– ื•ื•ืึธืก ืคื™ืจืŸ ืึธื˜ืึทืžื™ื™ืฉืึทืŸ.

ื“ืขืจ ืงืœื™ืขื ื˜ ืจื™ืงื•ื•ื™ื™ืขืจื– 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

ืื•ื™ื‘ ืžื™ืจ ื‘ืึทืงื•ืžืขืŸ ืึท ื˜ืขื•ืช ื˜ืขื•ืช: ื“ืขืจ ืกืขืกื™ืข ืื™ื– ืื•ื™ืกื’ืขื’ืื ื’ืขืŸ ืึธื“ืขืจ ื“ืขืจ ื‘ืึทื ื™ืฆืขืจ ืื™ื– ื ื™ืฉื˜ ืœืึธื’ื“ ืื™ืŸ. ื‘ื™ื˜ืข ืฉื™ื™ึทืขืš-ืœืึธื’ื™ืŸ. - ื•ื•ื™ื“ืขืจ ืงืœืึธืฅ ืื™ืŸ vcd-cli ืฆื• vCloud ื•ื•ื™ ื“ื™ืกืงืจื™ื™ื‘ื“ ืื•ื™ื‘ืŸ ืื•ืŸ ืคึผืจื•ื‘ื™ืจืŸ ื•ื•ื™ื“ืขืจ.

ื“ืึธืก ืžืึธืœ ืึทืœืฅ ืื™ื– ื’ื•ื˜ ืื•ืŸ ื“ื™ ืึทืจื‘ืขื˜ ืคื•ืŸ ืฉืึทืคึฟืŸ ืึท ืงื ื•ื™ืœ ืื™ื– ืกื˜ืึทืจื˜ืขื“.

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 ืžื™ื ื•ื˜ ืฆื• ืคืึทืจืขื ื“ื™ืงืŸ ื“ื™ ืึทืจื‘ืขื˜; ืื™ืŸ ื“ื™ ื“ืขืจื•ื•ื™ื™ืœ, ืœืึธืžื™ืจ ืงื•ืงืŸ ืื™ืŸ ื“ื™ ื™ืงืขืจื“ื™ืง ืงืึทื˜ืขืจ ืคึผืึทืจืึทืžืขื˜ืขืจืก.

โ€”ื ืขื˜ื•ื•ืึธืจืง โ€” ื“ื™ ื ืขืฅ ื•ื•ืึธืก ืžื™ืจ ื”ืึธื‘ืŸ ื‘ืืฉืืคืŸ ืคืจื™ืขืจ.
-ssh-key - ื“ื™ ืฉืœื™ืกืœืขืŸ ืžื™ืจ ื‘ืืฉืืคืŸ, ื•ื•ืึธืก ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขืฉืจื™ื‘ืŸ ืฆื• ื“ื™ ืงื ื•ื™ืœ ื ืึธื•ื“ื–
โ€”ื ืึธื“ืขืก n โ€” ื ื•ืžืขืจ ืคื•ืŸ ื•ื•ืึธืจืงืขืจ ื ืึธื•ื“ื– ืื™ืŸ ื“ืขื ืงื ื•ื™ืœ. ืขืก ื•ื•ืขื˜ ืฉื˜ืขื ื“ื™ืง ื–ื™ื™ืŸ ืื™ื™ืŸ ื‘ืขืœ, ื“ืึธืก ืื™ื– ืึท CSE ื‘ืึทื’ืจืขื ืขืฆื•ื ื’
โ€”enable-nfs โ€” ืฉืึทืคึฟืŸ ืึทืŸ ื ืึธืš ื ืึธื“ืข ืคึฟืึทืจ NFS ืฉืึทืจืขืก ืื•ื ื˜ืขืจ ืคึผืขืจืกื™ืกื˜ืขื ื˜ ื•ื•ืึทืœื™ื•ืžื–. ืขืก ืื™ื– ืึท ื‘ื™ืกืœ ืคื•ืŸ ืึท ื˜ืจืขื˜ืœืขืŸ ืึธืคึผืฆื™ืข; ืžื™ืจ ื•ื•ืขืœืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืฆื• ื˜ื•ื ื™ื ื’ ื•ื•ืึธืก ืขืก ื˜ื•ื˜ ืึท ื‘ื™ืกืœ ืฉืคึผืขื˜ืขืจ.

ื“ืขืจื•ื•ื™ื™ึทืœ, ืื™ืŸ vCloud ืื™ืจ ืงืขื ืขืŸ ื•ื•ื™ื–ืฉื•ื•ืึทืœื™ ืžืึธื ื™ื˜ืึธืจ ื“ื™ ืฉืึทืคื•ื ื’ ืคื•ืŸ ืึท ืงื ื•ื™ืœ
CSE: Kubernetes ืคึฟืึทืจ ื™ืขื ืข ืื™ืŸ vCloud

ืึทืžืึธืœ ื“ื™ ืึทืจื‘ืขื˜ ืคื•ืŸ ืงืจื™ื™ื™ื˜ื™ื ื’ ืึท ืงื ื•ื™ืœ ืื™ื– ื’ืขืขื ื“ื™ืงื˜, ืขืก ืื™ื– ื’ืจื™ื™ื˜ ืคึฟืึทืจ ื ื•ืฆืŸ.

ื–ืืœ ืก ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืจื™ื›ื˜ื™ืง ืคื•ืŸ ื“ื™ ื“ื™ืคึผืœื•ื™ืžืึทื ื˜ ืžื™ื˜ ื“ื™ ื‘ืึทืคึฟืขืœ vcd cse ืงื ื•ื™ืœ ืื™ื ืคึฟืึธืจืžืึทืฆื™ืข MyCluster

CSE: Kubernetes ืคึฟืึทืจ ื™ืขื ืข ืื™ืŸ vCloud

ื•ื•ื™ื™ึทื˜ืขืจ ืžื™ืจ ื“ืึทืจืคึฟืŸ ืฆื• ื‘ืึทืงื•ืžืขืŸ ื“ื™ ืงื ื•ื™ืœ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืฆื• ื ื•ืฆืŸ kubectl

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

ืื•ืŸ ืื™ืจ ืงืขื ืขืŸ ืงืึธื ื˜ืจืึธืœื™ืจืŸ ื“ื™ ืกื˜ืึทื˜ื•ืก ืคื•ืŸ ื“ืขื ืงื ื•ื™ืœ ื ื™ืฆืŸ ืขืก:

CSE: Kubernetes ืคึฟืึทืจ ื™ืขื ืข ืื™ืŸ vCloud

ืื™ืŸ ื“ืขื ืคื•ื ื˜, ื“ื™ ืงื ื•ื™ืœ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื‘ืื˜ืจืื›ื˜ ืงืึทื ื“ื™ืฉืึทื ืึทืœื™ ืืจื‘ืขื˜ืŸ, ืื•ื™ื‘ ื ื™ืฉื˜ ืคึฟืึทืจ ื“ื™ ื’ืขืฉื™ื›ื˜ืข ืžื™ื˜ ืคึผืขืจืกื™ืกื˜ืขื ื˜ ื•ื•ืึทืœื™ื•ืžื–. ื–ื™ื ื˜ ืžื™ืจ ื–ืขื ืขืŸ ืื™ืŸ vCloud, ืžื™ืจ ืงืขื ืขืŸ ื ื™ืฉื˜ ื ื•ืฆืŸ vSphere ืคึผืจืึทื•ื•ื™ื™ื“ืขืจ. ืึธืคึผืฆื™ืข --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

ืœืึธืžื™ืจ ืžืึทื›ืŸ ืคื™ื ืฃ ืคึผืจืึธื‘ืข ืคึผืึทืจื˜ื™ืฉืึทื ื– ืื•ืŸ ื˜ื™ื™ืœืŸ ื–ื™ื™ ืคึฟืึทืจ ื“ืขื ืงื ื•ื™ืœ:

>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

ื ืึธืš ืึทืœืข ื“ืขื ืžืึทื’ื™ืฉ, ืžื™ืจ ืงืขื ืขืŸ ืžืึทื›ืŸ ืคึผื•ื• ืื•ืŸ ืคึผื•ื•ืง ืื™ืŸ ืื•ื ื“ื–ืขืจ ืงื ื•ื™ืœ ืขืคึผืขืก ื•ื•ื™ ื“ืึธืก:
ืคึผื•ื•:

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

ืคึผื•ื•ืง:

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

ื“ืื ืง ืื™ืจ ืึทืœืข ืคึฟืึทืจ ื“ื™ื™ืŸ ืฆื™ื™ื˜, ืื•ื™ื‘ ืื™ืจ ื”ืึธื˜ ืคึฟืจืื’ืŸ, ืคืจืขื’ืŸ ืื™ืŸ ื“ื™ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’