CSE: Kubernetes เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบขเบนเปˆเปƒเบ™ vCloud

CSE: Kubernetes เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบขเบนเปˆเปƒเบ™ vCloud
เบชเบฐเบšเบฒเบเบ”เบตเบ—เบธเบเบ„เบปเบ™!

เบกเบฑเบ™เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ—เบตเบกเบ‡เบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบšเปเปˆเป„เบ”เป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰, เปเบฅเบฐเปเบ™เปˆเบ™เบญเบ™เบงเปˆเบฒเบšเปเปˆเบ—เบฑเบ™เบ—เบตเบ—เบฑเบ™เปƒเบ”, เป„เบ”เป‰เป€เบ•เบตเบšเปƒเบซเบเปˆเบ‚เบถเป‰เบ™เป€เบžเบทเปˆเบญเบเป‰เบฒเบเบšเบฒเบ‡เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™ (เปเบฅเบฐเปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เบ—เบฑเบ‡เบซเบกเบปเบ”) เป„เบ› Kubernetes.

เบกเบตเบซเบผเบฒเบเป€เบซเบ”เบœเบปเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰, เปเบ•เปˆเป€เบฅเบทเปˆเบญเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเปเบกเปˆเบ™เบเปˆเบฝเบงเบเบฑเบš holivar.

เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเปœเป‰เบญเบเบเปˆเบฝเบงเบเบฑเบšเบžเบทเป‰เบ™เบ–เบฒเบ™เป‚เบ„เบ‡เบฅเปˆเบฒเบ‡. เบœเบนเป‰เบญเปเบฒเบ™เบงเบเบเบฒเบ™ vCloud เปเบฅเบฐเบœเบนเป‰เบญเปเบฒเบ™เบงเบเบเบฒเบ™ vCloud. เบžเบงเบเป€เบฎเบปเบฒเป€เบฅเบทเบญเบเบญเบฑเบ™เปƒเปเปˆเบเบงเปˆเบฒ เปเบฅเบฐเบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™.

เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡, เบŠเบญเบเบซเบฒเบœเปˆเบฒเบ™ "เบ—เบฒเบ‡เบเบฒเบ," เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบชเบฐเบซเบผเบธเบšเบขเปˆเบฒเบ‡เป„เบงเบงเบฒเบงเปˆเบฒเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ‚เบฑเป‰เบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบ, เป€เบŠเบฑเปˆเบ™: เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ”, เปเบกเปˆเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™เบกเบทเป‰เบงเบฒเบ™เบ™เบตเป‰. เบเบฒเบ™เบฅเบปเบ‡เป€เบฅเบดเบเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ Google เป„เบ”เป‰เบ™เปเบฒเป€เบญเบปเบฒเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป€เบ›เบฑเบ™ VMware Container Service Extension (CSE) - เบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”เบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบเบฒเบ™เบชเป‰เบฒเบ‡เปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ”เบ‚เบญเบ‡เบเบธเปˆเบก k8s เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบขเบนเปˆเปƒเบ™ vCloud.

เบเบฒเบ™เบ›เบฐเบ•เบดเป€เบชเบ”เบ„เบงเบฒเบกเบฎเบฑเบšเบœเบดเบ”เบŠเบญเบš: CSE เบกเบตเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบ‚เบญเบ‡เบกเบฑเบ™, เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบกเบฑเบ™เบชเบปเบกเบšเบนเบ™เปเบšเบš. เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เบเบฒเบ™เปเบเป‰เป„เบ‚เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบˆเบฒเบเบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เบŸเบฑเบ‡, เปเบ•เปˆเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบžเบฒเบเบชเปˆเบงเบ™เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบเบฑเบ‡เป€เบ›เบฑเบ™เปเบซเบผเปˆเบ‡เป€เบ›เบตเบ”, เบ‚เปเปƒเบซเป‰เบœเบนเป‰เบˆเบฑเบ”เบเบฒเบ™เบ—เบตเปˆเปƒเบเป‰เบ—เบตเปˆเบชเบธเบ”เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบกเบตเบขเบนเปˆ :)

เป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบกเบฑเบ™, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบšเบฑเบ™เบŠเบตเบœเบนเป‰เป€เบšเบดเปˆเบ‡เปเบเบ‡เบฅเบฐเบšเบปเบšเปƒเบ™เบญเบปเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡ vCloud เปเบฅเบฐเป€เบ„เบทเบญเบ‚เปˆเบฒเบเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰เบชเปเบฒเบฅเบฑเบšเบเบธเปˆเบก (เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”เบˆเบฒเบเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ™เบตเป‰, เบขเปˆเบฒเบฅเบทเบกเบเปเบฒเบ™เบปเบ” Firewall / NAT). เบ—เบตเปˆเบขเบนเปˆเบšเปเปˆเบชเปเบฒเบ„เบฑเบ™. เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ™เบตเป‰, เปƒเบซเป‰เป€เบญเบปเบฒ 10.0.240.0/24

