CSEαŸ– Kubernetes αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŠαŸ‚αž›αž“αŸ…αž€αŸ’αž“αž»αž„ vCloud

CSEαŸ– Kubernetes αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŠαŸ‚αž›αž“αŸ…αž€αŸ’αž“αž»αž„ vCloud
αž‡αŸ†αžšαžΆαž”αžŸαž½αžšαž˜αž“αž»αžŸαŸ’αžŸαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αž“αžΆ!

αžœαžΆαž”αžΆαž“αž€αžΎαžαž‘αžΎαž„αžŠαžΌαž…αŸ’αž“αŸαŸ‡αžαžΆαž€αŸ’αžšαž»αž˜αžαžΌαž…αžšαž”αžŸαŸ‹αž™αžΎαž„αž˜αž·αž“αž˜αŸ‚αž“αž“αž·αž™αžΆαž™αžαžΆαžαŸ’αž˜αžΈαŸ—αž“αŸαŸ‡αž‘αŸ αž αžΎαž™αž˜αž·αž“αž—αŸ’αž›αžΆαž˜αŸ—αž“αŸ„αŸ‡αž‘αŸ αž”αžΆαž“αžšαžΈαž€αž…αž˜αŸ’αžšαžΎαž“αžŠαžΎαž˜αŸ’αž”αžΈαž•αŸ’αž›αžΆαžŸαŸ‹αž‘αžΈαž•αž›αž·αžαž•αž›αž˜αž½αž™αž…αŸ†αž“αž½αž“ (αž“αž·αž„αž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αžαž‘αžΆαŸ†αž„αž’αžŸαŸ‹) αž‘αŸ… Kubernetes αŸ”

αž˜αžΆαž“αž αŸαžαž»αž•αž›αž‡αžΆαž…αŸ’αžšαžΎαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαžΏαž„αž“αŸαŸ‡ αž”αŸ‰αž»αž“αŸ’αžαŸ‚αžšαžΏαž„αžšαž”αžŸαŸ‹αž™αžΎαž„αž˜αž·αž“αž˜αŸ‚αž“αž“αž·αž™αžΆαž™αž’αŸ†αž–αžΈ holivar αž‘αŸαŸ”

αž™αžΎαž„αž˜αžΆαž“αž‡αž˜αŸ’αžšαžΎαžŸαžαž·αž…αžαž½αž…αž‘αžΆαž€αŸ‹αž‘αž„αž“αžΉαž„αž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“αž αŸαžŠαŸ’αž‹αžΆαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αŸ” αž“αžΆαž™αž€ vCloud αž“αž·αž„αž“αžΆαž™αž€ vCloud αŸ” αž™αžΎαž„αž”αžΆαž“αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžαŸ’αž˜αžΈαž‡αžΆαž„αž“αŸαŸ‡ αž αžΎαž™αžŸαž˜αŸ’αžšαŸαž…αž…αž·αžαŸ’αžαž…αžΆαž”αŸ‹αž•αŸ’αžαžΎαž˜αŸ”

αž‡αžΆαžαŸ’αž˜αžΈαž˜αŸ’αžαž„αž‘αŸ€αž αžŠαŸ„αž™αž€αŸ’αžšαž‘αŸαž€αž˜αžΎαž› "The Hard Way" αžαŸ’αž‰αž»αŸ†αž”αžΆαž“αžŸαž“αŸ’αž“αž·αžŠαŸ’αž‹αžΆαž“αž™αŸ‰αžΆαž„αž†αžΆαž”αŸ‹αžšαž αŸαžŸαžαžΆ αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžŸαŸ’αžœαŸαž™αž”αŸ’αžšαžœαžαŸ’αžαž·αž€αž˜αŸ’αž˜αž™αŸ‰αžΆαž„αž αŸ„αž…αžŽαžΆαžŸαŸ‹αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž‡αžΆαž˜αžΌαž›αžŠαŸ’αž‹αžΆαž“ αžŠαžΌαž…αž‡αžΆαž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™ αž“αž·αž„αž‘αŸ†αž αŸ†αž‚αžΊαžαŸ’αžšαžΌαžœαž€αžΆαžšαž€αžΆαž›αž–αžΈαž˜αŸ’αžŸαž·αž›αž˜αž·αž‰αŸ” αž€αžΆαžšαž‡αŸ’αžšαž˜αž»αž‡αž‘αžΉαž€αž™αŸ‰αžΆαž„αž‡αŸ’αžšαŸ…αž‘αŸ…αž€αŸ’αž“αž»αž„ 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 αž˜αžΆαž“αžŸαŸ†αžŽαž»αŸ†αž”αŸ‰αžΆαžšαŸ‰αžΆαž˜αŸ‰αŸ‚αžαŸ’αžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αž‡αžΆαž…αŸ’αžšαžΎαž“ αž–αž½αž€αžœαžΆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αž’αžΆαž…αž˜αžΎαž›αž”αžΆαž“αŸ” αž“αŸ…αž‘αžΈαž“αŸαŸ‡αŸ”

