CSE: vCloud рдордзреНрдпреЗ рдЕрд╕рд▓реЗрд▓реНрдпрд╛рдВрд╕рд╛рдареА Kubernetes

CSE: vCloud рдордзреНрдпреЗ рдЕрд╕рд▓реЗрд▓реНрдпрд╛рдВрд╕рд╛рдареА Kubernetes
рд╣реЕрд▓реЛ рдкреНрд░рддреНрдпреЗрдХрдЬрдг!

рдЕрд╕реЗ рдШрдбрд▓реЗ рдХреА рдЖрдордЪреА рдЫреЛрдЯреА рдЯреАрдо, рдЕрд▓реАрдХрдбреЗрдЪ рдЖрдгрд┐ рдирдХреНрдХреАрдЪ рдЕрдЪрд╛рдирдХ рдирд╛рд╣реА рдЕрд╕реЗ рдореНрд╣рдгреВ рдирдпреЗ, рдХреБрдмрд░реНрдиреЗрдЯреНрд╕рдордзреНрдпреЗ рдХрд╛рд╣реА (рдЖрдгрд┐ рднрд╡рд┐рд╖реНрдпрд╛рдд рд╕рд░реНрд╡) рдЙрддреНрдкрд╛рджрдиреЗ рд╣рд▓рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдврд▓реА рдЖрд╣реЗ.

рдпрд╛рдЪреА рдЕрдиреЗрдХ рдХрд╛рд░рдгреЗ рд╣реЛрддреА, рдкрдг рдЖрдордЪреА рдХрдерд╛ рд╣реЛрд▓рд┐рд╡рд░рдЪреА рдирд╛рд╣реА.

рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрдмрд╛рдмрдд рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдлрд╛рд░рд╕рд╛ рдкрд░реНрдпрд╛рдп рдирд╡реНрд╣рддрд╛. vCloud рд╕рдВрдЪрд╛рд▓рдХ рдЖрдгрд┐ vCloud рд╕рдВрдЪрд╛рд▓рдХ. рдЖрдореНрд╣реА рдирд╡реАрди рдирд┐рд╡рдбрд▓реЗ рдЖрдгрд┐ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛.

рдкреБрдиреНрд╣рд╛ рдПрдХрджрд╛ тАЬрдж рд╣рд╛рд░реНрдб рд╡реЗтАЭ рдкрд╛рд╣рд┐рд▓реНрдпрд╛рдирдВрддрд░, рдореА рдЕрдЧрджреА рддреНрд╡рд░реАрдд рдпрд╛ рдирд┐рд╖реНрдХрд░реНрд╖рд╛рд╡рд░ рдкреЛрд╣реЛрдЪрд▓реЛ рдХреА, рдХрд┐рдорд╛рди рдореВрд▓рднреВрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЬрд╕реЗ рдХреА рдЙрдкрдпреЛрдЬрди рдЖрдгрд┐ рдЖрдХрд╛рд░рдорд╛рди, рдХрд╛рд▓ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. Google рдордзреНрдпреЗ рдЦреЛрд▓рд╡рд░ рдЬрд╛рдгреНрдпрд╛рдиреЗ VMware Container Service Extension (CSE) рд╕рд╛рд░рдЦреЗ рдЙрддреНрдкрд╛рджрди рд╕рдореЛрд░ рдЖрд▓реЗ - рдПрдХ рдореБрдХреНрдд рд╕реНрддреНрд░реЛрдд рдЙрддреНрдкрд╛рджрди рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ vCloud рдордзреАрд▓ k8s рдХреНрд▓рд╕реНрдЯрд░реНрд╕рдЪреА рдирд┐рд░реНрдорд┐рддреА рдЖрдгрд┐ рдЖрдХрд╛рд░ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ.

рдЕрд╕реНрд╡реАрдХрд░рдг: CSE рд▓рд╛ рдорд░реНрдпрд╛рджрд╛ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рдЖрдордЪреНрдпрд╛ рд╣реЗрддреВрдВрд╕рд╛рдареА рддреЗ рдкрд░рд┐рдкреВрд░реНрдг рд╣реЛрддреЗ. рддрд╕реЗрдЪ, рдХреНрд▓рд╛рдЙрдб рдкреНрд░рджрд╛рддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рд╕реЛрд▓реНрдпреВрд╢рдирдЪреЗ рд╕рдорд░реНрдерди рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╕рд░реНрд╡реНрд╣рд░рдЪрд╛ рднрд╛рдЧ рджреЗрдЦреАрд▓ рдУрдкрди-рд╕реЛрд░реНрд╕ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рддреБрдордЪреНрдпрд╛ рдЬрд╡рд│рдЪреНрдпрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХрд╛рд╕ рддреЗ рдЙрдкрд▓рдмреНрдз рдХрд░реВрди рджреЗрдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрд╛ :)

рддреЗ рд╡рд╛рдкрд░рдгреЗ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ vCloud рд╕рдВрд╕реНрдереЗрдордзреНрдпреЗ рдкреНрд░рд╢рд╛рд╕рдХ рдЦрд╛рддреЗ рдЖрдгрд┐ рдХреНрд▓рд╕реНрдЯрд░рд╕рд╛рдареА рдкреВрд░реНрд╡реА рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рд░реВрдЯ рдХреЗрд▓реЗрд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рдЙрдкрдпреЛрдЬрди рдкреНрд░рдХреНрд░рд┐рдпреЗрджрд░рдореНрдпрд╛рди, рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛ рдиреЗрдЯрд╡рд░реНрдХрд╡рд░реВрди рдЗрдВрдЯрд░рдиреЗрдЯ рдкреНрд░рд╡реЗрд╢ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рдлрд╛рдпрд░рд╡реЙрд▓/NAT рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рд╕ рд╡рд┐рд╕рд░реВ рдирдХрд╛). рд╕рдВрдмреЛрдзрдирд╛рдиреЗ рдХрд╛рд╣реА рдлрд░рдХ рдкрдбрдд рдирд╛рд╣реА. рдпрд╛ рдЙрджрд╛рд╣рд░рдгрд╛рдд, 10.0.240.0/24 рдШреЗрдК

CSE: vCloud рдордзреНрдпреЗ рдЕрд╕рд▓реЗрд▓реНрдпрд╛рдВрд╕рд╛рдареА Kubernetes

рдирд┐рд░реНрдорд┐рддреАрдирдВрддрд░, рдХреНрд▓рд╕реНрдЯрд░ рдХрд╕реЗ рддрд░реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ, рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рд░рд╛рдЙрдЯрд┐рдВрдЧрд╕рд╣ VPN рдЕрд╕рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХреЗрд▓реА рдЬрд╛рддреЗ. рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ рд╕рдВрд╕реНрдереЗрдЪреНрдпрд╛ рдПрдЬ рдЧреЗрдЯрд╡реЗрд╡рд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓реЗ рдорд╛рдирдХ SSL VPN рд╡рд╛рдкрд░рддреЛ.

рдкреБрдвреЗ, рддреБрдореНрд╣рд╛рд▓рд╛ CSE рдХреНрд▓рд╛рдпрдВрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреЗрдереЗ k8s рдХреНрд▓рд╕реНрдЯрд░ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓. рдорд╛рдЭреНрдпрд╛ рдмрд╛рдмрддреАрдд, рд╣рд╛ рдПрдХ рдХрд╛рд░реНрдпрд░рдд рд▓реЕрдкрдЯреЙрдк рдЖрдгрд┐ рдСрдЯреЛрдореЗрд╢рди рдЪрд╛рд▓рд╡рд┐рдгрд╛рд░реЗ рдХрд╛рд╣реА рдЪрд╛рдВрдЧрд▓реЗ рд▓рдкрд▓реЗрд▓реЗ рдХрдВрдЯреЗрдирд░ рдЖрд╣реЗ.

рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рдкрд╛рдпрдерди рдЖрд╡реГрддреНрддреА 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 рдорд┐рдирд┐рдЯреЗ рд▓рд╛рдЧрддреАрд▓; рдпрд╛рджрд░рдореНрдпрд╛рди, рдореВрд▓рднреВрдд рд▓рд╛рдБрдЪ рдкреЕрд░рд╛рдореАрдЯрд░реНрд╕ рдкрд╛рд╣реВ.

тАФnetwork тАФ рдЖрдореНрд╣реА рдкреВрд░реНрд╡реА рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рдиреЗрдЯрд╡рд░реНрдХ.
тАФssh-рдХреА тАФ рдЖрдореНрд╣реА рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреА, рдЬреНрдпрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдиреЛрдбреНрд╕рд╡рд░ рд▓рд┐рд╣рд┐рд▓реНрдпрд╛ рдЬрд╛рддреАрд▓
тАФрдиреЛрдбреНрд╕ n тАФ рдХреНрд▓рд╕реНрдЯрд░рдордзреАрд▓ рд╡рд░реНрдХрд░ рдиреЛрдбреНрд╕рдЪреА рд╕рдВрдЦреНрдпрд╛. рдиреЗрд╣рдореА рдПрдХ рдорд╛рд╕реНрдЯрд░ рдЕрд╕реЗрд▓, рд╣реА CSE рдорд░реНрдпрд╛рджрд╛ рдЖрд╣реЗ
тАФenable-nfs тАФ рдкрд░реНрд╕рд┐рд╕реНрдЯрдВрдЯ рд╡реНрд╣реЙрд▓реНрдпреВрдореНрд╕ рдЕрдВрддрд░реНрдЧрдд NFS рд╢реЗрдЕрд░реНрд╕рд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рдиреЛрдб рддрдпрд╛рд░ рдХрд░рд╛. рд╣рд╛ рдереЛрдбрд╛рд╕рд╛ рдкреЕрдбрд▓ рдкрд░реНрдпрд╛рдп рдЖрд╣реЗ; рдЖрдореНрд╣реА рдереЛрдбреНрдпрд╛ рд╡реЗрд│рд╛рдиреЗ рддреЗ рдХрд╛рдп рдХрд░рддреЗ рддреЗ рдЯреНрдпреВрдирд┐рдВрдЧрд╡рд░ рдкрд░рдд рдпреЗрдК.

рджрд░рдореНрдпрд╛рди, vCloud рдордзреНрдпреЗ рдЖрдкрдг рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рдирд┐рд░реНрдорд┐рддреАрдЪреЗ рджреГрд╢реНрдпрдорд╛рдирдкрдгреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░реВ рд╢рдХрддрд╛
CSE: vCloud рдордзреНрдпреЗ рдЕрд╕рд▓реЗрд▓реНрдпрд╛рдВрд╕рд╛рдареА Kubernetes

рдХреНрд▓рд╕реНрдЯрд░ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреЗ рдХрд╛рдо рдкреВрд░реНрдг рдЭрд╛рд▓реНрдпрд╛рд╡рд░ рддреЗ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдЖрд╣реЗ.

рдХрдорд╛рдВрдбрд╕рд╣ рддреИрдирд╛рддреАрдЪреА рд╢реБрджреНрдзрддрд╛ рддрдкрд╛рд╕реВрдпрд╛ vcd cse рдХреНрд▓рд╕реНрдЯрд░ рдорд╛рд╣рд┐рддреА MyCluster

CSE: vCloud рдордзреНрдпреЗ рдЕрд╕рд▓реЗрд▓реНрдпрд╛рдВрд╕рд╛рдареА Kubernetes

рдкреБрдвреЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдХреНрд▓рд╕реНрдЯрд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ kubectl

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

рдЖрдгрд┐ рдЖрдкрдг рддреЗ рд╡рд╛рдкрд░реВрди рдХреНрд▓рд╕реНрдЯрд░рдЪреА рд╕реНрдерд┐рддреА рддрдкрд╛рд╕реВ рд╢рдХрддрд╛:

CSE: vCloud рдордзреНрдпреЗ рдЕрд╕рд▓реЗрд▓реНрдпрд╛рдВрд╕рд╛рдареА Kubernetes

рдпрд╛ рдЯрдкреНрдкреНрдпрд╛рд╡рд░, рдХреНрд▓рд╕реНрдЯрд░рд▓рд╛ рд╕рд╢рд░реНрддрдкрдгреЗ рдХрд╛рд░реНрдпрд░рдд рдорд╛рдирд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рдЬрд░ рд╕рддрдд рдЦрдВрдб рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рдХрдереЗрд╕рд╛рдареА рдирд╛рд╣реА. рдЖрдореНрд╣реА 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

рддреНрдпрд╛рдирдВрддрд░, рдЖрдореНрд╣реА рдЖрдордЪреНрдпрд╛ NFS рдиреЛрдбрд╡рд░ ssh (рддреБрдореНрд╣реА рдЦрд░реЛрдЦрд░ рдХреА рддрдпрд╛рд░ рдХреЗрд▓реНрдпрд╛?) рджреНрд╡рд╛рд░реЗ рдЬрд╛рддреЛ рдЖрдгрд┐ рд╢реЗрд╡рдЯреА рдбрд┐рд╕реНрдХ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЛ:

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