Rhithwiroli OpenShift: cynwysyddion, KVM a pheiriannau rhithwir

Rhithwiroli OpenShift (prosiect i fyny'r afon - Kubernetes: KubeVirt, gw. yma ΠΈ yma), nee Rhithwiroli Cynwysyddion-frodorol, ei gyflwyno fel swyddogaeth y platfform OpenShift, sydd wedi'i gynllunio ar gyfer defnyddio a rheoli peiriannau rhithwir (VMs) fel endidau Kubernetes sylfaenol. Mae'r math hwn o dasg yn dechnegol heriol oherwydd gwahaniaethau sylfaenol mewn technoleg. Er mwyn cyflawni'r nod hwn, gwnaethom ddefnyddio technolegau cyfarwydd yn seiliedig ar Red Hat Enterprise Linux a KVM, sydd wedi bod gyda ni ers blynyddoedd lawer ac sydd wedi profi eu heffeithiolrwydd.

Rhithwiroli OpenShift: cynwysyddion, KVM a pheiriannau rhithwir

Yn yr erthygl hon, byddwn yn edrych ar yr agweddau technegol ar rithwiroli OpenShift sy'n ei gwneud hi'n bosibl i VMs a chynwysyddion gydfodoli o fewn platfform sengl sy'n eu rheoli fel un endid.

Tasgau cyfrifiadurol

Mae cynwysyddion yn defnyddio mecanweithiau cnewyllyn Linux fel gofodau enwau a cgroups i ynysu prosesau a rheoli adnoddau. Fel arfer deellir prosesau fel Python, cymwysiadau Java neu ffeiliau gweithredadwy, ond mewn gwirionedd gallant fod yn unrhyw brosesau, fel bash, Emacs neu vim.

Beth yw peiriant rhithwir? O safbwynt y hypervisor, mae hon hefyd yn broses. Ond nid y broses ymgeisio, ond y broses KVM sy'n gyfrifol am weithredu VM penodol.

Rhithwiroli OpenShift: cynwysyddion, KVM a pheiriannau rhithwir

Mae delwedd y cynhwysydd yn cynnwys yr holl offer, llyfrgelloedd a ffeiliau sydd eu hangen ar gyfer y peiriant rhithwir KVM. Os byddwn yn archwilio pod VM sy'n rhedeg, byddwn yn gweld cynorthwywyr a phrosesau qemu-kvm yno. Yn ogystal, mae gennym fynediad at offer KVM ar gyfer rheoli peiriannau rhithwir fel qemu-img, qemu-nbd a virsh.

Rhithwiroli OpenShift: cynwysyddion, KVM a pheiriannau rhithwir

Gan fod peiriant rhithwir yn god, mae'n etifeddu holl ymarferoldeb pod yn Kubernetes yn awtomatig. Mae codennau VM, yn union fel codennau arferol, yn destun cynlluniau amserlennu a meini prawf fel llygredigaethau, goddefgarwch, affinedd a gwrth-affinedd. Rydych chi hefyd yn cael buddion argaeledd uchel, ac ati. Fodd bynnag, mae un gwahaniaeth pwysig: nid yw codennau rheolaidd yn mudo o westeiwr i westeiwr yn yr ystyr arferol. Os yw nod yn mynd all-lein, caiff y pod arno ei derfynu a'i ailbennu i nod arall yn y clwstwr. Ac yn achos peiriant rhithwir, disgwyliwn weld mudo byw.

Er mwyn mynd i'r afael Γ’'r bwlch hwn, crΓ«wyd diffiniad adnodd wedi'i deilwra (CDR) i ddisgrifio'r mecanwaith mudo byw sy'n gyfrifol am gychwyn, monitro a rheoli mudo byw o VMs rhwng nodau gweithwyr.

apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachineInstanceMigration
metadata:
  name: migration-job
spec:
  vmiName: fedora

Pan fydd nod yn cael ei ddadactifadu, caiff tasgau mudo eu creu'n awtomatig ar gyfer y peiriannau rhithwir hynny sydd Γ’ Live Migration wedi'u gosod fel eu strategaeth troi allan. Fel hyn gallwch reoli ymddygiad peiriannau rhithwir wrth symud rhwng nodau clwstwr. Gallwch chi ffurfweddu Mudo Byw a rheoli'r VM, fel pob cod arall.

Rhwydwaith

Mae unrhyw system Kubernetes yn darparu cyfathrebu rhwng nodau a chodau gan ddefnyddio rhwydweithiau SDN meddalwedd. Nid yw OpenShift yn eithriad ac, gan ddechrau o fersiwn 3, mae'n defnyddio OpenShiftSDN yn ddiofyn ar gyfer hyn. Yn ogystal, mae gan OpenShift 4 nodwedd newydd arall o'r enw Multus, sy'n eich galluogi i sicrhau bod rhwydweithiau lluosog ar gael a chysylltu codennau Γ’ nhw ar yr un pryd.

Rhithwiroli OpenShift: cynwysyddion, KVM a pheiriannau rhithwir

Gan ddefnyddio Multus, gall y gweinyddwr ddiffinio rhwydweithiau CNI ychwanegol, a fydd wedyn yn cael eu defnyddio a'u ffurfweddu ar y clwstwr gan Weithredydd Rhwydwaith Clwstwr arbennig. Yna mae'r codennau'n cael eu cysylltu ag un neu fwy o'r rhwydweithiau hyn, fel arfer yr OpenShiftSDN safonol a rhyngwyneb ychwanegol. Gellir defnyddio dyfeisiau SR-IOV, Pont Linux safonol, dyfeisiau MACVLAN ac IPVLAN os oes ei angen ar eich VM. Mae'r ffigur isod yn dangos sut i osod CNI Multus ar gyfer y rhwydwaith pontydd ar y rhyngwyneb 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

Mewn perthynas Γ’ rhithwiroli OpenShift, mae hyn yn golygu y gellir cysylltu VM yn uniongyrchol Γ’ rhwydwaith allanol, gan osgoi SDN. Mae hyn yn bwysig ar gyfer peiriannau rhithwir sy'n cael eu symud i OpenShift o Red Hat Virtualization neu VMware vSphere, oherwydd os oes gennych chi fynediad i'r ail haen OSI, ni fydd unrhyw newid mewn gosodiadau rhwydwaith. Mae hyn hefyd yn golygu y gall fod gan y VM gyfeiriad rhwydwaith sy'n osgoi SDN. Felly, gallwn ddefnyddio addaswyr rhwydwaith arbenigol yn effeithiol, neu gysylltu'n uniongyrchol Γ’'r system storio dros y rhwydwaith ...

Gallwch ddysgu mwy am sut i greu a chysylltu peiriannau rhithwir OpenShift rhithwir Γ’'r rhwydwaith yma... Eithr, gweithredwr nmstate, a ddefnyddir fel rhan o rithwiroli OpenShift, yn cynnig ffordd gyfarwydd arall o greu a rheoli ffurfweddiadau rhwydwaith ar nodau corfforol a ddefnyddir o dan hypervisors.

Storio

Perfformir cysylltu a rheoli disgiau peiriant rhithwir o fewn rhithwiroli OpenShift gan ddefnyddio cysyniadau Kubernetes fel StorageClasses, PersistentVolumeClaims (PVC) a PersistentVolume (PV), yn ogystal Γ’ safon protocolau storio ar gyfer amgylchedd Kubernetes. Mae hyn yn rhoi ffordd gyffredin, gyfarwydd i weinyddwyr Kubernetes a thimau cais reoli cynwysyddion a pheiriannau rhithwir. Ac i lawer o weinyddwyr amgylcheddau rhithwiroli, efallai y bydd y cysyniad hwn yn swnio'n gyfarwydd oherwydd ei fod yn defnyddio'r un egwyddor o wahanu ffeiliau cyfluniad VM a disgiau a ddefnyddir yn OpenStack a llawer o lwyfannau cwmwl eraill.

Fodd bynnag, ni allwn greu disg newydd ar gyfer y VM bob tro, oherwydd wrth fudo o'r hypervisor i OpenShift, mae angen i ni arbed y data. Ydy, hyd yn oed pan fyddwn yn defnyddio VM newydd, mae bob amser yn gyflymach i'w wneud o dempled na'i greu o'r dechrau. Felly, mae angen ymarferoldeb ar gyfer mewnforio disgiau presennol.

I symleiddio'r dasg hon, mae rhithwiroli OpenShift yn defnyddio'r prosiect Mewnforiwr Data Cynwysedig (CDI), sy'n lleihau mewnforio delweddau disg o ddisgiau o ffynonellau lluosog i greu cofnod 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

Y cofnod hwn sy'n actifadu CDI, gan sbarduno'r dilyniant o gamau gweithredu a ddangosir yn y ffigur isod:

Rhithwiroli OpenShift: cynwysyddion, KVM a pheiriannau rhithwir

Ar Γ΄l i'r CDI gael ei gwblhau, bydd y PVC yn cynnwys y ddisg peiriant rhithwir yn barod i'w ddefnyddio a'i drawsnewid i'r fformat OpenShift safonol ...
Wrth weithio gyda rhithwiroli OpenShift, mae OpenShift Container Storage (OCS), datrysiad Red Hat yn seiliedig ar system ffeiliau Ceph sy'n gweithredu ymarferoldeb storio parhaus ar gyfer cynwysyddion, hefyd yn ddefnyddiol. Yn ychwanegol at y dulliau mynediad PVC safonol - RWO (bloc) a RWX (ffeil) - mae OCS yn darparu RWX ar gyfer dyfeisiau bloc amrwd, sy'n ddefnyddiol iawn ar gyfer rhannu mynediad bloc ar gyfer ceisiadau Γ’ gofynion perfformiad uchel. Yn ogystal, mae OCS yn cefnogi'r safon Cais Bwced Gwrthrych newydd, sy'n caniatΓ‘u i gymwysiadau ddefnyddio storfa data gwrthrych yn uniongyrchol.

Peiriannau rhithwir mewn cynwysyddion

Os oes gennych ddiddordeb mewn gwirio sut mae'n gweithio, gwyddoch fod rhithwiroli OpenShift eisoes ar gael yn y fersiwn Rhagolwg Tech fel rhan o OpenShift 3.11 ac uwch. Gall perchnogion tanysgrifiad OpenShift presennol ddefnyddio rhithwiroli OpenShift yn hollol rhad ac am ddim a heb unrhyw gamau ychwanegol. Ar adeg y swydd hon, mae OpenShift 4.4 a rhithwiroli OpenShift 2.3 yn gyfredol; os ydych chi'n defnyddio fersiynau blaenorol, dylech uwchraddio i gael y nodweddion diweddaraf. Dylid rhyddhau fersiwn Γ’ chefnogaeth lawn o rithwiroli OpenShift yn ail hanner 2020.

Am fwy o wybodaeth cyfeiriwch at Dogfennaeth OpenShift ar gyfer cyfarwyddiadau gosod, gan gynnwys Adran setup Multius, sy'n darparu gwybodaeth am sefydlu rhwydweithiau allanol.

Ffynhonnell: hab.com

Ychwanegu sylw