αžŠαŸ†αž”αžΌαž„ αž™αžΎαž„αž”αž„αŸ’αž€αžΎαžαž€αžΌαž“αžŸαŸ„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αžΌαž›αž”αŸ’αžšαžΎαžŠαŸ„αž™αž‚αŸ’αž˜αžΆαž“αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αž…αž„αŸ’αž€αŸ„αž˜αž“αžΆαž–αŸαž›αž’αž“αžΆαž‚αžαŸ” αž…αŸ†αžŽαž»αž…αž“αŸαŸ‡αž˜αžΆαž“αžŸαžΆαžšαŸˆαžŸαŸ†αžαžΆαž“αŸ‹ αžŠαŸ„αž™αžŸαžΆαžšαžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜ αž€αžΆαžšαž…αžΌαž›αž–αžΆαž€αŸ’αž™αžŸαž˜αŸ’αž„αžΆαžαŸ‹αž‘αŸ…αž€αžΆαž“αŸ‹αžαŸ’αž“αžΆαŸ†αž„αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘ αž αžΎαž™αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž˜αž·αž“αž€αŸ†αžŽαžαŸ‹αžŸαŸ„αž‘αŸ αž’αŸ’αž“αž€αž’αžΆαž…αž‘αž‘αž½αž›αž”αžΆαž“αž€αžΆαžšαž„αžΆαžšαž‡αžΆαž…αŸ’αžšαžΎαž“αžαžΆαž˜αžšαž™αŸˆαž€αž»αž„αžŸαžΌαž›αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž“αž·αž˜αŸ’αž˜αž·αž αžŠαŸ‚αž›αž˜αž·αž“αž„αžΆαž™αžŸαŸ’αžšαž½αž›αž“αŸ„αŸ‡αž‘αŸαŸ”

# 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 β€” αž‚αŸ’αžšαžΆαž”αŸ‹αž…αž»αž…β€‹αžŠαŸ‚αž›β€‹αž™αžΎαž„β€‹αž”αžΆαž“β€‹αž”αž„αŸ’αž€αžΎαž αžŠαŸ‚αž›β€‹αž“αžΉαž„β€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αžŸαžšαžŸαŸαžšβ€‹αž‘αŸ…β€‹αžαŸ’αž“αžΆαŸ†αž„β€‹αž…αž„αŸ’αž€αŸ„αž˜
β€”nodes n β€” αž…αŸ†αž“αž½αž“αžαŸ’αž“αžΆαŸ†αž„αž€αž˜αŸ’αž˜αž€αžšαž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αŸ” αžœαžΆαž“αžΉαž„αž˜αžΆαž“αž˜αŸαžαŸ‚αž˜αž½αž™ αž“αŸαŸ‡αž‚αžΊαž‡αžΆαžŠαŸ‚αž“αž€αŸ†αžŽαžαŸ‹ CSE
β€”enable-nfs β€” αž”αž„αŸ’αž€αžΎαž node αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€ NFS αž“αŸ…αž€αŸ’αžšαŸ„αž˜αž—αžΆαž‚αž”αž“αŸ’αžαŸ” αžœαžΆαž‡αžΆαž‡αž˜αŸ’αžšαžΎαžŸαžˆαŸ’αž“αžΆαž“αŸ‹αž”αž“αŸ’αžαž·αž… αž™αžΎαž„αž“αžΉαž„αžαŸ’αžšαž›αž”αŸ‹αž‘αŸ…αž€αžΆαžšαž›αŸƒαžαž˜αŸ’αžšαžΌαžœαž’αŸ’αžœαžΈαžŠαŸ‚αž›αžœαžΆαž’αŸ’αžœαžΎαž“αŸ…αž–αŸαž›αž€αŸ’αžšαŸ„αž™αŸ”

