OpenShift virtualization: nā ipu, KVM a me nā mīkini virtual

OpenShift virtualization (upstream project - Kubernetes: KubeVirt, see. maanei и maanei), nee Container-native Virtualization, ua hoʻolauna ʻia ma ke ʻano he hana o ka platform OpenShift, i hoʻolālā ʻia no ka hoʻolālā ʻana a me ka hoʻokele ʻana i nā mīkini virtual (VM) ma ke ʻano he kumu Kubernetes. He paʻakikī kēia ʻano hana ma muli o nā ʻokoʻa kumu o ka ʻenehana. I mea e hoʻokō ai i kēia pahuhopu, ua hoʻohana mākou i nā ʻenehana maʻamau e pili ana i ka Red Hat Enterprise Linux a me KVM, i noho pū me mākou no nā makahiki he nui a ua hōʻoia i ko lākou pono.

OpenShift virtualization: nā ipu, KVM a me nā mīkini virtual

Ma kēia ʻatikala, e nānā mākou i nā ʻano ʻenehana o OpenShift virtualization e hiki ai i nā VM a me nā ipu ke noho pū i loko o kahi kahua hoʻokahi e hoʻokele iā lākou ma ke ʻano hoʻokahi.

Nā hana helu

Hoʻohana nā pahu i nā mīkini kernel Linux e like me nā inoa inoa a me nā hui e hoʻokaʻawale i nā kaʻina hana a mālama i nā kumuwaiwai. Hoʻomaopopo pinepine ʻia nā kaʻina hana e like me Python, Java noi a i ʻole nā ​​​​faila hiki ke hoʻokō, akā ʻoiaʻiʻo hiki iā lākou ke hana i nā kaʻina hana, e like me ka bash, Emacs a i ʻole vim.

He aha ka mīkini virtual? Mai ka manaʻo o ka hypervisor, he hana hoʻi kēia. Akā ʻaʻole ke kaʻina noi, akā ʻo ke kaʻina KVM ke kuleana no ka hoʻokō ʻana i kahi VM kikoʻī.

OpenShift virtualization: nā ipu, KVM a me nā mīkini virtual

Aia i loko o ke kiʻi pahu nā mea hana a pau, nā waihona a me nā faila e pono ai no ka mīkini virtual KVM. Inā mākou e nānā i ka pod o kahi VM e holo nei, e ʻike mākou ma laila nā mea kōkua a me nā kaʻina qemu-kvm. Eia hou, loaʻa iā mākou nā mea hana KVM no ka mālama ʻana i nā mīkini virtual e like me qemu-img, qemu-nbd a me virsh.

OpenShift virtualization: nā ipu, KVM a me nā mīkini virtual

No ka mea ʻo ka mīkini virtual he pod, loaʻa iā ia nā hana āpau o kahi pod ma Kubernetes. ʻO nā pods VM, e like me nā pods maʻamau, e pili ana i nā papahana hoʻonohonoho a me nā pae hoʻohālike e like me nā taints, tolerations, affinity and anti-affinity. Loaʻa iā ʻoe nā pōmaikaʻi o ka loaʻa kiʻekiʻe, etc. Eia nō naʻe, hoʻokahi ʻokoʻa koʻikoʻi: ʻaʻole neʻe nā pods maʻamau mai kahi hoʻokipa a hoʻokipa ma ke ʻano maʻamau. Inā hoʻopahemo ka node, hoʻopau ʻia ka pod ma luna a hoʻihoʻi ʻia i kahi node ʻē aʻe o ka pūʻulu. A i ka hihia o kahi mīkini virtual, manaʻo mākou e ʻike i ka neʻe ola.

No ka hoʻoponopono ʻana i kēia ʻāpana, ua hana ʻia kahi wehewehe kumu waiwai maʻamau (CDR) e wehewehe i ke ʻano o ka neʻe ʻana i ke kuleana no ka hoʻomaka, ka nānā ʻana, a me ka mālama ʻana i nā neʻe ola o nā VM ma waena o nā node limahana.

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

