I-OpenShift virtualization (iprojekthi ephezulu-Kubernetes: KubeVirt, bona. и ), nee Container-native Virtualization, yaziswa njengomsebenzi weqonga le-OpenShift, eliyilelwe ukuthunyelwa nokulawula oomatshini benyani (VMs) njengamaqumrhu asisiseko eKubernetes. Olu hlobo lomsebenzi lucelomngeni ngokobuchwephesha ngenxa yomahluko osisiseko kwitekhnoloji. Ukuze sifezekise le njongo, sisebenzise itekhnoloji eqhelekileyo esekwe kwiRed Hat Enterprise Linux kunye ne-KVM, ezihlale nathi iminyaka emininzi kwaye zibonakalise ukusebenza kwazo.

Kweli nqaku, siza kujonga imiba yobugcisa ye-OpenShift ebonakalayo eyenza ukuba ii-VM kunye nezikhongozeli zihlale ngaphakathi kweqonga elinye elizilawulayo njengeziko elinye.
Imisebenzi yokubala
Izikhongozeli zisebenzisa iindlela ze-Linux kernel ezifana neendawo zamagama kunye namaqela ukwahlula iinkqubo kunye nokulawula izixhobo. Ngokuqhelekileyo iinkqubo ziqondwa njengePython, izicelo zeJava okanye iifayile eziphunyeziweyo, kodwa eneneni zinokuba naziphi na iinkqubo, ezifana ne-bash, i-Emacs okanye i-vim.
Yintoni umatshini wenyani? Ukusuka kwimbono ye-hypervisor, oku kwakhona yinkqubo. Kodwa hayi inkqubo yesicelo, kodwa inkqubo ye-KVM enoxanduva lokuphumeza i-VM ethile.

Umfanekiso wesikhongozeli uqulethe zonke izixhobo, amathala eencwadi kunye neefayile ezifunekayo kumatshini wenyani we-KVM. Ukuba sihlola i-pod ye-VM esebenzayo, siya kubona kukho abancedisi kunye neenkqubo zeqemu-kvm. Ukongeza, sinokufikelela kwizixhobo ze-KVM zokulawula oomatshini benyani abafana neqemu-img, qemu-nbd kunye nevirsh.

Kuba umatshini wenyani uyipod, uzuza ngokuzenzekelayo yonke imisebenzi yepod eKubernetes. Iipod ze-VM, njengee-pods eziqhelekileyo, ziphantsi kwezicwangciso zomcwangcisi kunye neendlela ezinje ngokungcolisa, ukunyamezela, ukunxulumana kunye nokuchasana nokuhambelana. Kwakhona ufumana izibonelelo zokufumaneka okuphezulu, njl. Nangona kunjalo, kukho umehluko obalulekileyo: ii-pods eziqhelekileyo azifuduki ukusuka kwinginginya ukuya kumamkeli ngendlela eqhelekileyo. Ukuba i-node ayisebenzi kwi-intanethi, i-pod ekuyo iyayekiswa kwaye yabelwe enye indawo kwiqela. Kwaye kwimeko yomatshini wenyani, silindele ukubona imfuduko ephilayo.
Ukujongana nesi sikhewu, inkcazo yemithombo yesiko (CDR) yenziwa ukuchaza indlela yokufuduka ephilayo enoxanduva lokuqalisa, ukubeka esweni, nokulawula ukufuduka okuphilayo kwee-VM phakathi kweendawo zabasebenzi.
apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachineInstanceMigration
metadata:
name: migration-job
spec:
vmiName: fedora
Xa i-node ivaliwe, imisebenzi yokufuduka iyenziwa ngokuzenzekelayo kwabo matshini abanokusetwa kwe-Live Migration njengesicwangciso sabo sokukhupha. Ngale ndlela unokulawula ukuziphatha koomatshini benyani xa uhamba phakathi kweendawo zeqela. Ungaqwalasela zombini ukufuduka okubukhoma kwaye ulawule i-VM, njengazo zonke ezinye ii-pods.
Inethiwekhi
Nayiphi na inkqubo ye-Kubernetes ibonelela ngonxibelelwano phakathi kwee-nodes kunye neepods usebenzisa i-software ye-SDN networks. I-OpenShift ayihlukanga kwaye, ukuqala kwinguqulo yesi-3, isebenzisa i-OpenShiftSDN ngokungagqibekanga kule nto. Ukongeza, i-OpenShift 4 inenye into entsha ebizwa ngokuba yi-Multus, ekuvumela ukuba wenze iinethiwekhi ezininzi zifumaneke kwaye uqhagamshele ii-pods kubo ngaxeshanye.

