CSE: Kubernetes dhaibhsan ann an vCloud

CSE: Kubernetes dhaibhsan ann an vCloud
Hello a h-uile duine!

Tha e mar sin a thachair gu bheil an sgioba bheag againn, gun a bhith ag ràdh sin o chionn ghoirid, agus gu cinnteach chan ann gu h-obann, air fàs gu bhith a’ gluasad cuid de thoraidhean (agus san àm ri teachd uile) gu Kubernetes.

Bha iomadh adhbhar ann airson seo, ach chan eil an sgeulachd againn mu dheidhinn holivar.

Cha robh mòran roghainn againn a thaobh bun-structair. Stiùiriche vCloud agus Stiùiriche vCloud. Thagh sinn am fear as ùire agus chuir sinn romhainn tòiseachadh.

A-rithist, a 'coimhead tro "An t-Slighe Cruaidh," thàinig mi gu co-dhùnadh gu math luath gu robh feum air inneal airson pròiseasan bunaiteach co-dhiù a dhèanamh fèin-ghluasadach, leithid cleachdadh agus meud, an-dè. Thug dàibheadh ​​​​domhainn a-steach do Google toradh leithid VMware Container Service Extension (CSE) - toradh stòr fosgailte a leigeas leat cruthachadh agus meud cruinneachaidhean k8s a dhèanamh fèin-ghluasadach dhaibhsan ann an vCloud.

Àicheadh: Tha crìochan aig CSE, ach airson ar n-adhbharan bha e foirfe. Cuideachd, feumaidh an solaraiche sgòth taic a thoirt don fhuasgladh, ach leis gu bheil pàirt an fhrithealaiche cuideachd fosgailte, iarr air a’ mhanaidsear as fhaisge ort a bhith ri fhaighinn :)

Gus tòiseachadh air a chleachdadh, feumaidh tu cunntas rianadair anns a’ bhuidheann vCloud agus lìonra a chaidh a chruthachadh roimhe seo airson a’ bhraisle (rè a’ phròiseas cleachdadh, feumaidh tu ruigsinneachd eadar-lìn bhon lìonra seo, na dìochuimhnich a bhith a’ rèiteachadh Firewall/NAT). Chan eil an seòladh gu diofar. San eisimpleir seo, gabhamaid 10.0.240.0/24

CSE: Kubernetes dhaibhsan ann an vCloud

Leis an dèidh cruthachadh, feumaidh am buidheann a bhith air a riaghladh ann an dòigh air choireigin, thathas a’ moladh VPN a bhith agad le slighe chun lìonra cruthaichte. Bidh sinn a’ cleachdadh SSL VPN àbhaisteach a chaidh a dhealbhadh air Edge Gateway na buidhne againn.

An ath rud, feumaidh tu an teachdaiche CSE a chuir a-steach far am bi na cruinneachaidhean k8s air an riaghladh. Anns a 'chùis agam, is e laptop obrach a tha seo agus dà shoitheach falaichte a bhios a' stiùireadh fèin-ghluasad.

Feumaidh an neach-dèiligidh tionndadh Python 3.7.3 agus nas àirde air a chuir a-steach agus am modal air a chuir a-steach vcd-cli, mar sin leig leinn an dà chuid a stàladh.

pip3 install vcd-cli

pip3 install container-service-extension

Às deidh an stàladh, bheir sinn sùil air an tionndadh CSE agus gheibh sinn na leanas:

# vcd cse version
Error: No such command "cse".

Gun dùil, ach socraichte. Mar a thionndaidh e a-mach, feumaidh CSE a bhith ceangailte mar mhodal ri vcd-cli.
Gus seo a dhèanamh, feumaidh tu an toiseach logadh a-steach vcd-cli don bhuidheann againn:

# vcd login MyCloud.provider.com org-dev admin
Password: 
admin logged in, org: 'org-dev', vdc: 'org-dev_vDC01'

Às deidh seo, cruthaichidh vcd-cli faidhle rèiteachaidh ~/.vcd-cli/profiles.yaml
Aig an deireadh feumaidh tu na leanas a chur ris:

extensions:
  - container_service_extension.client.cse

An uairsin nì sinn sgrùdadh a-rithist:

# vcd cse version
CSE, Container Service Extension for VMware vCloud Director, version 2.5.0

Tha an ìre stàlaidh teachdaiche deiseil. Feuchaidh sinn ris a’ chiad bhuidheann a chleachdadh.
Tha grunn sheataichean de pharamadairean cleachdaidh aig CSE, faodar coimhead orra uile an seo.

An toiseach, cruthaichidh sinn iuchraichean airson ruigsinneachd gun fhacal-faire don bhuidheann san àm ri teachd. Tha a’ phuing seo cudromach, oir gu gnàthach, thèid logadh a-steach facal-faire gu nodan a chiorramachadh, agus mura suidhich thu na h-iuchraichean, gheibh thu tòrr obrach tro na consoles inneal brìgheil, rud nach eil goireasach.

# 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.

Feuchaidh sinn ri tòiseachadh a 'cruthachadh brabhsair:

