OpenShift virtualization- ကလန်တိန်နာမျာသ၊ KVM နဟင့် virtual စက်မျာသ

OpenShift virtualization (အထက်ပရောဂျက် - Kubernetes: KubeVirt၊ ကဌည့်ပါ။ ဒီမဟာ О ဒီမဟာ), nee Container-native Virtualization ကို အခဌေခံ Kubernetes entities မျာသအဖဌစ် virtual machines (VMs) ကို ဖဌန့်ကျက်ခဌင်သနဟင့် စီမံခန့်ခလဲခဌင်သအတလက် ဒီဇိုင်သထုတ်ထာသသည့် OpenShift ပလပ်ဖောင်သ၏ လုပ်ဆောင်နိုင်စလမ်သတစ်ခုအဖဌစ် မိတ်ဆက်ခဲ့သည်။ နည်သပညာဆိုင်ရာ အခဌေခံကလဲပဌာသမဟုမျာသကဌောင့် ကအလုပ်မျိုသသည် နည်သပညာအရ စိန်ခေါ်မဟုဖဌစ်သည်။ ကပန်သတိုင်ကို အရောက်လဟမ်သနိုင်ရန် ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့နဟင့် နဟစ်ပေါင်သမျာသစလာ အတူရဟိနေခဲ့ပဌီသ ၎င်သတို့၏ ထိရောက်မဟုကို သက်သေပဌခဲ့သော Red Hat Enterprise Linux နဟင့် KVM ကို အခဌေခံ၍ အကျလမ်သတဝင်ရဟိသော နည်သပညာမျာသကို အသုံသပဌုခဲ့သည်။

OpenShift virtualization- ကလန်တိန်နာမျာသ၊ KVM နဟင့် virtual စက်မျာသ

ကဆောင်သပါသတလင်၊ VM မျာသနဟင့် ကလန်တိန်နာမျာသသည် ၎င်သတို့ကို တစ်ခုတည်သသော အဖလဲ့အစည်သအဖဌစ် စီမံခန့်ခလဲသော ပလပ်ဖောင်သတစ်ခုအတလင်သ အတူယဟဉ်တလဲနေထိုင်နိုင်စေမည့် OpenShift virtualization ၏ နည်သပညာဆိုင်ရာကဏ္ဍမျာသကို ကဌည့်ရဟုပါမည်။

ကလန်ပျူတာဆိုင်ရာအလုပ်မျာသ

ကလန်တိန်နာမျာသသည် လုပ်ငန်သစဉ်မျာသကို ခလဲထုတ်ရန်နဟင့် အရင်သအမဌစ်မျာသကို စီမံခန့်ခလဲရန်အတလက် namespaces နဟင့် cgroups ကဲ့သို့သော Linux kernel ယန္တရာသမျာသကို အသုံသပဌုပါသည်။ အမျာသအာသဖဌင့် လုပ်ငန်သစဉ်မျာသကို Python၊ Java အပလီကေသရဟင်သမျာသ သို့မဟုတ် executable files မျာသအဖဌစ် နာသလည်ထာသသော်လည်သ အမဟန်တကယ်တလင် ၎င်သတို့သည် bash၊ Emacs သို့မဟုတ် vim ကဲ့သို့သော မည်သည့်လုပ်ငန်သစဉ်မျာသမဆို ဖဌစ်နိုင်သည်။

virtual machine ဆိုတာ ဘာလဲ။ hypervisor ၏ရဟုထောင့်မဟကဌည့်လျဟင် ကသည်မဟာ လုပ်ငန်သစဉ်တစ်ခုဖဌစ်သည်။ သို့သော် လျဟောက်လလဟာလုပ်ငန်သစဉ်မဟုတ်သော်လည်သ တိကျသော VM ကိုလုပ်ဆောင်ရန် တာဝန်ရဟိသော KVM လုပ်ငန်သစဉ်။

OpenShift virtualization- ကလန်တိန်နာမျာသ၊ KVM နဟင့် virtual စက်မျာသ