Ke hoʻopau ʻia kahi node, hana ʻia nā hana migration no kēlā mau mīkini virtual i hoʻonohonoho ʻia ʻo Live Migration e like me kā lākou hoʻolālā kipaku ʻana. Ma kēia ala hiki iā ʻoe ke hoʻomalu i ke ʻano o nā mīkini virtual ke neʻe nei ma waena o nā nodes cluster. Hiki iā ʻoe ke hoʻonohonoho i ka Live Migration a mālama i ka VM, e like me nā pods ʻē aʻe.

Pūnaewele

Hāʻawi kekahi ʻōnaehana Kubernetes i ke kamaʻilio ma waena o nā nodes a me nā pods me ka hoʻohana ʻana i nā pūnaewele SDN lako polokalamu. ʻAʻole ʻokoʻa ka OpenShift a, e hoʻomaka ana mai ka mana 3, hoʻohana iā OpenShiftSDN ma ke ʻano maʻamau no kēia. Eia kekahi, OpenShift 4 kekahi hiʻohiʻona hou i kapa ʻia ʻo Multus, e hiki ai iā ʻoe ke hana i nā pūnaewele lehulehu a hoʻopili i nā pods iā lākou i ka manawa like.

OpenShift virtualization: nā ipu, KVM a me nā mīkini virtual

Me ka hoʻohana ʻana iā Multus, hiki i ka luna hoʻomalu ke wehewehe i nā pūnaewele CNI hou aʻe, a laila e kau ʻia a hoʻonohonoho ʻia ma ka cluster e kahi Cluster Network Operator kūikawā. Hoʻopili ʻia nā pods i hoʻokahi a ʻoi aku paha o kēia mau pūnaewele, maʻamau ka OpenShiftSDN maʻamau a me kahi interface hou. Hiki ke hoʻohana ʻia nā polokalamu SR-IOV, Linux Bridge maʻamau, MACVLAN a me IPVLAN inā pono kāu VM. Hōʻike ke kiʻi ma lalo nei pehea e hoʻonohonoho ai i ka Multus CNI no ka pūnaewele alahaka ma ka 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

Ma ka pili ʻana i ka virtualization OpenShift, ʻo ia ka mea hiki ke hoʻopili pololei ʻia kahi VM i kahi pūnaewele waho, ma ke ala ʻana i ka SDN. He mea nui kēia no nā mīkini virtual i neʻe i OpenShift mai Red Hat Virtualization a i ʻole VMware vSphere, no ka mea inā loaʻa iā ʻoe ka lua o ka papa OSI, ʻaʻohe loli i nā hoʻonohonoho pūnaewele. 'O ia ho'i, hiki i ka VM ke loa'a i kahi helu pūnaewele e ka'e ana i ka SDN. No laila, hiki iā mākou ke hoʻohana pono i nā mea hoʻopili pūnaewele kūikawā, a i ʻole e hoʻopili pololei i ka ʻōnaehana mālama ma luna o ka pūnaewele...

Hiki iā ʻoe ke aʻo hou aʻe e pili ana i ka hana ʻana a hoʻohui i nā mīkini virtualization virtualization OpenShift i ka pūnaewele maanei... A koe, mea hoʻohana nmstate, hāʻawi ʻia ma ke ʻano o OpenShift virtualization, hāʻawi i kahi ala ʻē aʻe e hana a mālama i nā hoʻonohonoho pūnaewele ma nā nodes kino i hoʻohana ʻia ma lalo o nā hypervisors.

Pale