vcd cse cluster create MyCluster --network k8s_cluster_net --ssh-key ~/.ssh/id_rsa.pub --nodes 3 --enable-nfs

Ma gheibh sinn mearachd Mearachd: Tha an seisean air tighinn gu crìch no an cleachdaiche gun logadh a-steach. Feuch an cuir thu a-steach a-rithist. — a-rithist log a-steach vcd-cli gu vCloud mar a chaidh a mhìneachadh gu h-àrd agus feuch ris a-rithist.

An turas seo tha a h-uile dad gu math agus tha an obair airson cruinneachadh a chruthachadh air tòiseachadh.

cluster operation: Creating cluster vApp 'MyCluster' (38959587-54f4-4a49-8f2e-61c3a3e879e0) from template 'photon-v2_k8-1.12_weave-2.3.0' (revision 1)

Bheir e timcheall air 20 mionaid airson a’ ghnìomh a choileanadh; san eadar-ama, leig dhuinn sùil a thoirt air na paramadairean tòiseachaidh bunaiteach.

-network - an lìonra a chruthaich sinn na bu thràithe.
—ssh-key - na h-iuchraichean a chruthaich sinn, a thèid a sgrìobhadh gu na nodan brabhsair
—nodes n — An àireamh de nodan luchd-obrach sa bhuidheann. Bidh an-còmhnaidh aon mhaighstir ann, is e cuingealachadh CSE a tha seo
-enable-nfs - cruthaich nód a bharrachd airson earrannan NFS fo mheudan leantainneach. Is e beagan de roghainn peadal a th’ ann; gheibh sinn air ais gu gleusadh na nì e beagan às deidh sin.

Aig an aon àm, ann an vCloud faodaidh tu sùil gheur a chumail air cruthachadh brabhsair
CSE: Kubernetes dhaibhsan ann an vCloud

Aon uair ‘s gu bheil an obair airson cruinneachadh a chruthachadh deiseil, tha e deiseil airson a chleachdadh.

Feuch an dèan sinn sgrùdadh air ceartachd an t-suidheachaidh leis an àithne vcd cse fiosrachadh brabhsair MyCluster

CSE: Kubernetes dhaibhsan ann an vCloud

An ath rud feumaidh sinn an rèiteachadh brabhsair a chleachdadh cubectl

# vcd cse cluster config MyCluster > ./.kube/config

Agus faodaidh tu sgrùdadh a dhèanamh air inbhe a’ bhuidheann le bhith ga chleachdadh:

CSE: Kubernetes dhaibhsan ann an vCloud

Aig an ìre seo, faodar beachdachadh air a’ bhuidheann a bhith ag obair le cumhachan, mura h-eil airson na sgeòil le meudan leantainneach. Leis gu bheil sinn ann an vCloud, cha bhith e comasach dhuinn vSphere Provider a chleachdadh. Roghainn --comas-nfs air a dhealbhadh gus an duilgheadas seo a rèiteachadh, ach cha do dh'obraich e a-mach gu tur. Atharrachadh làimhe a dhìth.

Gus tòiseachadh, feumaidh an nód againn diosc neo-eisimeileach air leth a chruthachadh ann an vCloud. Tha seo a’ gealltainn nach tèid an dàta againn à sealladh còmhla ris a’ bhuidheann ma thèid a dhubhadh às. Cuideachd, ceangail an diosg gu NFS

# vcd disk create nfs-shares-1 100g --description 'Kubernetes NFS shares'
# vcd vapp attach mycluster nfsd-9604 nfs-shares-1

Às deidh sin, thèid sinn tro ssh (chruthaich thu na h-iuchraichean dha-rìribh?) Chun an nód NFS againn agus mu dheireadh ceangail an diosc:

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

Cruthaich eòlaire airson dàta agus cuir suas pàirt ùr an sin:

mkdir /export
echo '/dev/sdb1  /export   ext4  defaults   0 0' >> /etc/fstab
mount -a

Cruthaichidh sinn còig earrannan deuchainn agus roinnidh sinn iad airson a’ bhuidheann:

>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

Às deidh na draoidheachd seo, is urrainn dhuinn PV agus PVC a chruthachadh anns a ’bhuidheann againn rudeigin mar seo:
Neach-aithris:

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

Seo far a bheil an sgeulachd mu chruthachadh aon bhuidheann a’ tighinn gu crìch agus sgeulachd a chuairt-beatha a’ tòiseachadh. Mar bhuannachd, tha dà òrdugh CSE feumail eile ann a leigeas leat uaireannan goireasan a shàbhaladh no nach eil:

#Увеличиваем размер кластера до 8 воркер нод
>cse cluster resize MyCluster --network k8s_cluster_net --nodes 8

#Выводим ненужные ноды из кластера с их последующим удалением
>vcd cse node delete MyCluster node-1a2v node-6685 --yes

Tapadh leibh uile airson an ùine agad, ma tha ceist sam bith agad, faighnich anns na beachdan.

Source: www.habr.com

Cuir beachd ann