CSE: Kubernetes kwa omwe ali mu vCloud

CSE: Kubernetes kwa omwe ali mu vCloud
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

CSE: Kubernetes kwa omwe ali mu vCloud

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 vcd-cli, ndiye tiyeni tiyike zonse ziwiri.

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

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
CSE: Kubernetes kwa omwe ali mu vCloud

Ntchito yopanga gulu ikamalizidwa, imakhala yokonzeka kugwiritsidwa ntchito.

Tiyeni tiwone kulondola kwa kutumiza ndi lamulo vcd cse cluster info MyCluster

CSE: Kubernetes kwa omwe ali mu vCloud

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:

CSE: Kubernetes kwa omwe ali mu vCloud

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

Kuwonjezera ndemanga