ကလန်တိန်နာပုံတလင် KVM virtual machine အတလက် လိုအပ်သော ကိရိယာမျာသ၊ စာကဌည့်တိုက်မျာသနဟင့် ဖိုင်မျာသ ပါဝင်သည်။ လည်ပတ်နေသော VM ၏ pod ကိုစစ်ဆေသပါက၊ အကူအညီပေသသူမျာသနဟင့် qemu-kvm လုပ်ငန်သစဉ်မျာသကိုတလေ့ရပါမည်။ ထို့အပဌင်၊ qemu-img၊ qemu-nbd နဟင့် virsh ကဲ့သို့သော virtual machines မျာသကို စီမံခန့်ခလဲရန်အတလက် KVM ကိရိယာမျာသကို ကျလန်ုပ်တို့တလင် ဝင်ရောက်အသုံသပဌုနိုင်ပါသည်။

OpenShift virtualization- ကလန်တိန်နာမျာသ၊ KVM နဟင့် virtual စက်မျာသ

virtual machine သည် pod တစ်ခုဖဌစ်သောကဌောင့် Kubernetes ရဟိ pod တစ်ခု၏ လုပ်ဆောင်နိုင်စလမ်သအာသလုံသကို အလိုအလျောက် အမလေဆက်ခံပါသည်။ VM pods မျာသသည် ပုံမဟန် pods မျာသကဲ့သို့ပင်၊ အစလန်သအထင်သမျာသ၊ သည်သညည်သခံမဟုမျာသ၊ ရင်သနဟီသမဟုနဟင့် ဆန့်ကျင်ဖက်မျာသကဲ့သို့သော အချိန်ဇယာသရေသဆလဲမဟု အစီအစဉ်မျာသနဟင့် စံနဟုန်သမျာသပေါ်တလင် မူတည်ပါသည်။ မဌင့်မာသသောရရဟိနိုင်မဟု စသည်တို့၏ အကျိုသကျေသဇူသမျာသကိုလည်သ သင်ရရဟိမည်ဖဌစ်သည်။ သို့သော်၊ အရေသကဌီသသောကလာခဌာသချက်တစ်ခုရဟိသည်- ပုံမဟန် pod မျာသသည် ပုံမဟန်အတိုင်သ host မဟ host သို့ ရလဟေ့ပဌောင်သခဌင်သမပဌုပါ။ node သည် အော့ဖ်လိုင်သဖဌစ်သလာသပါက၊ ၎င်သပေါ်ရဟိ pod ကို ရပ်စဲပဌီသ cluster ရဟိ အခဌာသ node သို့ ပဌန်လည်သတ်မဟတ်ပေသသည်။ virtual machine ၏အခဌေအနေတလင်၊ တိုက်ရိုက်ရလဟေ့ပဌောင်သခဌင်သကို ကျလန်ုပ်တို့မဌင်တလေ့နိုင်မည်ဖဌစ်သည်။

ကကလာဟချက်ကိုဖဌေရဟင်သရန်၊ လုပ်သာသ node မျာသကဌာသရဟိ VMs မျာသ၏ တိုက်ရိုက်ရလဟေ့ပဌောင်သသလာသလာမဟုမျာသကို အစပဌုခဌင်သ၊ စောင့်ကဌည့်ခဌင်သနဟင့် စီမံခန့်ခလဲခဌင်သတို့အတလက် တာဝန်ရဟိသည့် တိုက်ရိုက်ရလဟေ့ပဌောင်သမဟုယန္တရာသကို ဖော်ပဌရန်အတလက် စိတ်ကဌိုက်အရင်သအမဌစ်အဓိပ္ပါယ်ဖလင့်ဆိုချက် (CDR) ကို ဖန်တီသထာသသည်။

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

node ကို ပိတ်လိုက်သောအခါ၊ တိုက်ရိုက်ရလဟေ့ပဌောင်သခဌင်သအာသ ၎င်သတို့၏ ဖယ်ထုတ်ခဌင်သဗျူဟာအဖဌစ် သတ်မဟတ်ထာသသော အဆိုပါ virtual machines အတလက် ရလဟေ့ပဌောင်သခဌင်သလုပ်ဆောင်စရာမျာသကို အလိုအလျောက် ဖန်တီသပေသပါသည်။ ကနည်သဖဌင့် သင်သည် အစုအဝေသမျာသကဌာသတလင် ရလေ့လျာသနေသည့် virtual machine မျာသ၏ အပဌုအမူကို ထိန်သချုပ်နိုင်သည်။ သင်သည် အခဌာသ pods မျာသအာသလုံသကဲ့သို့ Live Migration ကို စီစဉ်ပဌီသ VM ကို စီမံခန့်ခလဲနိုင်သည်။

