OpenShift virtualization: zotengera, KVM ndi makina enieni

OpenShift virtualization (pulojekiti yakumtunda - Kubernetes: KubeVirt, onani. apa ΠΈ apa), nee Container-native Virtualization, idayambitsidwa ngati magwiridwe antchito a nsanja ya OpenShift, yomwe idapangidwa kuti itumize ndikuwongolera makina owonera (VMs) ngati mabungwe oyambira a Kubernetes. Ntchito yamtunduwu ndi yovuta mwaukadaulo chifukwa cha kusiyana kwakukulu kwaukadaulo. Kuti tikwaniritse cholingachi, tidagwiritsa ntchito matekinoloje odziwika bwino ozikidwa pa Red Hat Enterprise Linux ndi KVM, omwe akhala nafe kwa zaka zambiri ndipo atsimikizira kugwira ntchito kwawo.

OpenShift virtualization: zotengera, KVM ndi makina enieni

M'nkhaniyi, tiwona mbali zaukadaulo za OpenShift virtualization zomwe zimapangitsa kuti ma VM ndi makontena azikhalira limodzi papulatifomu imodzi yomwe imawatsogolera ngati chinthu chimodzi.

Ntchito zowerengera

Zotengera zimagwiritsa ntchito njira za Linux kernel monga malo a mayina ndi magulu kuti azipatula njira ndikuwongolera zothandizira. Nthawi zambiri njira zimamveka ngati Python, mapulogalamu a Java kapena mafayilo omwe angathe kuchitika, koma kwenikweni amatha kukhala njira zilizonse, monga bash, Emacs kapena vim.

Kodi makina enieni ndi chiyani? Kuchokera pakuwona kwa hypervisor, iyinso ndi njira. Koma osati njira yofunsira, koma njira ya KVM yomwe ili ndi udindo wopanga VM inayake.

OpenShift virtualization: zotengera, KVM ndi makina enieni

Chithunzi chotengera chili ndi zida zonse, malaibulale ndi mafayilo ofunikira pamakina a KVM. Ngati tiyang'ana pod ya VM yothamanga, tidzawonapo othandizira ndi njira za qemu-kvm. Kuphatikiza apo, tili ndi zida za KVM zowongolera makina enieni monga qemu-img, qemu-nbd ndi virsh.

OpenShift virtualization: zotengera, KVM ndi makina enieni

Popeza makina enieni ndi poto, amatenga cholowa chonse cha pod ku Kubernetes. Ma pods a VM, monga ma pod okhazikika, amatha kutsata ndondomeko ndi njira monga zodetsa, kulolerana, kuyanjana ndi kusagwirizana. Mumapezanso zabwino za kupezeka kwakukulu, ndi zina. Komabe, pali kusiyana kumodzi kofunikira: ma pods okhazikika samasamuka kuchoka ku gulu kupita kumalo ena mwachizolowezi. Ngati node ichoka pa intaneti, pod yomwe ili pamenepo imathetsedwa ndikupatsidwanso mfundo ina mgululi. Ndipo pankhani ya makina enieni, tikuyembekeza kuwona kusamuka kwamoyo.

Pofuna kuthana ndi kusiyana kumeneku, tanthauzo lachidziwitso (CDR) linapangidwa kuti lifotokoze momwe anthu amasamuka omwe ali ndi udindo woyambitsa, kuyang'anira, ndi kuyang'anira kusamuka kwamtundu wa VM pakati pa malo ogwira ntchito.

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

Node ikatsekedwa, ntchito zosamukira zimapangidwira makina omwe ali ndi Live Migration ngati njira yawo yothamangitsira. Mwanjira iyi mutha kuwongolera machitidwe a makina owoneka bwino mukamayenda pakati pamagulu amagulu. Mutha kukhazikitsa Live Migration ndikuwongolera VM, monga ma pod ena onse.

Mtanda

Dongosolo lililonse la Kubernetes limapereka kulumikizana pakati pa ma node ndi ma pods pogwiritsa ntchito mapulogalamu a SDN network. OpenShift ndizosiyana ndipo, kuyambira pa mtundu 3, amagwiritsa ntchito OpenShiftSDN mwachisawawa pa izi. Kuphatikiza apo, OpenShift 4 ilinso ndi chinthu china chatsopano chotchedwa Multus, chomwe chimakulolani kuti mupange maukonde angapo ndikulumikiza ma pod kwa iwo nthawi imodzi.

OpenShift virtualization: zotengera, KVM ndi makina enieni

Pogwiritsa ntchito Multus, woyang'anira akhoza kufotokozera maukonde owonjezera a CNI, omwe adzatumizidwa ndi kukonzedwa pamagulu ndi Cluster Network Operator yapadera. Ma pods amalumikizidwa ndi maukonde amodzi kapena angapo, nthawi zambiri OpenShiftSDN ndi mawonekedwe owonjezera. Zida za SR-IOV, Linux Bridge, MACVLAN ndi IPVLAN zida zonse zitha kugwiritsidwa ntchito ngati VM yanu ikufuna. Chithunzi chomwe chili pansipa chikuwonetsa momwe mungakhazikitsire Multus CNI pa netiweki ya mlatho pa mawonekedwe a 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

