ืืขืื ืึทืืขืืขื!
ืขืก ืืื ืึทืืื ืืขืฉืขื ืึทื ืืื ืืืขืจ ืงืืืื ืืึทื ืฉืึทืคึฟื, ื ืื ืฆื ืืึธืื ืึทื ืืขืฆืื ืก, ืืื ืืืืขืจ ื ืืฉื ืคึผืืืฆืืื ื, ืืื ืืขืืืืงืกื ืฆื ืึทืจืืืขืจืคืืจื ืขืืืขืืข (ืืื ืืื ืืขืจ ืฆืืงืื ืคึฟื ืึทืืข) ืคึผืจืึธืืืงืื ืฆื ืงืืืขืจื ืขืืขืก.
ืขืก ืืขื ืขื ืืขืืืขื ืคืืืข ืกืืืืช ืคึฟืึทืจ ืืขื, ืึธืืขืจ ืืื ืืืขืจ ืืขืฉืืืืข ืืื ื ืืฉื ืืืขืื ืืึธืืืืืึทืจ.
ืืืจ ืืึธืื ืงืืืื ืืจืืจื ืืืขืื ืื ืื ืคืจืึทืกืืจืึทืงืืฉืขืจ ืืึทืืข. vCloud ืืืจืขืงืืึธืจ ืืื vCloud ืืืจืขืงืืึธืจ. ืืืจ ืืึธืื ืืืืกืืขืจืืืืืื ืื ื ืืึทืขืจ ืืื ืืึทืฉืืึธืกื ืฆื ืึธื ืืืืื.
ื ืืืืืื, ืืืจืืงืืงื "ืื ืฉืืืขืจืข ืืืขื", ืืื ืืื ืืืืขืจ ืฉื ืขื ืืขืงืืืขื ืฆื ืืขืจ ืืกืงื ื, ืื ื ืขืืื ืืื ืืขืืืจืคื ื ืืขืฆืืื ืคืืจ ืืืืืืืืืืจื ืืืืืืื ืืืกืื ืก ืืกืืืืชืืืงืข ืคืจืืฆืขืกืขื, ืืื ืืืคึผืืืืืึทื ื ืืื ืกืืืืื ื. ื ืืืฃ ืื ืืขืจืืืงื ืืื ืืื Google ืืขืืจืืื ืฆื ืืืื ืึทืืึท ืึท ืคึผืจืึธืืืงื ืืื VMware Container Service Extension (CSE) - ืึทื ืึธืคึฟื ืืงืืจ ืคึผืจืึธืืืงื ืืืึธืก ืึทืืึทืื ืืืจ ืฆื ืึธืืึทืืืื ืื ืฉืึทืคืื ื ืืื ืกืืืืื ื ืคืื ืง8ืก ืงืืึทืกืืขืจื ืคึฟืึทืจ ืืขื ืข ืืื vCloud.
ืึธืคึผืืืืงืขื ืื ื: CSE ืืื ืืืื ืืืืืืืืฉืึทื ื, ืึธืืขืจ ืคึฟืึทืจ ืืื ืืืขืจ ืฆืืืขืงื ืขืก ืืื ืืขืืืขื ืืื ืฅ. ืืืื, ืื ืืืืืื ื ืืืื ืืืื ืืขืฉืืืฆื ืืืจื ืื ืืืึธืืงื ืฉืคึผืืึทืืขืจ, ืึธืืขืจ ืืื ื ืื ืกืขืจืืืขืจ ืืืื ืืื ืืืื ืึธืคึฟื-ืืงืืจ, ืคืจืขืื ืืืื ื ืืจืึทืกื ืคืึทืจืืืึทืืืขืจ ืฆื ืืึธืื ืขืก ืื ืืืฆื :)
ืฆื ืึธื ืืืืื ื ืืฆื ืขืก, ืืืจ ืืึทืจืคึฟื ืึท ืึทืืืื ืืกืืจืึทืืึธืจ ืืฉืืื ืืื ืื vCloud ืึธืจืืึทื ืืืึทืฆืืข ืืื ืึท ืคืจืืขืจ ืืืฉืืคื ืจืึทืืืื ื ืขืฅ ืคึฟืึทืจ ืืขื ืงื ืืื (ืืื ืื ืืืคึผืืืืืึทื ื ืคึผืจืึธืฆืขืก ืืืจ ืืึทืจืคึฟื ืืื ืืขืจื ืขื ืึทืงืกืขืก ืคึฟืื ืืขื ื ืขืฅ, ืืึธื ื ืื ืคืึทืจืืขืกื ืฆื ืงืึทื ืคืืืืขืจ Firewall / NAT). ืึทืืจืขืกืื ื ืืื ื ืืฉื ืขื ืื. ืืื ืืขื ืืืึทืฉืคึผืื, ืืึธืื ืืื ืื ื ืขืืขื 10.0.240.0/24
ืืื ื ื ืึธื ืฉืึทืคืื ื, ืืขืจ ืงื ืืื ืืืขื ืืืื ืืขืจืืื ืขืคืขืก, ืขืก ืืื ืจืขืงืึทืืขื ืืื ืฆื ืืึธืื ืึท ืืืคึผื ืืื ืจืืืื ื ืฆื ืื ืืืฉืืคื ื ืขืฅ. ืืืจ ื ืืฆื ืึท ื ืึธืจืืึทื SSL VPN ืงืึทื ืคืืืืขืจื ืืืืฃ ืืื ืืืขืจ ืึธืจืืึทื ืืืึทืฆืืข 'ืก ืขืืืฉ ืืึทืืขืืืืึท.
ืืขืจื ืึธื ืืืจ ืืึทืจืคึฟื ืฆื ืื ืกืืึทืืืจื ืื CSE ืงืืืขื ื ืืื ืื ืง8ืก ืงืืึทืกืืขืจื ืืืขื ืืืื ืืขืจืืื. ืืื ืืืื ืคืึทื, ืืึธืก ืืื ืึท ืืจืืขืื ืืึทืคึผืืึทืคึผ ืืื ืึท ืคึผืึธืจ ืคืื ืืขืืื ื-ืคืึทืจืืึธืจืื ืงืึทื ืืืื ืขืจื ืืืึธืก ืคืืจื ืึธืืึทืืืืฉืึทื.
ืืขืจ ืงืืืขื ื ืจืืงืืืืืขืจื 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
ืืืื ืืืจ ืืึทืงืืืขื ืึท ืืขืืช ืืขืืช: ืืขืจ ืกืขืกืืข ืืื ืืืืกืืขืืื ืืขื ืึธืืขืจ ืืขืจ ืืึทื ืืฆืขืจ ืืื ื ืืฉื ืืึธืื ืืื. ืืืืข ืฉืืึทืขื-ืืึธืืื. - ืืืืืขืจ ืงืืึธืฅ ืืื 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 - ืื ืฉืืืกืืขื ืืืจ ืืืฉืืคื, ืืืึธืก ืืืขื ืืืื ืืขืฉืจืืื ืฆื ืื ืงื ืืื ื ืึธืืื
โื ืึธืืขืก n โ ื ืืืขืจ ืคืื ืืืึธืจืงืขืจ ื ืึธืืื ืืื ืืขื ืงื ืืื. ืขืก ืืืขื ืฉืืขื ืืืง ืืืื ืืืื ืืขื, ืืึธืก ืืื ืึท CSE ืืึทืืจืขื ืขืฆืื ื
โenable-nfs โ ืฉืึทืคึฟื ืึทื ื ืึธื ื ืึธืืข ืคึฟืึทืจ NFS ืฉืึทืจืขืก ืืื ืืขืจ ืคึผืขืจืกืืกืืขื ื ืืืึทืืืืื. ืขืก ืืื ืึท ืืืกื ืคืื ืึท ืืจืขืืืขื ืึธืคึผืฆืืข; ืืืจ ืืืขืื ืฆืืจืืงืงืืืขื ืฆื ืืื ืื ื ืืืึธืก ืขืก ืืื ืึท ืืืกื ืฉืคึผืขืืขืจ.
ืืขืจืืืืึทื, ืืื vCloud ืืืจ ืงืขื ืขื ืืืืืฉืืืึทืื ืืึธื ืืืึธืจ ืื ืฉืึทืคืื ื ืคืื ืึท ืงื ืืื
ืึทืืึธื ืื ืึทืจืืขื ืคืื ืงืจืืืืืื ื ืึท ืงื ืืื ืืื ืืขืขื ืืืงื, ืขืก ืืื ืืจืืื ืคึฟืึทืจ ื ืืฆื.
ืืื ืก ืงืึธื ืืจืึธืืืจื ืื ืจืืืืืง ืคืื ืื ืืืคึผืืืืืึทื ื ืืื ืื ืืึทืคึฟืขื vcd cse ืงื ืืื ืืื ืคึฟืึธืจืืึทืฆืืข MyCluster
ืืืืึทืืขืจ ืืืจ ืืึทืจืคึฟื ืฆื ืืึทืงืืืขื ืื ืงื ืืื ืงืึทื ืคืืืืขืจืืืฉืึทื ืฆื ื ืืฆื kubectl
# vcd cse cluster config MyCluster > ./.kube/config
ืืื ืืืจ ืงืขื ืขื ืงืึธื ืืจืึธืืืจื ืื ืกืืึทืืืก ืคืื ืืขื ืงื ืืื ื ืืฆื ืขืก:
ืืื ืืขื ืคืื ื, ืื ืงื ืืื ืงืขื ืขื ืืืื ืืืืจืืื ืงืึทื ืืืฉืึทื ืึทืื ืืจืืขืื, ืืืื ื ืืฉื ืคึฟืึทืจ ืื ืืขืฉืืืืข ืืื ืคึผืขืจืกืืกืืขื ื ืืืึทืืืืื. ืืื ื ืืืจ ืืขื ืขื ืืื 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
ื ืึธื ืืขื, ืืืจ ืืืื ืืืจื 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
ื ืึธื ืึทืืข ืืขื ืืึทืืืฉ, ืืืจ ืงืขื ืขื ืืึทืื ืคึผืื ืืื ืคึผืืืง ืืื ืืื ืืืขืจ ืงื ืืื ืขืคึผืขืก ืืื ืืึธืก:
ืคึผืื:
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