Ukusebenzisa i-Multus, umlawuli unokuchaza uthungelwano olongezelelweyo lwe-CNI, oluya kuthi emva koko lubekwe kwaye luqwalaselwe kwiqela nguMsebenzi okhethekileyo weCluster Network. Iipods ke ziqhagamshelwe kwenye okanye ngaphezulu kwezi nethiwekhi, ngokuqhelekileyo i-OpenShiftSDN eqhelekileyo kunye ne-interface eyongezelelweyo. Izixhobo ze-SR-IOV, i-Linux Bridge eqhelekileyo, i-MACVLAN kunye nezixhobo ze-IPVLAN zingasetyenziswa zonke ukuba i-VM yakho iyayifuna. Lo mzobo ungezantsi ubonisa indlela yokuseta iMultus CNI yothungelwano lwebhulorho kujongano lwe-eth1:
apiVersion: operator.openshift.io/v1
kind: Network
metadata:
name: cluster
spec:
additionalNetworks:
- name: multus1
rawCNIConfig: '{ "cniVersion": "0.3.1", "type": "bridge", "master": "eth1", "ipam":
{ "type": "static", "addresses": [ { "address": "191.168.1.1/24" } ] } }'
type: Raw
Ngokumalunga ne-OpenShift virtualization, oku kuthetha ukuba i-VM inokudityaniswa kwinethiwekhi yangaphandle ngokuthe ngqo, idlula i-SDN. Oku kubalulekile koomatshini benyani abafudukele kwi-OpenShift ukusuka kwi-Red Hat Virtualization okanye i-VMware vSphere, ekubeni ukuba unokufikelela kuluhlu lwe-OSI yesibini, akuyi kubakho tshintsho kwizicwangciso zenethiwekhi. Oku kuthetha ukuba i-VM inokuba nedilesi yenethiwekhi edlula i-SDN. Ngaloo ndlela, sinokusebenzisa ngokufanelekileyo iiadaptha zenethiwekhi ezikhethekileyo, okanye ukudibanisa ngokuthe ngqo kwinkqubo yokugcina phezu kwenethiwekhi ...
Unokufunda ngakumbi malunga nokwenza kwaye uqhagamshele i-OpenShift oomatshini bokubonwa benyani kwinethiwekhi ... Ngaphandle koko, , isetyenziswe njengenxalenye ye-OpenShift virtualization, inika enye indlela eqhelekileyo yokudala nokulawula ulungelelwaniso lwenethiwekhi kwiindawo eziphathekayo ezisetyenziswa phantsi kwee-hypervisors.
Ukugcina
Ukuqhagamshela kunye nokulawula iidiski zomatshini we-virtual ngaphakathi kwe-OpenShift ye-virtualization yenziwa ngokusebenzisa i-Kubernetes concepts ezifana ne-StorageClasses, i-PersistentVolumeClaims (PVC) kunye ne-PersistentVolume (PV), kunye nomgangatho wokugcinwa kweeprotocol kwimeko ye-Kubernetes. Oku kunika abalawuli be-Kubernetes kunye namaqela ezicelo indlela eqhelekileyo, eqhelekileyo yokulawula zombini izikhongozeli kunye noomatshini ababonakalayo. Kwaye kubalawuli abaninzi beemeko ze-virtualization, le ngcamango inokuvakala iqhelekile kuba isebenzisa umgaqo ofanayo wokwahlula iifayile zokucwangcisa i-VM kunye neediski ezisetyenziswa kwi-OpenStack kunye nezinye iiplatifomu ezininzi zefu.
Nangona kunjalo, asinakwenza ngokulula idiski entsha ye-VM ngalo lonke ixesha, kuba xa sifuduka sisuka kwi-hypervisor siye kwi-OpenShift, kufuneka sigcine idatha. Ewe, naxa sifaka iVM entsha, ihlala ikhawuleza ukuyenza ukusuka kwitemplate kunokuyenza ukusuka ekuqaleni. Ngaloo ndlela, sifuna umsebenzi wokungenisa iidiski ezikhoyo.
Ukwenza lula lo msebenzi, i-OpenShift virtualization isebenzisa iprojekthi ye-Containerized Data Importer (CDI), enciphisa ukungenisa imifanekiso yediski yeediski ukusuka kwimithombo emininzi ukudala ukungena kwePVC.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: "fedora-disk0"
labels:
app: containerized-data-importer
annotations:
cdi.kubevirt.io/storage.import.endpoint: "http://10.0.0.1/images/Fedora-Cloud-Base-31-1.9.x86_64.qcow2"
spec:
storageClassName: ocs-gold
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
Ngolu ngeno oluvula i-CDI, ivuselela ulandelelwano lwezenzo eziboniswe kulo mfanekiso ungezantsi:

