Helo bawb!
Digwyddodd felly bod ein tîm bach, i beidio â dweud bod yn ddiweddar, ac yn sicr nid yn sydyn, wedi tyfu i symud rhai cynhyrchion (ac yn y dyfodol i gyd) i Kubernetes.
Roedd llawer o resymau am hyn, ond nid yw ein stori yn ymwneud â holivar.
Ychydig o ddewis oedd gennym o ran y sylfaen seilwaith. Cyfarwyddwr vCloud a Chyfarwyddwr vCloud. Fe wnaethon ni ddewis yr un mwy newydd a phenderfynu cychwyn.
Unwaith eto, wrth edrych trwy “Y Ffordd Galed,” deuthum i'r casgliad yn gyflym iawn bod angen offeryn ar gyfer awtomeiddio prosesau sylfaenol o leiaf, megis lleoli a maint, ddoe. Daeth plymiad dwfn i Google â chynnyrch o'r fath fel Estyniad Gwasanaeth Cynhwysydd VMware (CSE) i'r amlwg - cynnyrch ffynhonnell agored sy'n eich galluogi i awtomeiddio creu a maint clystyrau k8s ar gyfer y rhai yn vCloud.
Ymwadiad: Mae gan CSE ei gyfyngiadau, ond at ein dibenion ni roedd yn berffaith. Hefyd, rhaid i'r datrysiad gael ei gefnogi gan ddarparwr y cwmwl, ond gan fod rhan y gweinydd hefyd yn ffynhonnell agored, gofynnwch i'ch rheolwr agosaf ei gael :)
I ddechrau ei ddefnyddio, mae angen cyfrif gweinyddwr arnoch yn y sefydliad vCloud a rhwydwaith wedi'i lwybro'n flaenorol ar gyfer y clwstwr (yn ystod y broses leoli, mae angen mynediad Rhyngrwyd arnoch o'r rhwydwaith hwn, peidiwch ag anghofio ffurfweddu Firewall/NAT). Nid yw mynd i'r afael yn bwysig. Yn yr enghraifft hon, gadewch i ni gymryd 10.0.240.0/24
Oherwydd ar ôl ei greu, bydd angen rheoli'r clwstwr rywsut, argymhellir cael VPN gyda llwybro i'r rhwydwaith a grëwyd. Rydym yn defnyddio SSL VPN safonol wedi'i ffurfweddu ar Edge Gateway ein sefydliad.
Nesaf, mae angen i chi osod y cleient CSE lle bydd y clystyrau k8s yn cael eu rheoli. Yn fy achos i, gliniadur sy'n gweithio yw hwn a chwpl o gynwysyddion cudd sy'n gyrru awtomeiddio.
Mae'r cleient angen fersiwn Python 3.7.3 ac uwch wedi'i osod a'r modiwl wedi'i osod
pip3 install vcd-cli
pip3 install container-service-extension
Ar ôl gosod, rydym yn gwirio'r fersiwn CSE ac yn cael y canlynol:
# vcd cse version
Error: No such command "cse".
Annisgwyl, ond y gellir ei drwsio. Fel y digwyddodd, mae angen atodi CSE fel modiwl i vcd-cli.
I wneud hyn, yn gyntaf rhaid i chi fewngofnodi vcd-cli i'n sefydliad:
# vcd login MyCloud.provider.com org-dev admin
Password:
admin logged in, org: 'org-dev', vdc: 'org-dev_vDC01'
Ar ôl hyn, bydd vcd-cli yn creu ffeil ffurfweddu ~/.vcd-cli/profiles.yaml
Ar y diwedd mae angen i chi ychwanegu'r canlynol:
extensions:
- container_service_extension.client.cse
Yna rydym yn gwirio eto:
# vcd cse version
CSE, Container Service Extension for VMware vCloud Director, version 2.5.0
Mae cam gosod y cleient wedi'i gwblhau. Gadewch i ni geisio defnyddio'r clwstwr cyntaf.
Mae gan CSE sawl set o baramedrau defnydd, gellir gweld pob un ohonynt
Yn gyntaf, gadewch i ni greu allweddi ar gyfer mynediad heb gyfrinair i'r clwstwr yn y dyfodol. Mae'r pwynt hwn yn bwysig, oherwydd yn ddiofyn, bydd mewngofnodi cyfrinair i nodau yn anabl, ac os na fyddwch chi'n gosod yr allweddi, gallwch chi gael llawer o waith trwy'r consolau peiriannau rhithwir, nad yw'n gyfleus.
# 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.
Gadewch i ni geisio dechrau creu clwstwr:
vcd cse cluster create MyCluster --network k8s_cluster_net --ssh-key ~/.ssh/id_rsa.pub --nodes 3 --enable-nfs
Os cawn gamgymeriad Gwall: Sesiwn wedi dod i ben neu defnyddiwr heb fewngofnodi. Os gwelwch yn dda ail-fewngofnodi. — eto mewngofnodwch vcd-cli i vCloud fel y disgrifir uchod a cheisiwch eto.
Y tro hwn mae popeth yn iawn ac mae'r dasg o greu clwstwr wedi dechrau.
cluster operation: Creating cluster vApp 'MyCluster' (38959587-54f4-4a49-8f2e-61c3a3e879e0) from template 'photon-v2_k8-1.12_weave-2.3.0' (revision 1)
Bydd yn cymryd tua 20 munud i gwblhau'r dasg; yn y cyfamser, gadewch i ni edrych ar y paramedrau lansio sylfaenol.
—rhwydwaith — y rhwydwaith a grëwyd gennym yn gynharach.
—ssh-key — yr allweddi a grëwyd gennym, a fydd yn cael eu hysgrifennu i nodau'r clwstwr
—nodes n — Nifer y nodau Gweithiwr yn y clwstwr. Bydd un meistr bob amser, mae hwn yn gyfyngiad CSE
—enable-nfs — creu nod ychwanegol ar gyfer cyfranddaliadau NFS o dan gyfeintiau parhaus. Mae'n dipyn o opsiwn pedal; byddwn yn dychwelyd i diwnio'r hyn y mae'n ei wneud ychydig yn ddiweddarach.
Yn y cyfamser, yn vCloud gallwch fonitro creu clwstwr yn weledol
Unwaith y bydd y dasg o greu clwstwr wedi'i chwblhau, mae'n barod i'w ddefnyddio.
Gadewch i ni wirio cywirdeb y gosodiad gyda'r gorchymyn gwybodaeth clwstwr cse vcd MyCluster
Nesaf mae angen i ni gael y ffurfwedd clwstwr i'w ddefnyddio ciwctl
# vcd cse cluster config MyCluster > ./.kube/config
A gallwch wirio statws y clwstwr gan ei ddefnyddio:
Ar y pwynt hwn, gellir ystyried bod y clwstwr yn gweithio'n amodol, os nad ar gyfer y stori gyda chyfrolau parhaus. Gan ein bod yn vCloud, ni fyddwn yn gallu defnyddio vSphere Provider. Opsiwn --galluogi-nfs wedi'i gynllunio i lyfnhau'r niwsans hwn, ond ni weithiodd allan yn llwyr. Angen addasiad â llaw.
I ddechrau, mae angen i'n nod greu disg Annibynnol ar wahân yn vCloud. Mae hyn yn gwarantu na fydd ein data yn diflannu ynghyd â'r clwstwr os caiff ei ddileu. Hefyd, cysylltwch y ddisg i NFS
# vcd disk create nfs-shares-1 100g --description 'Kubernetes NFS shares'
# vcd vapp attach mycluster nfsd-9604 nfs-shares-1
Ar ôl hynny, rydyn ni'n mynd trwy ssh (rydych chi wedi creu'r allweddi mewn gwirionedd?) i'n nod NFS ac yn olaf yn cysylltu'r ddisg:
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
Creu cyfeiriadur ar gyfer data a gosod rhaniad newydd yno:
mkdir /export
echo '/dev/sdb1 /export ext4 defaults 0 0' >> /etc/fstab
mount -a
Gadewch i ni greu pum rhaniad prawf a'u rhannu ar gyfer y clwstwr:
>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
Ar ôl yr holl hud hwn, gallwn greu PV a PVC yn ein clwstwr rhywbeth fel hyn:
Gohebydd:
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
Dyma lle mae stori creu un clwstwr yn dod i ben a stori ei gylch bywyd yn dechrau. Fel bonws, mae dau orchymyn CSE defnyddiol arall sy'n caniatáu ichi arbed adnoddau weithiau ai peidio:
#Увеличиваем размер кластера до 8 воркер нод
>cse cluster resize MyCluster --network k8s_cluster_net --nodes 8
#Выводим ненужные ноды из кластера с их последующим удалением
>vcd cse node delete MyCluster node-1a2v node-6685 --yes
Diolch i chi i gyd am eich amser, os oes gennych unrhyw gwestiynau, gofynnwch yn y sylwadau.
Ffynhonnell: hab.com