Virtualisasi OpenShift: wadhah, KVM lan mesin virtual

Virtualisasi OpenShift (proyek hulu - Kubernetes: KubeVirt, deleng. kene и kene), nee Container-native Virtualization, dikenalaké minangka fungsi saka platform OpenShift, sing dirancang kanggo nyebarke lan ngatur mesin virtual (VM) minangka entitas Kubernetes dhasar. Tugas jenis iki sacara teknis tantangan amarga beda dhasar ing teknologi. Kanggo nggayuh tujuan iki, kita nggunakake teknologi akrab adhedhasar Red Hat Enterprise Linux lan KVM, sing wis pirang-pirang taun karo kita lan wis mbuktekake efektifitase.

Virtualisasi OpenShift: wadhah, KVM lan mesin virtual

Ing artikel iki, kita bakal nliti aspek teknis virtualisasi OpenShift sing ndadekake VM lan kontaner bisa urip bebarengan ing platform siji sing ngatur minangka entitas tunggal.

Tugas komputasi

Wadah nggunakake mekanisme kernel Linux kayata spasi jeneng lan cgroup kanggo ngisolasi proses lan ngatur sumber daya. Biasane pangolahan dimangerteni minangka Python, aplikasi Java utawa file eksekusi, nanging nyatane bisa dadi proses apa wae, kayata bash, Emacs utawa vim.

Apa iku mesin virtual? Saka sudut pandang hypervisor, iki uga minangka proses. Nanging ora proses aplikasi, nanging proses KVM tanggung jawab kanggo nglakokaké VM tartamtu.

Virtualisasi OpenShift: wadhah, KVM lan mesin virtual

Gambar wadhah ngemot kabeh alat, perpustakaan lan file sing dibutuhake kanggo mesin virtual KVM. Yen kita mriksa pod saka VM mlaku, kita bakal weruh ana helpers lan pangolahan qemu-kvm. Kajaba iku, kita duwe akses menyang alat KVM kanggo ngatur mesin virtual kayata qemu-img, qemu-nbd lan virsh.

Virtualisasi OpenShift: wadhah, KVM lan mesin virtual

Wiwit mesin virtual minangka pod, kanthi otomatis entuk kabeh fungsi pod ing Kubernetes. Pod VM, kaya polong biasa, tundhuk skema lan kritéria penjadwal kayata taint, toleransi, afinitas lan anti-afinitas. Sampeyan uga entuk keuntungan saka kasedhiyan dhuwur, etc. Nanging, ana siji prabédan penting: polong biasa ora migrasi saka host menyang host ing pangertèn biasanipun. Yen simpul dadi offline, polong ing kono bakal mandheg lan ditugasake maneh menyang simpul liyane ing kluster. Lan ing kasus mesin virtual, kita ngarepake migrasi langsung.

Kanggo ngatasi kesenjangan iki, definisi sumber daya khusus (CDR) digawe kanggo njlèntrèhaké mekanisme migrasi langsung sing tanggung jawab kanggo miwiti, ngawasi, lan ngatur migrasi langsung VM antarane node pekerja.

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

Nalika simpul dipateni, tugas migrasi digawe kanthi otomatis kanggo mesin virtual sing wis disetel Live Migration minangka strategi pengusiran. Kanthi cara iki sampeyan bisa ngontrol prilaku mesin virtual nalika mindhah antarane kelenjar kluster. Sampeyan bisa ngatur Live Migration lan ngatur VM, kaya kabeh pods liyane.

Jaringan

Sembarang sistem Kubernetes nyedhiyakake komunikasi antarane node lan pods nggunakake piranti lunak jaringan SDN. OpenShift ora kajaba lan, wiwit versi 3, nggunakake OpenShiftSDN minangka standar kanggo iki. Kajaba iku, OpenShift 4 duwe fitur anyar liyane sing diarani Multus, sing ngidini sampeyan nggawe macem-macem jaringan lan nyambungake pods bebarengan.

Virtualisasi OpenShift: wadhah, KVM lan mesin virtual

Nggunakake Multus, administrator bisa nemtokake jaringan CNI tambahan, sing banjur bakal disebarake lan dikonfigurasi ing kluster dening Operator Jaringan Kluster khusus. Pods banjur disambungake menyang siji utawa luwih saka jaringan kasebut, biasane OpenShiftSDN standar lan antarmuka tambahan. Piranti SR-IOV, Linux Bridge standar, piranti MACVLAN lan IPVLAN kabeh bisa digunakake yen VM sampeyan mbutuhake. Tokoh ing ngisor iki nuduhake carane nyetel Multus CNI kanggo jaringan jembatan ing antarmuka 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