CSE: Kubernetes เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบขเบนเปˆเปƒเบ™ vCloud

เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบเบฒเบ™เบชเป‰เบฒเบ‡, เบเบธเปˆเบกเบˆเบฐเบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡, เบกเบฑเบ™เปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบกเบต VPN เบ—เบตเปˆเบกเบตเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™. เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ SSL VPN เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบ—เบตเปˆเบเบณเบ™เบปเบ”เบ„เปˆเบฒเบขเบนเปˆเปƒเบ™ Edge Gateway เบ‚เบญเบ‡เบญเบปเบ‡เบเบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.

เบ•เปเปˆเป„เบ›, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบฅเบนเบเบ„เป‰เบฒ CSE เบ—เบตเปˆเบเบธเปˆเบก k8s เบˆเบฐเบ–เบทเบเบˆเบฑเบ”เบเบฒเบ™. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ‚เป‰เบญเบ, เบ™เบตเป‰เปเบกเปˆเบ™เปเบฅเบฑเบšเบ—เบฑเบญเบšเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเปเบฅเบฐเบชเบญเบ‡เบ–เบฑเบ‡เบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ‡เป„เบงเป‰เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบ‚เบฑเบšเบฅเบปเบ”เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”.

เบฅเบนเบเบ„เป‰เบฒเบ•เป‰เบญเบ‡เบเบฒเบ™ 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 เบกเบตเบซเบผเบฒเบเบŠเบธเบ”เบ‚เบญเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰, เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เป„เบ”เป‰ เบ—เบตเปˆเบ™เบตเป‰.

เบ—เปเบฒเบญเบดเบ”, เปƒเบซเป‰เบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบธเปˆเบกเบ—เบตเปˆเบšเปเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”. เบˆเบธเบ”เบ™เบตเป‰เปเบกเปˆเบ™เบชเปเบฒเบ„เบฑเบ™, เป€เบžเบฒเบฐเบงเปˆเบฒเป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบš nodes เบˆเบฐเบ–เบทเบเบ›เบดเบ”เบเบฒเบ™เปƒเบŠเป‰เบ‡เบฒเบ™, เปเบฅเบฐเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบšเปเปˆเป„เบ”เป‰เบ•เบฑเป‰เบ‡เบเบฐเปเบˆ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบงเบฝเบเป„เบ”เป‰เบซเบผเบฒเบเป‚เบ”เบเบœเปˆเบฒเบ™ consoles virtual machines, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบชเบฐเบ”เบงเบ.

# 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 เบ™เบฒเบ—เบตเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเปเบฒเป€เบฅเบฑเบ”เบซเบ™เป‰เบฒเบงเบฝเบ; เปƒเบ™เป€เบงเบฅเบฒเบ™เบตเป‰, เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบ›เบตเบ”เบ•เบปเบงเบžเบทเป‰เบ™เบ–เบฒเบ™.

โ€”network โ€” เป€เบ„เบทเบญโ€‹เบ‚เปˆเบฒเบโ€‹เบ—เบตเปˆโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบชเป‰เบฒเบ‡โ€‹เบ‚เบถเป‰เบ™โ€‹เบเปˆเบญเบ™โ€‹เบซเบ™เป‰เบฒโ€‹เบ™เบตเป‰โ€‹.
โ€”ssh-key โ€” เบเบฐโ€‹เปเบˆโ€‹เบ—เบตเปˆโ€‹เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เบชเป‰เบฒเบ‡โ€‹เบ‚เบถเป‰เบ™โ€‹, เป€เบŠเบดเปˆเบ‡โ€‹เบˆเบฐโ€‹เป„เบ”เป‰โ€‹เบฎเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ‚เบฝเบ™โ€‹เปƒเบชเปˆโ€‹เบ‚เปเป‰โ€‹เบ‚เบญเบ‡ clusterโ€‹
โ€”nodes n โ€” เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบ‚เบญเบ‡โ€‹เบ‚เปเป‰โ€‹เบ‚เบญเบ‡โ€‹เบœเบนเป‰โ€‹เป€เบฎเบฑเบ”โ€‹เบงเบฝเบโ€‹เปƒเบ™โ€‹เบเบธเปˆเบกโ€‹. เบชเบฐเป€เบซเบกเบตเบˆเบฐเบกเบตเบซเบ™เบถเปˆเบ‡เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš, เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ” CSE
โ€”enable-nfs โ€” เบชเป‰เบฒเบ‡ node เป€เบžเบตเปˆเบกโ€‹เป€เบ•เบตเบกโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เปเบšเปˆเบ‡โ€‹เบ›เบฑเบ™ NFS เบžเบฒเบโ€‹เปƒเบ•เป‰โ€‹เบ›เบฐโ€‹เบฅเบดโ€‹เบกเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบเบฑเบ‡โ€‹เบ„เบปเบ‡โ€‹เบ„เป‰เบฒเบ‡โ€‹. เบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ‚เบญเบ‡ pedal เป€เบฅเบฑเบเบ™เป‰เบญเบ; เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบเบฑเบšเป„เบ›เบ›เบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฑเบ™เป€เบฎเบฑเบ”เปƒเบ™เบžเบฒเบเบซเบผเบฑเบ‡.

