áááºá¹ááá¬áá«áá°ááá¯ááºážá¡ááœááº!
áá»áœááºá¯ááºááá¯á·áá¡ááœá²á·áááºááẠáááŒá¬áá±ážáá®áá áá¯ááºááááºááá¯ááºáá±á¬áºáááºážá áá¯ááºáá¯ááºá¡áá»áá¯á· (á¡áá¬áááºá¡á¬ážáá¯á¶ážááœááº) Kubernetes ááá¯á· ááŒá±á¬ááºážááœáŸá±á·ááẠááŒá®ážááœá¬ážáá¬áááºáᯠáá»áœááºá¯ááºááá¯á·áá¡ááœá²á·áááºá ááá¯ááá¯á·ááŒá áºáá²á·áááºá
áááºážá¡ááœáẠá¡ááŒá±á¬ááºážááŒáá»ááºáá»á¬ážá áœá¬ááŸááá±á¬áºáááºáž áá»áœááºá¯ááºááá¯á·ááá¬ááºáááºážááẠholivar á¡ááŒá±á¬ááºážááá¯ááºáá«á
á¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶á¡ááŒá±áá¶ááŸáá·áº áááºáááºá áá»áœááºá¯ááºááá¯á·ááœáẠááœá±ážáá»ááºááŸá¯á¡áááºážáááºáᬠááŸááá²á·áá«áááºá vCloud áá«ááá¯ááºáá¬ááŸáá·áº vCloud áá«ááá¯ááºáá¬á áá»áœááºá¯ááºááá¯á·ááẠá¡áá áºááá¯ááœá±ážáá»ááºááŒá®áž á áááºááẠáá¯á¶ážááŒááºáá²á·áááºá
áá
áºááẠâThe Hard Wayâ ááá¯ááŒáá·áºáááºážá ááŒáá·áºáá»ááºááŒááºážááŸáá·áº á¡ááœááºá¡á
á¬ážáá»áááºááŸáááŒááºážáá²á·ááá¯á·áá±á¬ á¡áááºážáá¯á¶áž á¡ááŒá±áá¶áá¯ááºáááºážá
ááºáá»á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááẠáááááá¬áá
áºáᯠááááºáá±á·á ááá¯á¡ááºááŒá±á¬ááºáž áá»ááºááŒááºá
áœá¬ áá±á¬ááºáá»ááºáá»áá²á·áááºá VMware Container Service Extension (CSE) - VMware Container Service Extension (CSE) áá²á·ááá¯á·áá±á¬ áá¯ááºáá¯ááºáá
áºáá¯ááᯠGoogle á¡ááœááºážááá¯á· áááºááŸáá¯ááºážá
áœá¬ ááá¯ážáá±á¬ááºáááºáá±á¬ááºááŒááºáž - vCloud á¡ááœááºážááŸá k8s á¡á
á¯á¡áá±ážáá»á¬ážá áááºáá®ážááŸá¯ááŸáá·áº á¡ááœááºá¡á
á¬ážááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯ááºáá±á¬ááºááá¯ááºá
á±ááá·áº á¡ááœáá·áºá¡áááºážá¡ááŒá
áºáá¯ááºáá¯ááºáá
áºáá¯ááŒá
áºáááºá
ááááºááá¯ááºááŒá±á¬ááºážááŸááºážáááºážáá»ááº- CSE ááœáẠááá·áºáááºáá»ááºáá»á¬ážááŸááá±á¬áºáááºáž áá»áœááºá¯ááºááá¯á·ááááºááœááºáá»ááºáá»á¬ážá¡ááœáẠáááºážááẠááŒá®ážááŒáá·áºá á¯á¶áá«áááºá ááá¯á·á¡ááŒááºá ááŒá±ááŸááºážáá»ááºá¡á¬áž cloud áá¶á·ááá¯ážáá±ážáá°á០áá¶á·ááá¯ážáá±ážááááºá ááá¯á·áá±á¬áº áá¬áá¬á¡ááá¯ááºážáááºáááºáž open-source ááŒá áºáá±á¬ááŒá±á¬áá·áºá áááºážááá¯áááŸáááá¯ááºá á±ááẠááá·áºá¡áá®ážáá¯á¶ážáááºáá±áá»á¬á¡á¬áž áá±á¬ááºážááá¯áá«á :)
áááºážááᯠá áááºá¡áá¯á¶ážááŒá¯áááºá¡ááœáẠáááºááẠvCloud á¡ááœá²á·á¡á ááºážááŸá á á®áá¶ááá·áºááœá²áá°á¡áá±á¬áá·áºáá áºáá¯ááŸáá·áº á¡á á¯á¡áá±ážá¡ááœáẠááááºáááºáá®ážáá¬ážáá±á¬ áááºážááŒá±á¬ááºážá¡ááá¯ááºáž ááœááºáááºáá áºáᯠááá¯á¡ááºááẠ(á¡áá¯á¶ážáá»ááŸá¯áá¯ááºáááºážá ááºá¡ááœááºáž áááºááẠá€ááœááºáááºá០á¡ááºáá¬áááºá¡áá¯á¶ážááŒá¯ááœáá·áºááá¯á¡ááºáááºá Firewall/NAT ááᯠá á®á ááºáááºááŸááºááẠááá±á·áá«ááŸáá·áº)á ááááºá á¬á á¡áá±ážáááŒá®ážáá°ážá á€á¥ááá¬ááœáẠ10.0.240.0/24 ááᯠáá°ááŒáá«á áá¯á·
áááºáá®ážááŒá®ážáá±á¬ááºá á¡á á¯á¡áá±ážááᯠáá áºáááºážáááºážááŒáá·áº á á®áá¶ááá·áºááœá²ááẠááá¯á¡ááºáááºááŒá áºááŒá®ážá áááºáá®ážáá¬ážáá±á¬ ááœááºáááºááá¯á· áááºážááŒá±á¬ááºážáááºááŸááºááẠVPN áá áºáá¯ááŸáááẠá¡ááŒá¶ááŒá¯áá¬ážáááºá áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·áá¡ááœá²á·á¡á ááºážá Edge Gateway ááœáẠá á¶áááºááŸááºáá¬ážáá±á¬ SSL VPN ááᯠá¡áá¯á¶ážááŒá¯áá«áááºá
ááá¯á·áá±á¬áẠk8s á¡á á¯á¡áá±ážáá»á¬ážááᯠá á®áá¶ááá·áºááœá²ááá·áº CSE client ááᯠááá·áºááœááºážááẠááá¯á¡ááºáááºá áá»áœááºá¯ááºáááá á¹á ááœááºá áááºážááẠá¡áá¯ááºáá¯ááºáá±á¬ áááºááºáá±á¬á·áá áºáá¯á¶ážááŸáá·áº á¡ááá¯á¡áá»á±á¬ááºá áá áºááá¯áá±á¬ááºážááŸááºááá·áº áá±á¬ááºážááœááºá áœá¬ááŸááºáá¬ážáá±á¬ ááœááºááááºáá¬á¡áá»áá¯á·ááŒá áºáááºá
áááá¯ááºážááá·áºááẠ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 ááá¯á· module áá
áºáá¯á¡ááŒá
áºááá·áºááœááºážáááºááá¯á¡ááºáááºá
áááºážááá¯áá¯ááºáá±á¬ááºááẠáá»áœááºá¯ááºááá¯á·áá¡ááœá²á·á¡á
ááºážááá¯á· vcd-cli ááᯠáŠážá
áœá¬áááºáá±á¬ááºááá«áááºá
# vcd login MyCloud.provider.com org-dev admin
Password:
admin logged in, org: 'org-dev', vdc: 'org-dev_vDC01'
áááºážááŒá®ážáá±á¬ááºá vcd-cli ááẠconfiguration ááá¯ááºááá¯áááºáá®ážáááá·áºáááºá ~/.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 ááœáẠá¡áá¯á¶ážááŒá¯ááŸá¯ ááá·áºáááºáá»ááºáá»á¬áž á¡á
á¯á¶áá«ááŸáááŒá®áž áááºážááá¯á·á¡á¬ážáá¯á¶ážááᯠááŒáá·áºááŸá¯ááá¯ááºáá«áááºá
áŠážá áœá¬á á¡áá¬ááẠá¡á á¯á¡áá±ážááá¯á· á áá¬ážááŸááºáá²á· áááºáá±á¬ááºááœáá·áºá¡ááœáẠáá±á¬á·áá»á¬ážááᯠáááºáá®ážááŒáá«á áá¯á·á á€á¡áá»ááºááẠá¡áá±ážááŒá®ážáááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áá°áá¡á¬ážááŒáá·áºá node áá»á¬ážááá¯á· á áá¬ážááŸááºáááºáá±á¬ááºááŒááºážááᯠááááºáá¬ážáááºááŒá áºááŒá®áž áá±á¬á·áá»á¬ážááá¯ááááºááŸááºáá«áá á¡áááºáááŒá±ááá·áº virtual machine consoles áá»á¬ážááŸáááá·áº á¡áá¯ááºáá»á¬ážá áœá¬áááá¯ááºáááºá
# 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
á¡ááŸá¬ážáá«ááẠá¡ááŸá¬áž- Session áááºáááºážáá¯ááºááœá¬ážáá«ááŒá® ááá¯á·ááá¯áẠá¡áá¯á¶ážááŒá¯áá° á¡áá±á¬áá·áºááááºáá«á áá»á±ážáá°ážááŒá¯á ááŒááºáááºáááºáá±á¬ááºáá«á â á¡áááºáá±á¬áºááŒáá«á¡ááá¯ááºáž vcd-cli ááá¯á· áááºáá¶áááºáá±á¬ááºááŒá®áž áááºáá¶ááŒáá¯ážá á¬ážáá«á
áá®áá áºáá«áá±á¬á· á¡á¬ážáá¯á¶ážá¡áááºááŒá±ááŒá®áž á¡á á¯á¡ááœá²á·áá áºáá¯áááºáá®ážááŒááºážáá¯ááºáááºážá áá«ááŒá®á
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 node áá»á¬ážááá¯á· á á¬áá±ážáá«áááºá
ânodes n â á¡á á¯á¡áá±ážááŸá á¡áá¯ááºááá¬áž áá¶áá«ááºáá»á¬ážá áá¬á áá¬áá áºáá°ááŸáááŸá¬áá«á áá«á CSE ááá·áºáááºáá»ááºáá«á
âenable-nfs â á ááºáááºáááŒáẠvolumes á¡á±á¬ááºááœáẠNFS áá»áŸáá±ááŸá¯áá»á¬ážá¡ááœáẠáá±á¬ááºááẠnode áá áºáá¯ááᯠáááºáá®ážáá«á áááºážááẠá ááºáá®ážáááºážááœá±ážáá»ááºááŸá¯ á¡áááºážáááºááŒá áºáááºá áááºážááẠáááºážáá¯ááºáá±á¬ááºááá·áºá¡áá¬ááᯠáá»áááºááŸáááŒááºážááá¯á· ááŒááºááœá¬ážáá«áááºá
á€á¡áá±á¬á¡ááœááºážá vCloud ááœáẠáááºááẠá¡á
á¯á¡áá±ážáá
áºáá¯áááºáá®ážááŸá¯ááᯠá¡ááŒááºá¡á¬áá¯á¶ááŒáá·áº á
á±á¬áá·áºááŒáá·áºááá¯ááºáááºá
á¡á
á¯á¡ááœá²á·áá
áºáᯠáááºáá®ážááŒááºážáá¯ááºáááºážááᯠááŒá®ážááŒá±á¬ááºáááºááŸáá·áºá áááºážááẠá¡áá¯á¶ážááŒá¯ááẠá¡ááá·áºááŒá
áºáá«ááŒá®á
command ááŒáá·áº deployment á ááŸááºáááºááŸá¯ááᯠá á áºáá±ážááŒáá«á áá¯á· vcd cse á¡á á¯á¡áá±áž á¡áá»ááºá¡ááẠMyCluster
ááá¯á·áá±á¬áẠá¡áá¯á¶ážááŒá¯ááẠá¡á
á¯á¡ááœá²á·ááœá²á·á
ááºážáá¯á¶ááᯠááá°ááẠááá¯á¡ááºáááºá kubectl
# vcd cse cluster config MyCluster > ./.kube/config
áááºážááá¯á¡áá¯á¶ážááŒá¯á á¡á á¯á¡áá±ážáá¡ááŒá±á¡áá±ááᯠáááºá á áºáá±ážááá¯ááºáááº-
á€á¡áá»áááºááœááºá áááºááá¯ááºááœá²áá±áá±á¬ áá¬ááºáááºážá¡ááœáẠááá¯ááºáá«áá á¡á
á¯á¡ááœá²á·ááẠá¡ááŒá±á¡áá±á¡á á¡áá¯ááºáá¯ááºáááºáᯠáá°áááá¯ááºáááºá áá»áœááºá¯ááºááá¯á·ááẠvCloud ááœáẠááŸááá±áá±á¬ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠvSphere áááºáá±á¬ááºááŸá¯áá±ážáá°ááᯠá¡áá¯á¶ážááŒá¯ááááá«á ááœá±ážáá»ááºááŸá¯ --nfs ááá¯ááœáá·áºáá«á á€á¡ááŸá±á¬ááºá¡ááŸááºáá»á¬ážááᯠááŒá±áá»á±á¬á·á
á±ááẠáá®ááá¯ááºážáá¯ááºáá¬ážáá±á¬áºáááºáž áá¯á¶ážá á¡áááºáááŒá±áá²á·áá«á áá°ááá¯ááºááá¯áẠáá»áááºááŸáááŸá¯ ááá¯á¡ááºáááºá
á áááºáááºá¡ááœááºá áá»áœááºá¯ááºááá¯á·á node ááẠvCloud ááœáẠáá®ážááŒá¬ážááœááºáááºáá±á¬áá áºáá áºáá¯ááᯠáááºáá®ážááẠááá¯á¡ááºáááºá áááºážááẠáá»ááºááá¯ááºáá»áŸáẠáá»áœááºá¯ááºááá¯á·ááá±áá¬ááẠá¡á á¯á¡áá±ážááŸáá·áºá¡áá° áá»á±á¬ááºááœááºááœá¬ážáááºááá¯ááºááŒá±á¬ááºáž á¡á¬ááá¶áá«áááºá ááá¯á·á¡ááŒáẠdisk ááᯠNFS ááŸáá·áºáá»áááºáááºáá«á
# vcd disk create nfs-shares-1 100g --description 'Kubernetes NFS shares'
# vcd vapp attach mycluster nfsd-9604 nfs-shares-1
ááá¯á·áá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠssh ááŸáááá·áº (áááºá¡ááŸááºááááºáá±á¬á·áá»á¬ážááá¯áááºáá®ážáá²á·áá«ááá¬ážá) áá»áœááºá¯ááºááá¯á·á NFS node ááá¯á·ááœá¬ážáᬠáá±á¬ááºáá¯á¶ážááœáẠdisk ááá¯áá»áááºáááºáá«á
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
áááºážáá²á·á¡áá»áááºááœá±á¡ááœáẠá¡á¬ážáá¯á¶ážááᯠáá»á±ážáá°ážáááºáá«áááºá áá±ážááœááºážááœá±ááŸáááẠcomment ááŸá¬ áá±ážáá²á·áá±ážáá«á
source: www.habr.com