ΠΡΠ΅ΠΌ ΠΏΡΠΈΠ²Π΅Ρ!
Π’Π°ΠΊ ΡΠ»ΠΎΠΆΠΈΠ»ΠΎΡΡ, ΡΡΠΎ Π½Π°ΡΠ° Π½Π΅Π±ΠΎΠ»ΡΡΠ°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π½Π΅ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎΠ±Ρ Π½Π΅Π΄Π°Π²Π½ΠΎ, ΠΈ ΡΠΆ ΡΠΎΡΠ½ΠΎ Π½Π΅ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ, Π΄ΠΎΡΠΎΡΠ»Π° Π΄ΠΎ ΠΏΠ΅ΡΠ΅Π½ΠΎΡΠ° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ (Π° Π² ΠΏΠ΅ΡΡΠΏΠ΅ΠΊΡΠΈΠ²Π΅ ΠΈ Π²ΡΠ΅Ρ ) ΠΏΡΠΎΠ΄ΡΠΊΡΠΎΠ² Π² Kubernetes.
ΠΡΠΈΡΠΈΠ½ ΡΠΎΠΌΡ Π±ΡΠ»ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ, Π½ΠΎ Π½Π°ΡΠ° ΠΈΡΡΠΎΡΠΈΡ Π½Π΅ ΠΏΡΠΎ Ρ ΠΎΠ»ΠΈΠ²Π°Ρ.
ΠΠ· ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ½ΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Ρ Π²ΡΠ±ΠΎΡ Ρ Π½Π°Ρ Π±ΡΠ» Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ. vCloud Director ΠΈ vCloud Director. ΠΡΠ±ΡΠ°Π»ΠΈ ΡΠΎΡ, ΡΡΠΎ ΠΏΠΎΠ½ΠΎΠ²Π΅Π΅ ΠΈ ΡΠ΅ΡΠΈΠ»ΠΈ Π½Π°ΡΠ°ΡΡ.
Π ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ°Π· ΠΏΠΎΠ»ΠΈΡΡΠ°Π² Β«The Hard WayΒ», Ρ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ ΠΏΡΠΈΡΡΠ» ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ, ΡΡΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ Ρ
ΠΎΡΡ Π±Ρ Π±Π°Π·ΠΎΠ²ΡΡ
ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΠ°ΠΊΠΈΡ
ΠΊΠ°ΠΊ Π΄Π΅ΠΏΠ»ΠΎΠΉ ΠΈ ΡΠ°ΠΉΠ·ΠΈΠ½Π³, Π½ΡΠΆΠ΅Π½ Π΅ΡΡ Π²ΡΠ΅ΡΠ°. ΠΠ»ΡΠ±ΠΎΠΊΠΎΠ΅ ΠΏΠΎΠ³ΡΡΠΆΠ΅Π½ΠΈΠ΅ Π² Π³ΡΠ³Π» ΡΠ²ΠΈΠ»ΠΎ Π½Π° ΡΠ²Π΅Ρ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ ΠΊΠ°ΠΊ VMware Container Service Extension (CSE) β ΠΎΠΏΠ΅Π½ΡΠΎΡΡΠ½ΡΠΉ ΠΏΡΠΎΠ΄ΡΠΊΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠ°ΠΉΠ·ΠΈΠ½Π³ k8s ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠ² Π΄Π»Ρ ΡΠ΅Ρ
, ΠΊΡΠΎ Π² vCloud-Π΅.
Disclaimer: CSE ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ, Π½ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΡ ΡΠ΅Π»Π΅ΠΉ ΠΎΠ½ ΠΏΠΎΠ΄ΠΎΡΡΠ» ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ. Π’Π°ΠΊΠΆΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΎΠ±Π»Π°ΡΠ½ΡΠΌ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠΎΠΌ, Π½ΠΎ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ½Π°Ρ ΡΠ°ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ open-source, ΡΡΠ΅Π±ΡΠΉΡΠ΅ Π΅Π³ΠΎ Π½Π°Π»ΠΈΡΠΈΡ Ρ Π±Π»ΠΈΠΆΠ°ΠΉΡΠ΅Π³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ° π
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π°ΠΊΠΊΠ°ΡΠ½Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π² ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ vCloud ΠΈ Π·Π°Π±Π»Π°Π³ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ routed-ΡΠ΅ΡΡ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° (Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ Π΄Π΅ΠΏΠ»ΠΎΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄ΠΎΡΡΡΠΏ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈΠ· ΡΡΠΎΠΉ ΡΠ΅ΡΠΈ, Π½Π΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ Firewall/NAT). ΠΠ΄ΡΠ΅ΡΠ°ΡΠΈΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΠΎΠ·ΡΠΌΡΠΌ 10.0.240.0/24
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΠΊΠ»Π°ΡΡΠ΅ΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π½Π°Π»ΠΈΡΠΈΠ΅ VPN Ρ ΠΌΠ°ΡΡΡΡΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π² ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΡΠ΅ΡΡ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ SSL-VPN, Π½Π°ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π½Π° Edge Gateway Π½Π°ΡΠ΅ΠΉ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΠ°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ CSE ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΡΠ΄Π°, ΠΎΡΠΊΡΠ΄Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°ΠΌΠΈ k8s. Π ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠΈΠΉ Π½ΠΎΡΡ ΠΈ ΠΏΠ°ΡΠ° Ρ ΠΎΡΠΎΡΠΎ ΠΏΡΠΈΠΏΡΡΡΠ°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ»ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠ΅ΠΉ.
ΠΠ»ΠΈΠ΅Π½Ρ ΡΡΠ΅Π±ΡΠ΅Ρ Π½Π°Π»ΠΈΡΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ Python Π²Π΅ΡΡΠΈΠΈ 3.7.3 ΠΈ Π²ΡΡΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ
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
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΡΠΈΠ±ΠΊΡ Error: Session has expired or user not logged in. Please re-login. β ΡΠ½ΠΎΠ²Π° Π»ΠΎΠ³ΠΈΠ½ΠΈΠΌ 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 β ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π½Π°ΠΌΠΈ ΠΊΠ»ΡΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π·Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° Π½ΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°
—nodes n β ΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Worker Π½ΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°. ΠΠ°ΡΡΠ΅Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅Π³Π΄Π° ΠΎΠ΄ΠΈΠ½, ΡΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ CSE
—enable-nfs β ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π½ΠΎΠ΄Ρ Π΄Π»Ρ NFS ΡΠ°ΡΡ ΠΏΠΎΠ΄ persistent volumes. ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ΅Π΄Π°Π»ΡΠ½Π°Ρ ΠΎΠΏΡΠΈΡ, ΠΊ Π΄ΠΎΠ½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ, ΠΌΡ Π²Π΅ΡΠ½ΡΠΌΡΡ ΡΡΡΡ ΠΏΠΎΠ·ΠΆΠ΅.
Π’Π΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ, Π² vCloud ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ Π½Π°Π±Π»ΡΠ΄Π°ΡΡ Π·Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΌ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π΄Π°ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π·Π°Π²Π΅ΡΡΠΈΠ»Π°ΡΡ, ΠΎΠ½ Π³ΠΎΡΠΎΠ² ΠΊ ΡΠ°Π±ΠΎΡΠ΅.
ΠΡΠΎΠ²Π΅ΡΠΈΠΌ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ Π΄Π΅ΠΏΠ»ΠΎΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ vcd cse cluster info MyCluster
ΠΠ°Π»Π΅Π΅ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ kubectl
# vcd cse cluster config MyCluster > ./.kube/config
Π ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° ΡΠΆΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Ρ:
ΠΠ° ΡΡΠΎΠΌ ΠΌΠΎΠΌΠ΅Π½ΡΠ΅ ΠΊΠ»Π°ΡΡΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ ΡΡΠ»ΠΎΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠΈΠΌ, Π΅ΡΠ»ΠΈ Π±Ρ Π½Π΅ ΠΈΡΡΠΎΡΠΈΡ Ρ persistent volumes. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ Π² vCloud-Π΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ vSphere Provider Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ. ΠΠΏΡΠΈΡ —enable-nfs ΠΏΡΠΈΠ·Π²Π°Π½Π° ΡΠ³Π»Π°Π΄ΠΈΡΡ ΡΡΡ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡΡ, Π½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΎΡΡ Π½Π΅ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°. Π’ΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ½Π°Ρ Π΄ΠΎΠ½Π°ΡΡΡΠΎΠΉΠΊΠ°.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°ΡΠ΅ΠΉ Π½ΠΎΠ΄Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ Independent Π΄ΠΈΡΠΊ Π² 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
CΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΡΡ ΡΠ΅ΡΡΠΎΠ²ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² ΠΈ ΡΠ°ΡΡΠ°ΡΠΈΠΌ ΠΈΡ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ°:
>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
ΠΡΠ΅ΠΌ ΡΠΏΠ°ΡΠΈΠ±ΠΎ Π·Π° ΡΠ΄Π΅Π»ΡΠ½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π΅ΡΠ»ΠΈ Π±ΡΠ΄ΡΡ Π²ΠΎΠΏΡΠΎΡΡ β Π·Π°Π΄Π°Π²Π°ΠΉΡΠ΅ Π² ΠΊΠΎΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ
.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com