ααααΆααα½αααα»ααααααααααααΆ!
ααΆααΆαααΎαα‘αΎαααΌα ααααααΆαααα»αααΌα ααααααΎααα·αααααα·ααΆαααΆααααΈαααααα α αΎααα·αααααΆααααααα ααΆαααΈαα ααααΎαααΎααααΈααααΆααααΈααα·ααααα½αα ααα½α (αα·αααΆαααα’ααΆααααΆααα’αα) αα Kubernetes α
ααΆαα ααα»ααααΆα αααΎααααααΆααααΏαααα ααα»ααααααΏαααααααΎααα·αααααα·ααΆαα’αααΈ holivar ααα
ααΎαααΆααααααΎααα·α αα½α ααΆααααααΉαααΌαααααΆαα αααααΆαα ααΆααααααααα ααΆαα vCloud αα·αααΆαα vCloud α ααΎαααΆαααααΎαααΎαα’αααΈαααααααΈααΆαααα α αΎααααααα α α·αααα αΆααααααΎαα
ααΆααααΈααααααα ααααααα‘ααααΎα "The Hard Way" αααα»αααΆαααααα·ααααΆααααΆαααΆαααα ααααΆ α§ααααααααααΆααααααααααααααα·αααααααΆαα αα
ααΆααααααΎαααΆαααΆααΌαααααΆα ααΌα
ααΆααΆαααΆαααααααΆα αα·αααα αααΊααααΌαααΆαααΆαααΈαααα·ααα·αα ααΆαααααα»αααΉααααΆααααα
αα
αααα»α Google ααΆαααΆαααααααΌαααα·αααααΌα
ααΆ VMware Container Service Extension (CSE) αααααΆααα·ααααααααααΎαα
αα αααα’αα»ααααΆαα±ααα’ααααααααΎααααααααααααααααα·ααΌαααΆααααααΎα αα·αααα αα
ααααα k8s αααααΆααα’ααααα
αααα»α vCloud α
ααΆαααα·αααα CSE ααΆαααααααααααααααΆ ααα»αααααααααΆαααααααααααααααΎα ααΆααα’α₯αααα ααα ααΌα ααααΆαααααααα αααααααααΆαααααΌαααααααΌαααΆαααΆαααααααα’ααααααααααααΆααα ααα»αααααααααΆαααααααααΆαααΈαααααααΆαααααααΎαα αα ααΌααα½αα’ααααααααααααααααα αα·ααααα»αααααα’αααααΎααααΈα±ααααΆα’αΆα ααααΎααΆα :)
ααΎααααΈα αΆααααααΎαααααΎααΆ α’αααααααΌαααΆαααααΈα’αααααααααααααα αααα»αα’αααααΆα vCloud αα·ααααααΆαααααΌααααααΆααααααΎαααΈαα»ααααααΆααα ααααα (αααα»αα’αα‘α»ααααααααΎαααΆαααΆαααααααΆα α’αααααααΌαααΆαααΆαα αΌαααααΎα’ααΈαααΊαα·αααΈαααααΆαααα αα»αααααα ααααααα ααΆαααααααα 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
ααααα·αααΎααΎαααα½αααΆαααα α»α ααα α»αα ααααααΆααα»αααααα α¬α’αααααααΎααααΆαααα·αααΆαα αΌαα ααΌαα αΌααααααααα β α αΌα 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 β αααααΎα node αααααααααααΆααααΆαα ααααααα NFS αα αααααααΆαααααα ααΆααΆαααααΎαααααΆααααααα·α ααΎαααΉααααααααα ααΆααααααααΌαα’αααΈαααααΆααααΎαα ααααααααα
αααααΉαααΉαααα αα
αααα»α vCloud α’αααα’αΆα
ααΆαααΆαααΆααααααΎα cluster αααααΎαααΎα
αα
ααααααααΆααα·α
αα
αααααΎαα
αααααααααΌαααΆααααα
αα ααΆαα½α
ααΆαααααααΆααααΆαααααΎααααΆααα
ααααα·αα·αααααΎαααΆαααααΉαααααΌαααααΆαααΆαααααααΆααααααααΎααΆααααααααΆ vcd cse info cluster MyCluster
αααααΆααααΎαααααΌαααααΆαααααααα
ααΆααααααααα
αααααααΎααααΈααααΎ kubectl
# 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 αα
αααα»αα
αααααααααααΎαααΌα
αααα
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
ααΌαα’ααα»αα’αααααΆααα’ααααααΆαααααΆαααααααααΆααααα’ααα ααααα·αααΎα’αααααΆαα
αααααα’αααΈα’αΆα
αα½ααα
αααα»αααα·αααααα
ααααα: www.habr.com