Ing babagan virtualisasi OpenShift, iki tegese VM bisa disambungake menyang jaringan eksternal langsung, ngliwati SDN. Iki penting kanggo mesin virtual sing migrasi menyang OpenShift saka Red Hat Virtualization utawa VMware vSphere, amarga yen sampeyan duwe akses menyang lapisan OSI kapindho, ora ana owah-owahan ing setelan jaringan. Iki uga tegese VM bisa uga duwe alamat jaringan sing ngliwati SDN. Dadi, kita bisa nggunakake adaptor jaringan khusus kanthi efektif, utawa nyambung langsung menyang sistem panyimpenan liwat jaringan ...

Sampeyan bisa sinau luwih lengkap babagan carane nggawe lan nyambungake mesin virtual virtualisasi OpenShift menyang jaringan kene... Kajaba iku, operator nmstate, disebarake minangka bagéan saka virtualisasi OpenShift, nawakake cara liyane sing akrab kanggo nggawe lan ngatur konfigurasi jaringan ing node fisik sing digunakake ing hypervisor.

Panyimpenan

Nyambungake lan ngatur disk mesin virtual ing virtualisasi OpenShift ditindakake nggunakake konsep Kubernetes kayata StorageClasses, PersistentVolumeClaims (PVC) lan PersistentVolume (PV), uga standar protokol panyimpenan kanggo lingkungan Kubernetes. Iki menehi administrator Kubernetes lan tim aplikasi cara sing umum lan akrab kanggo ngatur kontaner lan mesin virtual. Lan kanggo akeh administrator lingkungan virtualisasi, konsep iki bisa dingerteni amarga nggunakake prinsip sing padha kanggo misahake file konfigurasi VM lan disk sing digunakake ing OpenStack lan akeh platform maya liyane.

Nanging, kita ora bisa mung nggawe disk anyar kanggo VM saben wektu, amarga nalika pindhah saka hypervisor menyang OpenShift, kita kudu nyimpen data. Ya, sanajan kita masang VM anyar, iku tansah luwih cepet kanggo nindakake saka cithakan saka nggawe saka ngeruk. Dadi, kita butuh fungsi kanggo ngimpor disk sing wis ana.

Kanggo nyederhanakake tugas iki, virtualisasi OpenShift nyebarake proyek Containerized Data Importer (CDI), sing nyuda ngimpor gambar disk saka macem-macem sumber kanggo nggawe entri 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

Iki entri sing ngaktifake CDI, micu urutan tumindak sing ditampilake ing gambar ing ngisor iki:

Virtualisasi OpenShift: wadhah, KVM lan mesin virtual

Sawise CDI rampung, PVC bakal ngemot disk mesin virtual sing siap digunakake lan diowahi dadi format OpenShift standar ...
Nalika nggarap virtualisasi OpenShift, OpenShift Container Storage (OCS), solusi Red Hat adhedhasar sistem file Ceph sing ngetrapake fungsi panyimpenan sing terus-terusan kanggo wadhah, uga migunani. Saliyane cara akses PVC standar - RWO (blok) lan RWX (berkas) - OCS nyedhiyakake RWX kanggo piranti pemblokiran mentahan, kang banget migunani kanggo nuduhake akses pemblokiran kanggo aplikasi karo syarat kinerja dhuwur. Kajaba iku, OCS ndhukung standar Object Bucket Claim anyar, sing ngidini aplikasi langsung nggunakake panyimpenan data obyek.

Mesin virtual ing wadhah

Yen sampeyan kepengin mriksa cara kerjane, mula ngerti yen virtualisasi OpenShift wis kasedhiya ing versi Tech Preview minangka bagean saka OpenShift 3.11 lan luwih dhuwur. Pamilik langganan OpenShift sing wis ana bisa nggunakake virtualisasi OpenShift kanthi gratis lan tanpa langkah tambahan. Nalika nerbitake kiriman iki, OpenShift 4.4 lan OpenShift virtualisasi 2.3 saiki; yen sampeyan nggunakake versi sadurunge, sampeyan kudu nganyarke kanggo entuk fitur paling anyar. Versi virtualisasi OpenShift sing didhukung kanthi lengkap kudu dirilis ing paruh kapindho 2020.

Kanggo informasi luwih lengkap hubungi Dokumentasi OpenShift kanggo instruksi instalasi, kalebu bagean persiyapan Multus, sing nyedhiyakake informasi babagan nyetel jaringan eksternal.

Source: www.habr.com

Add a comment