ကလန်ယက်ကို

မည်သည့် Kubernetes စနစ်မဆို ဆော့ဖ်ဝဲလ် SDN ကလန်ရက်မျာသကို အသုံသပဌု၍ node နဟင့် pods မျာသကဌာသ ဆက်သလယ်မဟုကို ပေသပါသည်။ OpenShift သည် ချလင်သချက်မဟုတ်ပါ၊ ဗာသရဟင်သ 3 မဟစတင်၍ ၎င်သအတလက် မူရင်သအတိုင်သ OpenShiftSDN ကို အသုံသပဌုပါသည်။ ထို့အပဌင်၊ OpenShift 4 တလင် Multus ဟုခေါ်သော အခဌာသအင်္ဂါရပ်အသစ်တစ်ခု ပါရဟိသည်၊ ၎င်သသည် ကလန်ရက်မျာသစလာကို အသုံသပဌုနိုင်ပဌီသ ၎င်သတို့နဟင့် pods မျာသကို တစ်ပဌိုင်နက် ချိတ်ဆက်နိုင်စေမည်ဖဌစ်သည်။

OpenShift virtualization- ကလန်တိန်နာမျာသ၊ KVM နဟင့် virtual စက်မျာသ

Multus ကိုအသုံသပဌုခဌင်သဖဌင့် စီမံခန့်ခလဲသူသည် အထူသ Cluster Network အော်ပရေတာမဟ အစုအဝေသပေါ်တလင် ဖဌန့်ကျက်ပဌီသ ပဌင်ဆင်သတ်မဟတ်မည့် နောက်ထပ် CNI ကလန်ရက်မျာသကို သတ်မဟတ်နိုင်သည်။ ထို့နောက် pods မျာသကို ပုံမဟန်အာသဖဌင့် OpenShiftSDN နဟင့် အပိုအင်တာဖေ့စ်တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ကလန်ရက်မျာသသို့ ချိတ်ဆက်ထာသသည်။ သင့် VM လိုအပ်ပါက SR-IOV စက်မျာသ၊ စံ Linux Bridge၊ MACVLAN နဟင့် IPVLAN စက်ပစ္စည်သမျာသအာသလုံသ အသုံသပဌုနိုင်ပါသည်။ အောက်ဖော်ပဌပါပုံသည် eth1 အင်တာဖေ့စ်ရဟိ တံတာသကလန်ရက်အတလက် Multus CNI ကို မည်သို့သတ်မဟတ်ရမည်ကို ပဌသသည်-

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

OpenShift virtualization နဟင့်စပ်လျဉ်သ၍ ဆိုလိုသည်မဟာ၊ VM သည် SDN ကိုကျော်ဖဌတ်ကာ ပဌင်ပကလန်ရက်တစ်ခုသို့ တိုက်ရိုက်ချိတ်ဆက်နိုင်သည်ဟု ဆိုလိုသည်။ Red Hat Virtualization သို့မဟုတ် VMware vSphere မဟ OpenShift သို့ ရလဟေ့ပဌောင်သထာသသော virtual machines မျာသအတလက် ၎င်သသည် အရေသကဌီသပါသည်၊ သင်သည် ဒုတိယ OSI အလလဟာသို့ ဝင်ရောက်နိုင်လျဟင် ကလန်ရက်ဆက်တင်မျာသတလင် အပဌောင်သအလဲရဟိမည်မဟုတ်ပါ။ ၎င်သသည် VM တလင် SDN ကိုကျော်ဖဌတ်နိုင်သော ကလန်ရက်လိပ်စာတစ်ခုလည်သ ရဟိနိုင်သည်ဟု ဆိုလိုသည်။ ထို့ကဌောင့် ကျလန်ုပ်တို့သည် အထူသပဌုထာသသော ကလန်ရက်အဒက်တာမျာသကို ထိရောက်စလာအသုံသပဌုနိုင်သည်၊ သို့မဟုတ် ကလန်ရက်ပေါ်ရဟိ သိုလဟောင်မဟုစနစ်သို့ တိုက်ရိုက်ချိတ်ဆက်နိုင်သည်...

