OpenShift virtualization (á¡áááºááá±á¬áá»áẠ- Kubernetes: KubeVirtá ááŒáá·áºáá«á
á€áá±á¬ááºážáá«ážááœááºá VM áá»á¬ážááŸáá·áº ááœááºááááºáá¬áá»á¬ážááẠáááºážááá¯á·ááᯠáá
áºáá¯áááºážáá±á¬ á¡ááœá²á·á¡á
ááºážá¡ááŒá
Ạá
á®áá¶ááá·áºááœá²áá±á¬ ááááºáá±á¬ááºážáá
áºáá¯á¡ááœááºáž á¡áá°ááŸááºááœá²áá±ááá¯ááºááá¯ááºá
á±ááá·áº OpenShift virtualization á áááºážááá¬ááá¯ááºáá¬ááá¹ááá»á¬ážááᯠááŒáá·áºááŸá¯áá«áááºá
ááœááºáá»á°áá¬ááá¯ááºáá¬á¡áá¯ááºáá»á¬áž
ááœááºááááºáá¬áá»á¬ážááẠáá¯ááºáááºážá ááºáá»á¬ážááᯠááœá²áá¯ááºáááºááŸáá·áº á¡áááºážá¡ááŒá áºáá»á¬ážááᯠá á®áá¶ááá·áºááœá²áááºá¡ááœáẠnamespaces ááŸáá·áº cgroups áá²á·ááá¯á·áá±á¬ Linux kernel ááá¹ááá¬ážáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá«áááºá á¡áá»á¬ážá¡á¬ážááŒáá·áº áá¯ááºáááºážá ááºáá»á¬ážááᯠPythoná Java á¡ááá®áá±ážááŸááºážáá»á¬áž ááá¯á·ááá¯áẠexecutable files áá»á¬ážá¡ááŒá Ạáá¬ážáááºáá¬ážáá±á¬áºáááºáž á¡ááŸááºááááºááœáẠáááºážááá¯á·ááẠbashá Emacs ááá¯á·ááá¯áẠvim áá²á·ááá¯á·áá±á¬ áááºááá·áºáá¯ááºáááºážá ááºáá»á¬ážáááᯠááŒá áºááá¯ááºáááºá
virtual machine ááá¯áᬠáá¬áá²á hypervisor áááŸá¯áá±á¬áá·áºááŸááŒáá·áºáá»áŸáẠá€áááºááŸá¬ áá¯ááºáááºážá ááºáá áºáá¯ááŒá áºáááºá ááá¯á·áá±á¬áº áá»áŸá±á¬ááºááœáŸá¬áá¯ááºáááºážá ááºááá¯ááºáá±á¬áºáááºáž áááá»áá±á¬ VM ááá¯áá¯ááºáá±á¬ááºááẠáá¬áááºááŸááá±á¬ KVM áá¯ááºáááºážá ááºá
ááœááºááááºáá¬áá¯á¶ááœáẠKVM virtual machine á¡ááœáẠááá¯á¡ááºáá±á¬ áááááá¬áá»á¬ážá á á¬ááŒáá·áºááá¯ááºáá»á¬ážááŸáá·áº ááá¯ááºáá»á¬áž áá«áááºáááºá áááºáááºáá±áá±á¬ VM á pod ááá¯á á áºáá±ážáá«áá á¡áá°á¡áá®áá±ážáá°áá»á¬ážááŸáá·áº qemu-kvm áá¯ááºáááºážá ááºáá»á¬ážááá¯ááœá±á·ááá«áááºá ááá¯á·á¡ááŒááºá qemu-imgá qemu-nbd ááŸáá·áº virsh áá²á·ááá¯á·áá±á¬ virtual machines áá»á¬ážááᯠá á®áá¶ááá·áºááœá²áááºá¡ááœáẠKVM áááááá¬áá»á¬ážááᯠáá»áœááºá¯ááºááá¯á·ááœáẠáááºáá±á¬ááºá¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá
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 áá»á¬ážááᯠáá áºááŒáá¯ááºááẠáá»áááºáááºááá¯ááºá á±áááºááŒá áºáááºá
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 ááá¯á· áááºááá¯á·áááºáá®ážááŒá®áž áá»áááºáááºááááºááᯠáááºááá¯ááá¯áá±á·áá¬ááá¯ááºáá«áááºá
ááá¯ááŸá±á¬ááºááŸá¯
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 ááᯠá¡áááºáááºá á±áᬠá¡á±á¬ááºáá«áá¯á¶ááœáẠááŒáá¬ážááá·áº áá¯ááºáá±á¬ááºáá»ááºáá»á¬ážá á¡á á®á¡á á¥áºááᯠááŒá áºáá±á«áºá á±áááº-
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 áá¯ááŸá áºá áá¯áááááŸá áºáááºááœáẠáá¯ááºááŒááºááá·áºáááºá
ááá¯ááá¯ááááŸáááá¯áá«á áá»á±ážáá°ážááŒá¯á áááºááŸá¯áá«á
source: www.habr.com