αž‘αž“αŸ’αž‘αžΉαž˜αž“αžΉαž„αž“αŸαŸ‡ αž“αŸ…αž€αŸ’αž“αž»αž„ vCloud αž’αŸ’αž“αž€αž’αžΆαž…αžαžΆαž˜αžŠαžΆαž“αž€αžΆαžšαž”αž„αŸ’αž€αžΎαž cluster αžŠαŸ„αž™αž˜αžΎαž›αžƒαžΎαž‰
CSEαŸ– Kubernetes αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŠαŸ‚αž›αž“αŸ…αž€αŸ’αž“αž»αž„ vCloud

αž“αŸ…αž–αŸαž›αžŠαŸ‚αž›αž—αžΆαžšαž€αž·αž…αŸ’αž…αž”αž„αŸ’αž€αžΎαžαž…αž„αŸ’αž€αŸ„αž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž‰αŸ’αž…αž”αŸ‹ αžœαžΆαžšαž½αž…αžšαžΆαž›αŸ‹αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ”

αžαŸ„αŸ‡αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž—αžΆαž–αžαŸ’αžšαžΉαž˜αžαŸ’αžšαžΌαžœαž“αŸƒαž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αžŠαŸ„αž™αž”αŸ’αžšαžΎαž–αžΆαž€αŸ’αž™αž”αž‰αŸ’αž‡αžΆ vcd cse info cluster MyCluster

CSEαŸ– Kubernetes αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŠαŸ‚αž›αž“αŸ…αž€αŸ’αž“αž»αž„ vCloud

αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž™αžΎαž„αžαŸ’αžšαžΌαžœαž™αž€αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž…αž„αŸ’αž€αŸ„αž˜αžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαžΎ kubectl

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

αž αžΎαž™αž’αŸ’αž“αž€αž’αžΆαž…αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αžŸαŸ’αžαžΆαž“αž—αžΆαž–αž“αŸƒαž…αž„αŸ’αž€αŸ„αž˜αžŠαŸ„αž™αž”αŸ’αžšαžΎαžœαžΆαŸ–

CSEαŸ– Kubernetes αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŠαŸ‚αž›αž“αŸ…αž€αŸ’αž“αž»αž„ vCloud

αž“αŸ…αž…αŸ†αžŽαž»αž…αž“αŸαŸ‡ αž…αž„αŸ’αž€αŸ„αž˜αž’αžΆαž…αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αžΆαžαŸ‹αž‘αž»αž€αžαžΆαžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαžΆαž˜αž›αž€αŸ’αžαžαžŽαŸ’αžŒ αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž˜αž·αž“αž˜αŸ‚αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αžšαžΏαž„αžŠαŸ‚αž›αž˜αžΆαž“αž—αžΆαž‚αž”αž“αŸ’αžαŸ” αžŠαŸ„αž™αžŸαžΆαžšαž™αžΎαž„αž“αŸ…αž€αŸ’αž“αž»αž„ 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

αžαŸ„αŸ‡αž”αž„αŸ’αž€αžΎαžαž—αžΆαž‚αžαžΆαžŸαžŸαžΆαž€αž›αŸ’αž”αž„αž…αŸ†αž“αž½αž“αž”αŸ’αžšαžΆαŸ† αž αžΎαž™αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αžœαžΆαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž…αž„αŸ’αž€αŸ„αž˜αŸ–

>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 αž“αŸ…αž€αŸ’αž“αž»αž„αž…αž„αŸ’αž€αŸ„αž˜αžšαž”αžŸαŸ‹αž™αžΎαž„αžŠαžΌαž…αž“αŸαŸ‡αŸ–
PVαŸ–

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

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