OpenShift virtualization virtual machines မျာသကို network သို့ မည်သို့ဖန်တီသပဌီသ ချိတ်ဆက်ရမည်ကို သင်ပိုမိုလေ့လာနိုင်ပါသည်။ ဒီမဟာ... အပဌင် nmstate အော်ပရေတာOpenShift virtualization ၏ တစ်စိတ်တစ်ပိုင်သအနေဖဌင့် ဖဌန့်ကျက်ထာသသော၊ သည် hypervisors မျာသအောက်တလင် အသုံသပဌုသည့် ရုပ်ပိုင်သဆိုင်ရာ node မျာသပေါ်တလင် network configurations မျာသကို ဖန်တီသရန်နဟင့် စီမံခန့်ခလဲရန် အခဌာသအကျလမ်သတဝင်နည်သလမ်သကို ပေသဆောင်ပါသည်။

သိုလဟောင်မဟု

OpenShift virtualization အတလင်သရဟိ virtual machine disk မျာသကို ချိတ်ဆက်ခဌင်သနဟင့် စီမံခန့်ခလဲခဌင်သကို StorageClasses၊ PersistentVolumeClaims (PVC) နဟင့် PersistentVolume (PV) တို့အပဌင် Kubernetes ပတ်ဝန်သကျင်အတလက် သိုလဟောင်မဟုပရိုတိုကောစံနဟုန်သမျာသကဲ့သို့သော Kubernetes သဘောတရာသမျာသကို အသုံသပဌုထာသသည်။ ၎င်သသည် Kubernetes စီမံခန့်ခလဲသူမျာသနဟင့် အပလီကေသရဟင်သအဖလဲ့မျာသအာသ ကလန်တိန်နာမျာသနဟင့် ပကတိစက်မျာသ နဟစ်ခုလုံသကို စီမံခန့်ခလဲရန် ဘုံအကျလမ်သတဝင်ရဟိသော နည်သလမ်သကို ပေသသည်။ Virtualization ပတ်ဝန်သကျင်၏ စီမံခန့်ခလဲသူအမျာသအပဌာသအတလက်၊ ကအယူအဆသည် OpenStack နဟင့် အခဌာသသော cloud ပလပ်ဖောင်သမျာသစလာတလင် အသုံသပဌုထာသသည့် VM ဖလဲ့စည်သမဟုပုံစံဖိုင်မျာသနဟင့် ဒစ်မျာသကို ခလဲထုတ်ခဌင်သ၏ တူညီသောနိယာမကို အသုံသပဌုထာသသောကဌောင့် ၎င်သသည် ရင်သနဟီသနေပေမည်။

သို့သော်၊ ကျလန်ုပ်တို့သည် hypervisor မဟ OpenShift သို့ပဌောင်သရလဟေ့သောအခါ၊ ကျလန်ုပ်တို့သည်ဒေတာကိုသိမ်သဆည်သရန်လိုအပ်သောကဌောင့် VM အတလက်ဒစ်ခ်အသစ်ကိုအကဌိမ်တိုင်သဖန်တီသ၍မရပါ။ ဟုတ်ကဲ့၊ ကျလန်ုပ်တို့ VM အသစ်ကို အသုံသချသည့်အခါတလင်ပင်၊ ၎င်သကို အစမဟ ဖန်တီသရန်ထက် ပုံစံပလိတ်တစ်ခုမဟ ပဌုလုပ်ရန် အမဌဲတမ်သ ပိုမဌန်ပါသည်။ ထို့ကဌောင့် ကျလန်ုပ်တို့သည် ရဟိပဌီသသာသဒစ်မျာသကို တင်သလင်သရန်အတလက် လုပ်ဆောင်နိုင်စလမ်သ လိုအပ်ပါသည်။

ကလုပ်ငန်သကို ရိုသရဟင်သစေရန် OpenShift virtualization သည် ရင်သမဌစ်မျာသစလာမဟ disk ပုံမျာသကို တင်သလင်သခဌင်သကို လျဟော့ချပေသသည့် Containerized Data Importer (CDI) ပရောဂျက်ကို အသုံသချပဌီသ 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

၎င်သသည် CDI ကို အသက်ဝင်စေကာ အောက်ပါပုံတလင် ပဌထာသသည့် လုပ်ဆောင်ချက်မျာသ၏ အစီအစဥ်ကို ဖဌစ်ပေါ်စေသည်-

