OpenShift virtualization (ọrụ dị n'elu - Kubernetes: KubeVirt, lee. и ), nke bụbu nke Container-native Virtualization, ka ewebatara dị ka atụmatụ nke ikpo okwu OpenShift nke e mere iji tinye ma jikwaa igwe mebere emebere (VMs) dị ka isi ihe dị na Kubernetes. Ụdị ọrụ a siri ike n'ụzọ teknụzụ n'ihi ọdịiche dị mkpa na teknụzụ. Iji mezuo ebumnuche a, ejiri teknụzụ ndị a maara nke ọma dabere na Red Hat Enterprise. Linux na KVM, nke nọrọ anyị ruo ọtụtụ afọ ma gosipụta na ha dị irè.

N'isiokwu a, anyị ga-eleba anya n'akụkụ aka ọrụ nke OpenShift virtualization nke na-eme ka VM na arịa nwee ike ibikọ ọnụ n'ime otu ikpo okwu na-ejikwa ha dị ka otu ihe.
Ọrụ mgbakọ na mwepụ
Igbe eji usoro eme ihe Linux- njirimara ndị bụ isi, dịka oghere aha na cgroups, maka mwepụ usoro na njikwa akụrụngwa. A na-ewerekarị usoro dị ka ngwa Python ma ọ bụ Java ma ọ bụ ihe ndị a na-emezu, mana n'eziokwu, ha nwere ike ịbụ usoro ọ bụla, dị ka bash, Emacs, ma ọ bụ vim.
Kedu ihe bụ igwe mebere? Site n'echiche nke hypervisor, nke a bụkwa usoro. Mana ọ bụghị usoro ngwa, mana usoro KVM maka ime otu VM.

Onyonyo akpa ahụ nwere ngwa, ọba akwụkwọ na faịlụ niile achọrọ maka igwe mebere KVM. Ọ bụrụ na anyị nyochaa pọd nke VM na-agba ọsọ, anyị ga-ahụ ebe ahụ ndị enyemaka na usoro qemu-kvm. Na mgbakwunye, anyị nwere ohere ịnweta ngwaọrụ KVM maka ijikwa igwe mebere dị ka qemu-img, qemu-nbd na virsh.

Ebe igwe mebere bụ pọd, ọ na-eketa ọrụ niile nke pọd na Kubernetes na-akpaghị aka. VM pods, dị ka pods oge niile, nọ n'okpuru atụmatụ nhazi na njirisi dị ka taints, ndidi, mmekọrịta na mgbochi mmekọrịta. Ị na-enwetakwa uru nke nnweta dị elu, wdg. Otú ọ dị, e nwere otu ọdịiche dị mkpa: pods oge niile adịghị esi na onye ọbịa gaa na nke ọbịa n'echiche nkịtị. Ọ bụrụ na ọnụ na-aga na-anọghị n'ịntanetị, a ga-akwụsị pọd dị na ya ma nyefee ya na ọnụ ọzọ na ụyọkọ ahụ. Na n'ihe banyere igwe mebere, anyị na-atụ anya ịhụ mbugharị ndụ.
Iji lebara oghere a anya, emepụtara nkọwapụta akụrụngwa omenala (CDR) iji kọwaa usoro mbugharị ndụ nke na-ahụ maka ịmalite, nleba anya na ijikwa mbugharị ndụ nke VM n'etiti ọnụ ndị ọrụ.
apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachineInstanceMigration
metadata:
name: migration-job
spec:
vmiName: fedora
Mgbe agbanyụrụ ọnụ ụzọ, a na-emepụta ọrụ mbugharị na-akpaghị aka maka igwe ndị mebere Migration Live dị ka atụmatụ ịchụpụ ha. Otu a ị nwere ike ijikwa omume nke igwe mebere mgbe ị na-aga n'etiti ọnụ ụyọkọ. Ị nwere ike hazie Migration Live ma jikwaa VM, dịka pọd ndị ọzọ niile.
Network
Sistemụ Kubernetes ọ bụla na-enye nkwukọrịta n'etiti ọnụ na pọd site na iji netwọkụ SDN ngwanrọ. OpenShift abụghị ihe dị iche na, malite na ụdị 3, na-eji OpenShiftSDN na ndabara maka nke a. Na mgbakwunye, OpenShift 4 nwere ihe ọhụrụ ọzọ akpọrọ Multus, nke na-enye gị ohere ịme ọtụtụ netwọkụ dị wee jikọọ pọd na ha n'otu oge.

Site na iji Multus, onye nchịkwa nwere ike ịkọwapụta netwọk CNI ndị ọzọ, nke a na-etinye ma hazie na cluster site na iji onye ọrụ netwọk Cluster raara onwe ya nye. A na-ejikọ Pods na otu ma ọ bụ karịa nke netwọk ndị a, nke bụkarị OpenShiftSDN ọkọlọtọ na interface ọzọ. Ngwaọrụ SR-IOV, ọkọlọtọ Linux Enwere ike iji ngwaọrụ Bridge, MACVLAN, na IPVLAN niile ma ọ bụrụ na VM gị chọrọ ya. Foto dị n'okpuru na-egosi otu esi ahazi Multus CNI maka netwọk bridge na interface 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
N'ihe metụtara OpenShift virtualization, nke a pụtara na enwere ike jikọọ VM na netwọk mpụga ozugbo, na-agafe SDN. Nke a dị mkpa maka igwe mebere akwaga na OpenShift si na Red Hat Virtualization ma ọ bụ VMware vSphere, ebe ọ bụrụ na ị nwere ohere na oyi akwa OSI nke abụọ, a gaghị enwe mgbanwe na ntọala netwọkụ. Nke a pụtakwara na VM nwere ike ịnwe adreesị netwọk na-agafe SDN. Ya mere, anyị nwere ike iji ihe nkwụnye netwọk pụrụ iche nke ọma, ma ọ bụ jikọọ ozugbo na usoro nchekwa n'elu netwọk ...
Ị nwere ike mụtakwuo maka ịmepụta na jikọọ OpenShift virtualization mebere igwe na netwọk ... E wezụga nke ahụ, , etinyere dị ka akụkụ nke OpenShift virtualization, na-enye ụzọ ọzọ a maara nke ọma iji mepụta na jikwaa nhazi netwọk na ọnụ anụ ahụ nke ejiri n'okpuru hypervisors.
Nchekwa
Ijikọ na ijikwa diski igwe mebere n'ime OpenShift virtualization ka a na-eme site na iji echiche Kubernetes dị ka StorageClasses, PersistentVolumeClaims (PVC) na PersistentVolume (PV), yana ọkọlọtọ nchekwa maka gburugburu Kubernetes. Nke a na-enye ndị nchịkwa Kubernetes na ndị otu ngwa ụzọ a na-ahụkarị, nke amaara nke ọma iji jikwaa ma akpa na igwe mebere. Maka ọtụtụ ndị na-ahụ maka gburugburu ebe obibi, echiche a nwere ike ịma nke ọma n'ihi na ọ na-eji otu ụkpụrụ nke ikewa faịlụ nhazi VM na diski a na-eji na OpenStack na ọtụtụ nyiwe igwe ojii ndị ọzọ.
Otú ọ dị, anyị enweghị ike ịmepụta diski ọhụrụ maka VM oge ọ bụla, ebe ọ bụ na mgbe ị na-esi na hypervisor gaa OpenShift, anyị kwesịrị ịchekwa data ahụ. Ee, ọbụlagodi mgbe anyị na-ebuga VM ọhụrụ, ọ na-adị ngwa ngwa ime ya site na ndebiri karịa imepụta ya site na ọkọ. Ya mere, anyị chọrọ ọrụ maka mbubata diski dị adị.
Iji mee ka ọrụ a dị mfe, OpenShift virtualization na-ebuga ọrụ Containerized Data Importer (CDI), nke na-ebelata ibubata ihe oyiyi diski nke diski site na ọtụtụ isi mmalite iji mepụta ntinye PVC.
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
Ọ bụ ntinye a na-eme ka CDI rụọ ọrụ, na-ebute usoro omume egosiri na foto dị n'okpuru:

Mgbe CDI mechara, PVC ga-enwe diski igwe mebere maka ojiji wee tụgharịa gaa na usoro OpenShift ọkọlọtọ…
Mgbe ị na-arụ ọrụ na OpenShift virtualization, OpenShift Container Storage (OCS), ihe ngwọta Red Hat dabere na sistemụ faịlụ Ceph nke na-arụ ọrụ nchekwa na-adịgide adịgide maka arịa, bara uru. Na mgbakwunye na usoro ohere ịnweta PVC ọkọlọtọ - RWO (block) na RWX (faịlụ) - OCS na-enye RWX maka ngwaọrụ ngọngọ raw, nke bara uru nke ukwuu maka ịkekọrịta ngọngọ ohere maka ngwa nwere ọrụ dị elu chọrọ. Na mgbakwunye, OCS na-akwado ọkọlọtọ Claim Bucket ọhụrụ, nke na-enye ohere ka ngwa iji nchekwa data ihe ozugbo.
Igwe mebere n'ime akpa
Ọ bụrụ na ị nwere mmasị ịlele ka ọ na-arụ ọrụ, mara na OpenShift virtualization adịlarị na ụdị ihe nlele teknụzụ dị ka akụkụ nke OpenShift 3.11 na elu. Ndị nwe ndenye aha OpenShift dị ugbu a nwere ike iji mebere OpenShift kpamkpam n'efu na enweghị usoro ọ bụla ọzọ. N'oge nke post a, OpenShift 4.4 na OpenShift virtualization 2.3 dị ugbu a; ọ bụrụ na ị na-eji nsụgharị ndị gara aga, ị ga-ebuli elu ka ị nweta njirimara kachasị ọhụrụ. Ekwesịrị ka ewepụtara ụdị OpenShift virtualization zuru oke na ọkara nke abụọ nke 2020.
Maka ozi ndị ọzọ biko kpọtụrụ maka ntuziaka nwụnye, gụnyere , nke na-enye ozi gbasara ịtọlite netwọọdụ mpụga.
isi: www.habr.com
