ืฉืืื ืืืืื!
ืื ืงืจื ืฉืืฆืืืช ืืงืื ืฉืื ื, ืฉืื ืืืืจ ืฉืืืืจืื ื, ืืืืืืื ืื ืคืชืืื, ืืื ืืืขืืืจ ืืืง ืืืืืฆืจืื (ืืืขืชืื ืืืื) ื- Kubernetes.
ืืื ืืื ืกืืืืช ืจืืืช, ืืื ืืกืืคืืจ ืฉืื ื ืื ืขืืกืง ืืืืืืืจ.
ืื ืืืืชื ืื ื ืืจืืจื ืืืื ืืกืืก ืืชืฉืชืืช. vCloud Director ื-vCloud Director. ืืืจื ื ืืืืฉ ืืืชืจ ืืืืืื ื ืืืชืืื.
ืฉืื, ืืืกืชืืืืช ืขื "ืืืจื ืืงืฉื", ืืืขืชื ืืืจ ืืืื ืืืกืงื ื ืฉื ืืจืฉ ืืชืืื ืืื ืืืืืืืฆืื ืฉื ืืคืืืช ืชืืืืืื ืืกืืกืืื, ืืื ืคืจืืกื ืืืืื. ืฆืืืื ืขืืืงื ืืืืื ืืืืื ืืืื ืืืืื ืืืฆืจ ืืื VMware Container Service Extension (CSE) - ืืืฆืจ ืงืื ืคืชืื ืืืืคืฉืจ ืื ืืืคืื ืืช ืืืฆืืจื ืืืืืื ืฉื ืืฉืืืืืช k8s ืืืืืืืืืื ืขืืืจ ืืื ืฉื ืืฆืืื ื-vCloud.
ืืชื ืืืชืืจ: ื-CSE ืืฉ ืืืืืืช, ืืื ืืืืจืืชืื ื ืื ืืื ืืืฉืื. ืืื ืื, ืืคืชืจืื ืืืื ืืืืืช ื ืชืื ืขื ืืื ืกืคืง ืืขื ื, ืื ืืืืืื ืฉืืืง ืืฉืจืช ืืื ืื ืงืื ืคืชืื, ืืงืฉ ืืืื ืื ืืงืจืื ืฉืื ืฉืืืื ืืืื :)
ืืื ืืืชืืื ืืืฉืชืืฉ ืื, ืืชื ืฆืจืื ืืฉืืื ืื ืื ืืืจืืื vCloud ืืจืฉืช ืื ืืชืืช ืฉื ืืฆืจื ืืขืืจ ืขืืืจ ืืืฉืืื (ืืืืื ืชืืืื ืืคืจืืกื, ืืชื ืฆืจืื ืืืฉื ืืืื ืืจื ื ืืจืฉืช ืื, ืื ืชืฉืื ืืืืืืจ ืืืืช ืืฉ/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
ืื ื ืงืื ืฉืืืื ืฉืืืื: ืคื ืชืืงืฃ ืืืคืขืื ืื ืฉืืืฉืชืืฉ ืื ื ืื ืก. ืื ื ืืชืืืจ ืืืืฉ. - ืืืื ืก ืฉืื ื-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 โ ืืกืคืจ ืฆืืชื Worker ืืืฉืืื. ืชืืื ืืืื ืืืกืืจ ืืื, ืื ืืืืื ืฉื CSE
โenable-nfs โ ืฆืืจ ืฆืืืช ื ืืกืฃ ืขืืืจ ืฉืืชืืคื NFS ืื ืคืืื ืงืืืขืื. ืื ืืคืฉืจืืช ืงืฆืช ืืืืฉื; ื ืืืืจ ืืืืื ืืช ืื ืฉืืื ืขืืฉื ืงืฆืช ืืืืืจ ืืืชืจ.
ืืื ืชืืื, ื-vCloud ืืชื ืืืื ืืคืงื ืืืืชืืช ืขื ืืฆืืจืช ืืฉืืื
ืืืืจ ืืฉืืืช ืืืฉืืื ืฉื ืืฆืืจืช ืืฉืืื, ืืื ืืืื ืืฉืืืืฉ.
ืืืื ื ืืืืง ืืช ื ืืื ืืช ืืคืจืืกื ืขื ืืคืงืืื vcd cse ืืฉืืื ืืืืข MyCluster
ืืฉืื ืืื ืขืืื ื ืืงืื ืืช ืชืฆืืจืช ืืืฉืืื ืืฉืืืืฉ ืงืืืงืื
# vcd cse cluster config MyCluster > ./.kube/config
ืืืชื ืืืื ืืืืืง ืืช ืืฆื ืืืฉืืื ืืืืฆืขืืชื:
ืืฉืื ืื, ืืืฉืืื ืืืื ืืืืืฉื ืืขืืื ืขื ืชื ืื, ืืืืื ืืกืืคืืจ ืขื ื ืคืืื ืืชืืฉืืื. ืืืืืื ืฉืื ื ื-vCloud, ืื ื ืืื ืืืฉืชืืฉ ื-vSphere Provider. ืืึนืคึผึฐืฆึดืึธื --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
ืืืจื ืื ืืงืกื ืืื, ืื ืื ื ืืืืืื ืืืฆืืจ 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
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
ืชืืื ืืืืืื ืขื ืืื ืื, ืื ืืฉ ืืื ืฉืืืืช, ืฉืื ืืชืืืืืช.
ืืงืืจ: www.habr.com