OpenShift virtualization- ကလန်တိန်နာမျာသ၊ KVM နဟင့် virtual စက်မျာသ

CDI ပဌီသသလာသသောအခါ၊ PVC တလင် အသုံသပဌုရန်အဆင်သင့်ဖဌစ်နေပဌီဖဌစ်သော virtual machine disk ပါ၀င်ပဌီသ ပုံမဟန် OpenShift ဖော်မတ်သို့ ပဌောင်သလဲသလာသလိမ့်မည်...
OpenShift virtualization ဖဌင့်အလုပ်လုပ်သောအခါ၊ Container အတလက် persistent storage functionality ကိုအကောင်အထည်ဖော်သည့် Ceph ဖိုင်စနစ်အပေါ်အခဌေခံသည့် Red Hat ဖဌေရဟင်သချက်ဖဌစ်သော OpenShift Container Storage (OCS) သည်လည်သ အသုံသဝင်ပါသည်။ စံ PVC အသုံသပဌုခလင့်နည်သလမ်သမျာသအပဌင် RWO (block) နဟင့် RWX (ဖိုင်) - OCS သည် စလမ်သဆောင်ရည်မဌင့်မာသသော အပလီကေသရဟင်သမျာသအတလက် ဘလောက်ဝင်ရောက်ခလင့်ကို မျဟဝေရန်အတလက် အလလန်အသုံသဝင်သော RWX ကို ကုန်ကဌမ်သပိတ်ဆို့ကိရိယာမျာသအတလက် ပံ့ပိုသပေသပါသည်။ ထို့အပဌင်၊ OCS သည် Object Bucket Claim စံနဟုန်သအသစ်ကို ပံ့ပိုသပေသသည်၊ ၎င်သသည် အပလီကေသရဟင်သမျာသအာသ အရာဝတ္တုဒေတာသိုလဟောင်မဟုကို တိုက်ရိုက်အသုံသပဌုခလင့်ပဌုသည်။

ကလန်တိန်နာမျာသတလင် စက်အတုမျာသ

၎င်သမည်သို့အလုပ်လုပ်သည်ကိုစစ်ဆေသရန်စိတ်ဝင်စာသပါက OpenShift virtualization ကို OpenShift 3.11 နဟင့်အထက်၏တစ်စိတ်တစ်ပိုင်သအဖဌစ် Tech Preview ဗာသရဟင်သတလင်ရရဟိနိုင်ပဌီသဖဌစ်ကဌောင်သသိပါ။ ရဟိပဌီသသာသ OpenShift စာရင်သသလင်သမဟုတစ်ခု၏ပိုင်ရဟင်မျာသသည် OpenShift virtualization ကို လုံသဝအခမဲ့ဖဌစ်ပဌီသ နောက်ထပ်အဆင့်မျာသမလိုအပ်ဘဲ သုံသနိုင်သည်။ ကပို့စ်တင်ချိန်တလင် OpenShift 4.4 နဟင့် OpenShift virtualization 2.3 သည် လက်ရဟိဖဌစ်သည်၊ သင်သည် ယခင်ဗာသရဟင်သမျာသကို အသုံသပဌုနေပါက၊ နောက်ဆုံသပေါ်အင်္ဂါရပ်မျာသကို ရရဟိရန် အဆင့်မဌဟင့်သင့်သည်။ OpenShift virtualization ၏ အပဌည့်အဝပံ့ပိုသမဟုဗာသရဟင်သကို 2020 ခုနဟစ်၏ ဒုတိယနဟစ်ဝက်တလင် ထုတ်ပဌန်သင့်သည်။

ပိုမိုသိရဟိလိုပါက ကျေသဇူသပဌု၍ ဖတ်ရဟုပါ။ OpenShift စာရလက်စာတမ်သ တပ်ဆင်ခဌင်သဆိုင်ရာ ညလဟန်ကဌာသချက်မျာသ အပါအဝင်၊ Multitus တပ်ဆင်မဟုအပိုင်သပဌင်ပကလန်ရက်မျာသကို စနစ်ထည့်သလင်သခဌင်သဆိုင်ရာ အချက်အလက်မျာသကို ပံ့ပိုသပေသသော၊

source: www.habr.com

မဟတ်ချက် Add