CSE: Kubernetes kuwa ku jira vCloud

CSE: Kubernetes kuwa ku jira vCloud
Hello qof walba!

Waxay dhacday in kooxdeena yaryar, ma aha in la yiraahdo dhawaan, oo hubaal maahan si lama filaan ah, ayaa koray si ay u guurto qaar (iyo mustaqbalka dhammaan) alaabta Kubernetes.

Waxaa jiray sababo badan tan, laakiin sheekadeenu maaha mid ku saabsan holivar.

Waxaan haysanay doorasho yar oo ku saabsan saldhigga kaabayaasha. Agaasimaha vCloud iyo Agaasimaha vCloud. Waxaan dooranay midda cusub waxaana go'aansanay inaan bilowno.

Mar labaad, anigoo eegaya "The Hard Way," Waxaan si dhakhso ah u imid gabagabada in qalab loogu talagalay habaynta ugu yaraan hababka aasaasiga ah, sida geynta iyo cabbirka, loo baahan yahay shalay. Qulqulka qoto dheer ee Google wuxuu keenay iftiinka badeecada sida VMware Container Service Extension (CSE) - badeecad il furan oo kuu ogolaanaysa inaad otomaatig u sameyso abuurista iyo cabbirka kutlada k8s kuwa ku jira vCloud.

Afeef: CSE waxay leedahay xaddidaaddeeda, laakiin ujeeddooyinkeenna aawadood waxay ahayd mid qumman. Sidoo kale, xalka waa in uu taageeraa bixiyaha daruuraha, laakiin maadaama qaybta serverku sidoo kale tahay il furan, weydii maamulaha kuugu dhow inuu diyaar u yahay :)

Si aad u bilowdo isticmaalkeeda, waxaad u baahan tahay koontada maamulka ee ururka vCloud iyo shabakad hore loo sameeyay oo loogu talagalay kutlada (inta lagu jiro habka dirista, waxaad u baahan tahay marin internet oo shabakadan ah, ha ilaawin inaad dejiso Firewall/NAT). Wax ka qabashada dhib ma laha. Tusaalahan, aynu soo qaadano 10.0.240.0/24

CSE: Kubernetes kuwa ku jira vCloud

Tan iyo markii la abuuray ka dib, kooxdu waxay u baahan doontaa in si uun loo maareeyo, waxaa lagu talinayaa in la haysto VPN oo la socdo shabakada la abuuray. Waxaan isticmaalnaa SSL VPN caadiga ah oo lagu habeeyay kadinka Edge Gateway ee ururkayaga.

Marka xigta, waxaad u baahan tahay inaad ku rakibto macmiilka CSE halkaasoo kooxaha k8s lagu maamuli doono. Xaaladeyda, kani waa laptop shaqeynaya iyo dhowr weel oo si fiican u qarsoonaa oo wada otomaatiga.

Macmiilku wuxuu u baahan yahay nooca Python 3.7.3 iyo ka sareeya oo la rakibay iyo moduleka la rakibay vcd-cli, markaa aynu labadaba rakibno.

pip3 install vcd-cli

pip3 install container-service-extension

Ka dib markii la rakibo, waxaan hubineynaa nooca CSE oo hel kuwa soo socda:

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

Lama filaan, laakiin la hagaajin karo. Sida ay soo baxday, CSE waxay u baahan tahay in lagu lifaaqo cutub ahaan vcd-cli.
Si tan loo sameeyo, waa inaad marka hore gasho vcd-cli ururkayaga:

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

Taas ka dib, vcd-cli waxay abuuri doontaa faylka qaabeynta ~/.vcd-cli/profiles.yaml
Dhamaadka waxaad u baahan tahay inaad ku darto waxyaabaha soo socda:

extensions:
  - container_service_extension.client.cse

Ka dib waxaan mar kale hubinaa:

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

Marxaladda rakibidda macmiilku waa dhammaatay. Aan isku dayno inaan geyno kooxda kowaad.
CSE waxa ay leedahay dhawr qaybood oo ah cabbirka isticmaalka, dhamaantood waa la arki karaa halkan.