Emva kokuba i-CDI igqityiwe, i-PVC iya kuqulatha idiski yomatshini wenyani elungele ukusetyenziswa kwaye iguqulelwe kwifomathi eqhelekileyo ye-OpenShift...
Xa usebenza nge-OpenShift virtualization, i-OpenShift Container Storage (i-OCS), isisombululo se-Red Hat esekelwe kwinkqubo yefayile ye-Ceph eyenza umsebenzi oqhubekayo wokugcinwa kwezikhongozeli, nayo iluncedo. Ukongeza kwiindlela eziqhelekileyo zokufikelela kwi-PVC - i-RWO (ibhloko) kunye ne-RWX (ifayile) - i-OCS ibonelela nge-RWX yezixhobo zebhloko eziluhlaza, eziluncedo kakhulu ekwabelaneni ngokufikelela kwibhloko kwizicelo ezineemfuno eziphezulu zokusebenza. Ukongezelela, i-OCS isekela umgangatho omtsha weBango leBhakethi yeNjongo, evumela izicelo ukuba zisebenzise ngokuthe ngqo ukugcinwa kwedatha yento.
Oomatshini benyani kwizikhongozeli
Ukuba unomdla ekujongeni ukuba isebenza njani, ke yazi ukuba i-OpenShift virtualization sele ikhona kwiTech Preview version njengenxalenye ye-OpenShift 3.11 nangaphezulu. Abanini bomrhumo okhoyo we-OpenShift banokusebenzisa i-OpenShift ebonakalayo simahla kwaye ngaphandle kwamanyathelo ongezelelweyo. Ngexesha lokupapashwa kwesi sithuba, i-OpenShift 4.4 kunye ne-OpenShift virtualization 2.3 zezangoku ukuba usebenzisa iinguqulelo zangaphambili, ngoko kufuneka uphucule ukuze ufumane iimpawu zamva nje. Inguqulelo exhaswa ngokupheleleyo ye-OpenShift virtualization kufuneka ikhutshwe kwisiqingatha sesibini sika-2020.
Ngolwazi oluthe vetshe nceda uqhagamshelane imiyalelo yofako, kuquka , enika ulwazi malunga nokuseka amanethiwekhi angaphandle.
umthombo: www.habr.com