เปƒเบ™เบ‚เบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™, เปƒเบ™ vCloud เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เบฒเบกเป€เบšเบดเปˆเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบเบธเปˆเบกเป„เบ”เป‰
CSE: Kubernetes เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบขเบนเปˆเปƒเบ™ vCloud

เป€เบกเบทเปˆเบญเบงเบฝเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบเบธเปˆเบกเป„เบ”เป‰เบ–เบทเบเบชเปเบฒเป€เบฅเบฑเบ”, เบกเบฑเบ™เบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰.

เปƒเบซเป‰เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ„เบงเบฒเบกเบ–เบทเบเบ•เป‰เบญเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡ vcd cse เบ‚เปเป‰เบกเบนเบ™เบเบธเปˆเบก MyCluster

CSE: Kubernetes เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบขเบนเปˆเปƒเบ™ vCloud

เบ•เปเปˆเป„เบ›เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบธเปˆเบกเป€เบžเบทเปˆเบญเปƒเบŠเป‰ kubectl

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

เปเบฅเบฐเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบงเบ”เป€เบšเบดเปˆเบ‡เบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡เบเบธเปˆเบกเป‚เบ”เบเปƒเบŠเป‰เบกเบฑเบ™:

CSE: Kubernetes เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบขเบนเปˆเปƒเบ™ vCloud

เปƒเบ™เบˆเบธเบ”เบ™เบตเป‰, เบเบธเปˆเบกเบชเบฒเบกเบฒเบ”เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป€เบฎเบฑเบ”เบงเบฝเบเบ•เบฒเบกเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚, เบ–เป‰เบฒเบšเปเปˆเปเบกเปˆเบ™เบชเปเบฒเบฅเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ—เบตเปˆเบกเบตเบ›เบฐเบฅเบดเบกเบฒเบ™เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบžเบงเบเป€เบฎเบปเบฒเบขเบนเปˆเปƒเบ™ vCloud, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰ vSphere Provider เป„เบ”เป‰. เบ—เบฒเบ‡เป€เบฅเบทเบญเบ --enable-nfs เบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบ„เบงเบฒเบกเบงเบธเป‰เบ™เบงเบฒเบเบ™เบตเป‰, เปเบ•เปˆเบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบœเบปเบ™เปเบปเบ”. เบ•เป‰เบญเบ‡เบ›เบฑเบšเบ•เบปเบงเบ”เป‰เบงเบเบกเบท.

เป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, node เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡ Independent disk เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเปƒเบ™ vCloud. เบ™เบตเป‰เบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเบซเบฒเบเป„เบ›เบžเป‰เบญเบกเบเบฑเบš cluster เบ–เป‰เบฒเบกเบฑเบ™เบ–เบทเบเบฅเบถเบš. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบœเปˆเบ™เบเบฑเบš NFS

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

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเป„เบ›เบœเปˆเบฒเบ™ ssh (เป€เบˆเบปเป‰เบฒเบชเป‰เบฒเบ‡เบ„เบตเปเบ—เป‰เป†เบšเป?) เป„เบ›เบซเบฒ NFS node เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบฅเบฐเบชเบธเบ”เบ—เป‰เบฒเบเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบœเปˆเบ™:

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

เบซเบผเบฑเบ‡เบˆเบฒเบ magic เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡ 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

เบ‚เปเบ‚เบญเบšเปƒเบˆเบ—เปˆเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเปƒเบŠเป‰เป€เบงเบฅเบฒเบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบ„เปเบฒเบ–เบฒเบกเปƒเบ”เป†, เบ–เบฒเบกเปƒเบ™เบ„เปเบฒเป€เบซเบฑเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™