Hello aliyense!
Zinachitika kuti gulu lathu laling'ono, osanena kuti posachedwa, ndipo osati mwadzidzidzi, lakula kuti lisunthire (ndipo m'tsogolomu zonse) ku Kubernetes.
Panali zifukwa zambiri za izi, koma nkhani yathu si ya tchuthi.
Sitinachite chilichonse chokhudza maziko a zomangamanga. vCloud Director ndi vCloud Director. Tinasankha yatsopano ndipo tinaganiza zoyamba.
Apanso, kuyang'ana kudzera mu "Njira Yovuta," ndinafika pozindikira kuti chida chodzipangira okha njira zoyambira, monga kutumizira ndi kupanga, chinali chofunikira dzulo. Kulowera mwakuya mu Google kudawonetsa chinthu ngati VMware Container Service Extension (CSE) - chinthu chotseguka chomwe chimakulolani kuti muzitha kupanga ndi kukula kwa magulu a k8s kwa omwe ali mu vCloud.
Chodzikanira: CSE ili ndi malire, koma pazolinga zathu inali yangwiro. Komanso, yankho liyenera kuthandizidwa ndi wopereka mtambo, koma popeza gawo la seva lilinso lotseguka, funsani woyang'anira wanu wapafupi kuti apezeke :)
Kuti muyambe kugwiritsa ntchito, muyenera akaunti ya woyang'anira mu bungwe la vCloud ndi maukonde omwe adapangidwa kale a gululo (panthawi yotumizira, muyenera kugwiritsa ntchito intaneti kuchokera pa intanetiyi, musaiwale kukonza Firewall / NAT). Kulankhula zilibe kanthu. Mu chitsanzo ichi, tiyeni titenge 10.0.240.0/24
Popeza pambuyo pa chilengedwe, gululo liyenera kuyendetsedwa mwanjira ina, tikulimbikitsidwa kukhala ndi VPN yokhala ndi njira yopita ku netiweki yomwe idapangidwa. Timagwiritsa ntchito SSL VPN yokhazikika pa Edge Gateway ya gulu lathu.
Kenako, muyenera kukhazikitsa kasitomala wa CSE komwe masango a k8s aziyang'aniridwa. Kwa ine, iyi ndi laputopu yogwira ntchito komanso zida zingapo zobisika zomwe zimayendetsa zokha.
Makasitomala amafunikira mtundu wa Python 3.7.3 ndi kukhazikitsidwa kwapamwamba ndikuyika gawolo
pip3 install vcd-cli
pip3 install container-service-extension
Pambuyo kukhazikitsa, timayang'ana mtundu wa CSE ndikupeza zotsatirazi:
# vcd cse version
Error: No such command "cse".
Zosayembekezereka, koma zokhazikika. Monga momwe zinakhalira, CSE iyenera kuphatikizidwa ngati gawo la vcd-cli.
Kuti muchite izi, muyenera kulowa vcd-cli ku bungwe lathu:
# vcd login MyCloud.provider.com org-dev admin
Password:
admin logged in, org: 'org-dev', vdc: 'org-dev_vDC01'
Pambuyo pake, vcd-cli ipanga fayilo yosinthira ~/.vcd-cli/profiles.yaml
Pomaliza muyenera kuwonjezera zotsatirazi:
extensions:
- container_service_extension.client.cse
Kenako tiyang'ananso:
# vcd cse version
CSE, Container Service Extension for VMware vCloud Director, version 2.5.0
Gawo loyika kasitomala latha. Tiyeni tiyese kuyika gulu loyamba.
CSE ili ndi magawo angapo ogwiritsira ntchito, onse amatha kuwonedwa
Choyamba, tiyeni tipange makiyi achinsinsi ofikira gulu lamtsogolo. Mfundoyi ndiyofunika, chifukwa mwachisawawa, kulowa kwachinsinsi ku node kudzazimitsidwa, ndipo ngati simukuyika makiyi, mukhoza kupeza ntchito zambiri kudzera muzitsulo zamakina, zomwe sizothandiza.
# 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.
Tiyeni tiyesetse kuyamba kupanga gulu:
vcd cse cluster create MyCluster --network k8s_cluster_net --ssh-key ~/.ssh/id_rsa.pub --nodes 3 --enable-nfs
Ngati tipeza cholakwika Vuto: Nthawi yatha kapena wosuta sanalowemo. Chonde lowaninso. - lowaninso vcd-cli ku vCloud monga tafotokozera pamwambapa ndikuyesanso.
Nthawi ino zonse zili bwino ndipo ntchito yopanga gulu yayamba.
cluster operation: Creating cluster vApp 'MyCluster' (38959587-54f4-4a49-8f2e-61c3a3e879e0) from template 'photon-v2_k8-1.12_weave-2.3.0' (revision 1)
Zidzatenga pafupifupi mphindi 20 kuti mumalize ntchitoyi; pakadali pano, tiyeni tiwone zoyambira zoyambira.
-network - netiweki yomwe tidapanga kale.
-ssh-key - makiyi omwe tidapanga, omwe adzalembedwe kumagulu amagulu
-node n - Chiwerengero cha ma node a Antchito mgulu. Padzakhala mbuye m'modzi nthawi zonse, izi ndi malire a CSE
-enable-nfs - pangani mfundo zowonjezera za magawo a NFS pansi pa ma voliyumu osalekeza. Ndi njira yongoyenda pang'ono; tibwereranso kukonza zomwe imachita mtsogolo.
Pakadali pano, mu vCloud mutha kuwunika momwe gulu likupangidwira
Ntchito yopanga gulu ikamalizidwa, imakhala yokonzeka kugwiritsidwa ntchito.
Tiyeni tiwone kulondola kwa kutumiza ndi lamulo vcd cse cluster info MyCluster
Kenako tiyenera kupeza kasinthidwe ka cluster kuti tigwiritse ntchito kubctl
# vcd cse cluster config MyCluster > ./.kube/config
Ndipo mutha kuyang'ana momwe gululo likugwiritsidwira ntchito:
Panthawiyi, gululo likhoza kuganiziridwa kuti likugwira ntchito mokhazikika, ngati si nkhani yokhala ndi mavoliyumu osalekeza. Popeza tili mu vCloud, sitidzatha kugwiritsa ntchito vSphere Provider. Njira --thandizira-nfs idapangidwa kuti ithetse vuto ili, koma silinathetseretu. Kusintha pamanja ndikofunikira.
Kuti tiyambe, node yathu iyenera kupanga disk yodziyimira payokha mu vCloud. Izi zimatsimikizira kuti deta yathu sidzatha pamodzi ndi tsango ngati zichotsedwa. Komanso, gwirizanitsani disk ku NFS
# vcd disk create nfs-shares-1 100g --description 'Kubernetes NFS shares'
# vcd vapp attach mycluster nfsd-9604 nfs-shares-1
Pambuyo pake, timadutsa ssh (mwapangadi makiyi?) Kumalo athu a NFS ndipo pomaliza kulumikiza diski:
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
Pangani chikwatu cha data ndikuyika magawo atsopano pamenepo:
mkdir /export
echo '/dev/sdb1 /export ext4 defaults 0 0' >> /etc/fstab
mount -a
Tiyeni tipange magawo asanu oyesa ndikugawana nawo gululo:
>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
Pambuyo pamatsenga onsewa, titha kupanga PV ndi PVC mgulu lathu motere:
Mtolankhani:
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
Apa ndi pamene nkhani ya kulengedwa kwa gulu limodzi imathera ndipo nkhani ya moyo wake imayambira. Monga bonasi, pali malamulo awiri othandiza a CSE omwe amakulolani kuti nthawi zina musunge zinthu kapena ayi:
#Π£Π²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΠΌ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Π΄ΠΎ 8 Π²ΠΎΡΠΊΠ΅Ρ Π½ΠΎΠ΄
>cse cluster resize MyCluster --network k8s_cluster_net --nodes 8
#ΠΡΠ²ΠΎΠ΄ΠΈΠΌ Π½Π΅Π½ΡΠΆΠ½ΡΠ΅ Π½ΠΎΠ΄Ρ ΠΈΠ· ΠΊΠ»Π°ΡΡΠ΅ΡΠ° Ρ ΠΈΡ
ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ
>vcd cse node delete MyCluster node-1a2v node-6685 --yes
Zikomo nonse chifukwa cha nthawi yanu, ngati muli ndi mafunso, funsani mu ndemanga.
Source: www.habr.com