Hoʻohana ʻia ka hoʻohui ʻana a me ka hoʻokele ʻana i nā diski mīkini virtual i loko o OpenShift virtualization me ka hoʻohana ʻana i nā manaʻo Kubernetes e like me StorageClasses, PersistentVolumeClaims (PVC) a me PersistentVolume (PV), a me ka maʻamau o ka mālama ʻana no ke kaiapuni Kubernetes. Hāʻawi kēia i nā luna Kubernetes a me nā hui noi i kahi ala maʻamau a kamaʻāina e hoʻokele i nā ipu a me nā mīkini virtual. A no ka nui o nā luna hoʻomalu o nā kaiapuni virtualization, ʻike paha kēia manaʻo no ka mea hoʻohana ia i ke kumumanaʻo like o ka hoʻokaʻawale ʻana i nā faila hoʻonohonoho VM a me nā disks i hoʻohana ʻia ma OpenStack a me nā pae kapuaʻi he nui.

Eia naʻe, ʻaʻole hiki iā mākou ke hana i kahi disk hou no ka VM i kēlā me kēia manawa, ʻoiai ke neʻe nei mai ka hypervisor i OpenShift, pono mākou e mālama i ka ʻikepili. ʻAe, ʻoiai ke kau nei mākou i kahi VM hou, ʻoi aku ka wikiwiki o ka hana ʻana mai kahi template ma mua o ka hana ʻana mai ka ʻohi ʻana. No laila, pono mākou i ka hana no ka lawe ʻana i nā disks i loaʻa.

No ka maʻalahi o kēia hana, wehe ʻo OpenShift virtualization i ka papahana Containerized Data Importer (CDI), e hōʻemi ana i ka lawe ʻana mai i nā kiʻi disk o nā disks mai nā kumu he nui i ka hana ʻana i kahi komo 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

ʻO kēia komo ka mea e hoʻāla ai i ka CDI, e hoʻomaka ana i ke ʻano o nā hana i hōʻike ʻia ma ke kiʻi ma lalo nei.

OpenShift virtualization: nā ipu, KVM a me nā mīkini virtual

Ma hope o ka pau ʻana o ka CDI, e loaʻa i ka PVC ka disk mīkini virtual i mākaukau no ka hoʻohana ʻana a hoʻololi ʻia i ke ʻano OpenShift maʻamau...
I ka hana ʻana me OpenShift virtualization, OpenShift Container Storage (OCS), kahi hopena Red Hat e pili ana i ka ʻōnaehana faila Ceph e hoʻokō nei i nā hana mālama mau no nā ipu. Ma waho aʻe o nā ala komo PVC maʻamau - RWO (block) a me RWX (file) - Hāʻawi ʻo OCS i ka RWX no nā mea paʻa maka, he mea maikaʻi loa ia no ka hoʻokaʻawale ʻana i ka poloka no nā noi me nā koi hana kiʻekiʻe. Eia hou, kākoʻo ʻo OCS i ka maʻamau Object Bucket Claim hou, e hiki ai i nā noi ke hoʻohana pono i ka waihona ʻikepili mea.

Nā mīkini uila i loko o nā pahu

Inā makemake ʻoe e nānā pehea e hana ai, a laila e ʻike ua loaʻa ka OpenShift virtualization i ka mana Tech Preview ma ke ʻano o OpenShift 3.11 a ʻoi aʻe. Hiki i nā mea nona ka inoa inoa OpenShift ke hoʻohana i ka virtualization OpenShift me ka manuahi ʻole a me ka ʻole o nā hana hou. I ka manawa o kēia pou, OpenShift 4.4 a me OpenShift virtualization 2.3 i kēia manawa; inā ʻoe e hoʻohana nei i nā mana o mua, pono ʻoe e hoʻomaikaʻi e kiʻi i nā hiʻohiʻona hou. Pono e hoʻokuʻu ʻia kahi mana kākoʻo piha o OpenShift virtualization i ka hapa lua o 2020.

No ka 'ike hou aku e 'olu'olu e leka uila Nā palapala OpenShift no nā kuhikuhi hoʻonohonoho, me ʻāpana hoʻonohonoho Multus, e hāʻawi ana i ka ʻike e pili ana i ka hoʻonohonoho ʻana i nā pūnaewele waho.

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka