CSE: vCloud рдорд╛ рднрдПрдХрд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ Kubernetes

CSE: vCloud рдорд╛ рднрдПрдХрд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ Kubernetes
рдирдорд╕реНрдХрд╛рд░!

рдпреЛ рдпрд╕реНрддреЛ рднрдпреЛ рдХрд┐ рд╣рд╛рдореНрд░реЛ рд╕рд╛рдиреЛ рдЯреЛрд▓реА, рднрд░реНрдЦрд░реИ, рд░ рдкрдХреНрдХреИ рдкрдирд┐ рдЕрдЪрд╛рдирдХ рд╣реЛрдЗрди, рдХреЗрд╣реА (рд░ рднрд╡рд┐рд╖реНрдпрдорд╛ рд╕рдмреИ) рдЙрддреНрдкрд╛рджрдирд╣рд░реВ Kubernetes рдорд╛ рд╕рд╛рд░реНрди рдмрдвреЗрдХреЛ рдЫред

рдпрд╕рдХрд╛ рдзреЗрд░реИ рдХрд╛рд░рдгрд╣рд░реВ рдерд┐рдП, рддрд░ рд╣рд╛рдореНрд░реЛ рдХрдерд╛ рд╣реЛрд▓рд┐рднрд░рдХреЛ рдмрд╛рд░реЗрдорд╛ рд╣реЛрдЗрдиред

рд╣рд╛рдореАрд╕рдБрдЧ рдкреВрд░реНрд╡рд╛рдзрд╛рд░рдХреЛ рдЖрдзрд╛рд░рдорд╛ рдереЛрд░реИ рд╡рд┐рдХрд▓реНрдк рдерд┐рдпреЛред vCloud рдирд┐рд░реНрджреЗрд╢рдХ рд░ vCloud рдирд┐рд░реНрджреЗрд╢рдХред рд╣рд╛рдореАрд▓реЗ рдирдпрд╛рдБ рд░реЛрдЬреНрдпреМрдВ рд░ рд╕реБрд░реБ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реНрдпреМрдВред

рдПрдХ рдкрдЯрдХ рдлреЗрд░рд┐, "рд╣рд╛рд░реНрдб рд╡реЗ" рдорд╛рд░реНрдлрдд рд╣реЗрд░реНрджреИ, рдо рдзреЗрд░реИ рдЪрд╛рдБрдбреИ рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛ рдкреБрдЧреЗрдВ рдХрд┐ рдХрдореНрддрд┐рдорд╛ рдЖрдзрд╛рд░рднреВрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрдиреЗ рдЙрдкрдХрд░рдг, рдЬрд╕реНрддреИ рддреИрдирд╛рддреА рд░ рд╕рд╛рдЗрдЬрд┐рдЩ, рд╣рд┐рдЬреЛ рдЖрд╡рд╢реНрдпрдХ рдерд┐рдпреЛред Google рдорд╛ рдЧрд╣рд┐рд░реЛ рдбреБрдмреНрдирд▓реЗ VMware рдХрдиреНрдЯреЗрдирд░ рд╕реЗрд╡рд╛ рд╡рд┐рд╕реНрддрд╛рд░ (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".

рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд, рддрд░ fixableред рдЬрд╕рд░реА рдпреЛ рдмрд╛рд╣рд┐рд░рд┐рдпреЛ, 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 тАФ рд▓рдЧрд╛рддрд╛рд░ рднреЛрд▓реНрдпреБрдо рдЕрдиреНрддрд░реНрдЧрдд 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

рдпреЛ рд╕рдмреИ рдЬрд╛рджреБрдИ рдкрдЫрд┐, рд╣рд╛рдореА рд╣рд╛рдореНрд░реЛ рдХреНрд▓рд╕реНрдЯрд░рдорд╛ 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

рдкреАрд╡реАрд╕реА:

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди