OpenShift virtualization: arịa, KVM na igwe mebere

OpenShift virtualization (ọrụ dị n'elu - Kubernetes: KubeVirt, lee. ebe a и ebe a), nee Container-native Virtualization, ewebata dị ka ọrụ nke OpenShift ikpo okwu, nke e mere maka ibugharị na ijikwa mebere igwe (VM) dị ka isi Kubernetes ụlọ ọrụ. Ụdị ọrụ a bụ ihe ịma aka na teknụzụ n'ihi ọdịiche dị mkpa na teknụzụ. Iji nweta ihe mgbaru ọsọ a, anyị na-eji teknụzụ ndị a maara nke ọma dabere na Red Hat Enterprise Linux na KVM, bụ ndị nọnyere anyị ruo ọtụtụ afọ ma gosipụta ịdị irè ha.

OpenShift virtualization: arịa, KVM na igwe mebere

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ụ

Ngwa na-eji usoro kernel Linux dị ka oghere aha na otu iji kewapụ usoro na jikwaa akụrụngwa. A na-aghọtakarị usoro dị ka Python, ngwa Java ma ọ bụ faịlụ nwere ike ime, mana n'ezie 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.

OpenShift virtualization: arịa, KVM na igwe mebere

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.

OpenShift virtualization: arịa, KVM na igwe mebere

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.

OpenShift virtualization: arịa, KVM na igwe mebere

Iji Multus, onye nchịkwa nwere ike ịkọwa netwọk CNI ndị ọzọ, nke a ga-ebunye ma hazie ya na ụyọkọ ahụ site n'aka onye ọrụ netwọkụ Cluster pụrụ iche. A na-ejikọta pọd ndị ahụ na otu ma ọ bụ karịa n'ime netwọkụ ndị a, na-abụkarị ọkọlọtọ OpenShiftSDN na interface mgbakwunye. Ngwaọrụ SR-IOV, Linux Bridge ọkọlọtọ, ngwaọrụ MACVLAN na IPVLAN niile enwere ike iji ma ọ bụrụ na VM gị chọrọ ya. Ọnụ ọgụgụ dị n'okpuru na-egosi otu esi edobe Multus CNI maka netwọk akwa 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 ebe a... E wezụga nke ahụ, onye ọrụ nmstate, 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:

OpenShift virtualization: arịa, KVM na igwe mebere

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ụ Akwụkwọ OpenShift maka ntuziaka nwụnye, gụnyere Ngalaba nhazi ọtụtụ, nke na-enye ozi gbasara ịtọlite ​​​​netwọọdụ mpụga.

isi: www.habr.com

Tinye a comment