Mogwirizana ndi OpenShift virtualization, izi zikutanthauza kuti VM ikhoza kulumikizidwa ndi netiweki yakunja mwachindunji, kudutsa SDN. Izi ndizofunikira pamakina omwe adasamukira ku OpenShift kuchokera ku Red Hat Virtualization kapena VMware vSphere, popeza ngati muli ndi mwayi wofikira gawo lachiwiri la OSI, sipadzakhala kusintha kwa ma network. Izi zikutanthauzanso kuti VM ikhoza kukhala ndi adilesi ya netiweki yomwe imadutsa SDN. Chifukwa chake, titha kugwiritsa ntchito ma adapter apadera apakompyuta, kapena kulumikizana mwachindunji ndi makina osungira pamaneti ...

Mutha kuphunzira zambiri za momwe mungapangire ndikulumikiza makina a OpenShift virtualization ku netiweki apa... Kuphatikiza apo, wogwiritsa ntchito nmstate, yogwiritsidwa ntchito ngati gawo la OpenShift virtualization, imapereka njira ina yodziwika bwino yopangira ndi kuyang'anira masanjidwe a maukonde pa node zakuthupi zomwe zimagwiritsidwa ntchito pansi pa hypervisors.

Kusungirako

Kulumikiza ndikuwongolera ma disks amakina mkati mwa OpenShift virtualization kumachitika pogwiritsa ntchito malingaliro a Kubernetes monga StorageClasses, PersistentVolumeClaims (PVC) ndi PersistentVolume (PV), komanso ma protocol osungira malo a Kubernetes. Izi zimapatsa olamulira a Kubernetes ndi magulu ogwiritsira ntchito njira wamba, yodziwika bwino yoyendetsera zotengera zonse ndi makina enieni. Ndipo kwa olamulira ambiri a madera a virtualization, lingaliro ili likhoza kumveka ngati lodziwika bwino chifukwa limagwiritsa ntchito mfundo yofanana yolekanitsa mafayilo a VM ndi ma disks omwe amagwiritsidwa ntchito mu OpenStack ndi nsanja zina zambiri zamtambo.

Komabe, sitingathe kupanga disk yatsopano ya VM nthawi zonse, popeza pamene tikusamuka kuchokera ku hypervisor kupita ku OpenShift, tiyenera kusunga deta. Inde, ngakhale titatumiza VM yatsopano, imakhala yachangu nthawi zonse kuti tichite kuchokera pa template kuposa kuyipanga kuyambira poyambira. Chifukwa chake, timafunikira magwiridwe antchito pakulowetsa ma disks omwe alipo.

Kuti ntchitoyi ikhale yosavuta, OpenShift virtualization imatumiza pulojekiti ya Containerized Data Importer (CDI), yomwe imachepetsa kulowetsa zithunzi za disk za disks kuchokera kuzinthu zambiri kuti apange cholowa cha 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

Izi ndizomwe zimayambitsa CDI, ndikuyambitsa machitidwe omwe akuwonetsedwa pachithunzichi:

OpenShift virtualization: zotengera, KVM ndi makina enieni

CDI ikamaliza, PVC idzakhala ndi disk yamakina yokonzeka kugwiritsidwa ntchito ndikusinthidwa kukhala mtundu wamba wa OpenShift ...
Mukamagwira ntchito ndi OpenShift virtualization, OpenShift Container Storage (OCS), yankho la Red Hat lochokera pa fayilo ya Ceph yomwe imagwiritsa ntchito kusungirako kosalekeza kwa zotengera, ndizothandizanso. Kuphatikiza pa njira zoyenera zopezera PVC - RWO (block) ndi RWX (fayilo) - OCS imapereka RWX kwa zida zakuda zakuda, zomwe ndi zothandiza kwambiri pakugawana nawo chipika cha mapulogalamu omwe ali ndi zofunikira zazikuluzikulu. Kuphatikiza apo, OCS imathandizira mulingo watsopano wa Object Bucket Claim, womwe umalola mapulogalamu kuti agwiritse ntchito mwachindunji kusungirako zinthu.

Makina owoneka bwino m'makontena

Ngati mukufuna kuwona momwe zimagwirira ntchito, dziwani kuti OpenShift virtualization ilipo kale mu Tech Preview version monga gawo la OpenShift 3.11 ndi apamwamba. Eni ake olembetsa a OpenShift omwe alipo atha kugwiritsa ntchito OpenShift virtualization kwaulere komanso popanda njira zina zowonjezera. Panthawi ya positiyi, OpenShift 4.4 ndi OpenShift virtualization 2.3 ndi zaposachedwa; ngati mukugwiritsa ntchito mitundu yam'mbuyomu, muyenera kukweza kuti mupeze zatsopano. Mtundu wothandizidwa kwathunthu wa OpenShift uyenera kutulutsidwa mu theka lachiwiri la 2020.

Kuti mudziwe zambiri chonde lemberani Zolemba za OpenShift kwa malangizo unsembe, kuphatikizapo Multus setup gawo, yomwe imapereka chidziwitso chokhudza kukhazikitsa maukonde akunja.

Source: www.habr.com

Kuwonjezera ndemanga