Marka hore, aan abuurno furayaasha gelitaanka furaha sirta ah ee kooxda mustaqbalka. Qodobkani waa mid muhiim ah, tan iyo marka la eego, gelitaanka erayga sirta ah ee noodhka waa la joojin doonaa, iyo haddii aadan dejin furayaasha, waxaad ka heli kartaa shaqo badan iyada oo loo marayo qalabka mashiinka farsamada, taas oo aan ku habboonayn.

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

Aan isku dayno inaan bilowno abuurista koox:

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

Haddaynu khalad helno Khalad: Fadhigu wuu dhacay ama isticmaaluhu ma soo gelin Fadlan dib u soo gal - mar kale gal vcd-cli gudaha vCloud sida kor lagu sharaxay oo isku day mar kale.

Markan wax walba waa hagaagsan yihiin oo hawshii abuurista koox ayaa bilaabatay.

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

Waxay qaadan doontaa qiyaastii 20 daqiiqo in la dhammeeyo hawsha; Dhanka kale, aan eegno xuduudaha bilowga aasaasiga ah.

-network - Shabakadda aan hore u abuurnay.
-ssh-key - furayaasha aan abuurnay, kuwaas oo lagu qori doono qanjidhada kooxda
-nodes n - Tirada qanjidhada shaqaalaha ee kutlada. Had iyo jeer waxaa jiri doona hal sayid, tani waa xaddidaad CSE ah
-enable-nfs - u samee noodh dheeri ah saamiyada NFS oo hoos yimaada qiyaaso joogto ah. Waa wax yar oo ka mid ah ikhtiyaarka badelka; waxaanu ku noqon doonaa hagaajinta waxa uu sameeyo wax yar ka dib.

Dhanka kale, vCloud waxaad si muuqaal ah ula socon kartaa abuurista koox
CSE: Kubernetes kuwa ku jira vCloud

Marka hawsha abuuritaanka kooxdu ay dhammaato, waxay diyaar u tahay in la isticmaalo.

Aynu ku hubino saxnaanta meelaynta amarka vcd cse xogta kutlada MyCluster

CSE: Kubernetes kuwa ku jira vCloud

Marka xigta waxaan u baahanahay inaan helno qaabeynta kooxda si aan u isticmaalno kubectl

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

Waxaadna ku hubin kartaa heerka kooxda adigoo isticmaalaya:

CSE: Kubernetes kuwa ku jira vCloud

Halkaa marka ay marayso, kooxdu waxa loo tixgalin karaa in ay shuruud ku shaqaynayso, haddii aanay ahayn sheekada oo leh tirooyin joogto ah. Maadaama aan ku jirno vCloud, ma awoodi doono inaan isticmaalno Bixiyaha vSphere. Ikhtiyaarka --awood-nfs loogu talagalay in lagu khafiifiyo dhibkan, laakiin si buuxda uma shaqayn. Hagaajinta gacanta ayaa loo baahan yahay.

Si loo bilaabo, noodhkayagu wuxuu u baahan yahay inuu abuuro disk madax-bannaan oo gooni ah vCloud. Tani waxay dammaanad qaadaysaa in xogtayadu aanay la lumin doonin kutlada haddii la tirtiro. Sidoo kale, ku xidh diskka NFS

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

Taas ka dib, waxaan ku mareynaa ssh (dhab ahaantii ma abuurtay furayaasha?) NFS noode oo ugu dambeyntii ku xir diskka:

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

U samee hagaha xogta oo ku dheji qayb cusub halkaas:

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

Aan abuurno shan qaybood oo tijaabo ah oo aan u wadaagno kooxda:

>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

Sixirkaan oo dhan ka dib, waxaan ku abuuri karnaa PV iyo PVC kooxdeena wax sidan oo kale ah:
Wariye:

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

Halkaas ayay ku dhammaatay sheekadii hal-abuurkii koox kooxeed, waxaana ka bilaabmaya sheekada meertada nolosheeda. Gunno ahaan, waxaa jira laba amarrarro kale oo CSE ah oo faa'iido leh kuwaas oo kuu oggolaanaya inaad mararka qaarkood kaydsato kheyraadka iyo haddii kale:

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

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

Dhammaantiin waad ku mahadsan tihiin waqtigaaga, haddii aad wax su'aalo ah qabtid, ku weydii faallooyinka.

Source: www.habr.com

Add a comment