±à¼ÍƼö: |
±¾ÎĽéÉÜÁ˲ÉÓÃKubernetes¹ÜÀíÐéÄâ»úµÄÆðÔ´¡¢·¢Õ¹ºÍ¾ßÌåʵÏÖ¼¼Êõ£¬Öص㽲ÊöÁËKubeVirtµÄÔÀí¡¢¼Ü¹¹ºÍʵÏÖ·½Ê½£¬ÒÔ¼°KubeVirtÔÚOpenShiftÉÏÃæµÄÆóÒµ¼¶·¢Ðа桪¡ªOpenShiftÐéÄ⻯¼°Æä¹¦ÄܽéÉÜ¡£
±¾ÎÄÀ´×ÔÓÚ¿ªÔ´²©¿Í£¬ÓÉ»ðÁú¹ûÈí¼þLinda±à¼¡¢ÍƼö¡£ |
|
1 ±³¾°
Ëæ×ÅÕâЩÄêÈÝÆ÷¼¼ÊõºÍÔÆÔÉú¼¼ÊõµÄ·¢Õ¹£¬KubernetesÔÚ2017ÄêÈÝÆ÷±àÅÅ´óÕ½Öл÷°ÜDocker
SwarmºÍMesosÖ®ºó£¬½øÒ»²½·¢Õ¹×³´ó£¬µ½ÏÖÔÚΪֹ£¬»ù±¾ÉÏһͳ¹«ÓÐÔÆµÄÈÝÆ÷·þÎñ£¨xKS·þÎñ£©ºÍ˽ÓÐÔÆµÄÈÝÆ÷ÔÆPaaSƽ̨£¬³ÉΪÊÂʵÉϵÄÈÝÆ÷±àÅűê×¼¡£´ÓÕâ¸öÒâÒåÉϽ²£¬ÎÒÃÇ¿ÉÒÔ³ÆKubernetesÎªÔÆÔÉú¼ÆËãµÄ²Ù×÷ϵͳ¡£
µ«ÁíÍâÒ»·½Ã棬ÔÚÆóÒµµÄÊý¾ÝÖÐÐÄ»ò˽ÓÐÔÆÆ½Ì¨ÉÏ£¬ÉõÖÁÊǹ«ÓÐÔÆÆ½Ì¨ÉÏÃæ£¬´ó²¿·ÖÓ¦Óû¹Ã»ÓнøÐÐÈÝÆ÷»¯£¬»¹ÊÇÒÔ´«Í³¶þ½øÖÆ´úÂëµÄ·½Ê½ÔËÐÐÔÚÐéÄâ»úÉÏÃæ¡£¶ÔÓÚijЩ¿Í»§À´½²£¬ËûÃDz»Ï£ÍûÔÚÔËÓªÒ»¸öÒÔ¹ÜÀí´«Í³ÐéÄâ»úΪÖ÷µÄIaaSƽ̨»òÐéÄ⻯ƽ̨£¨±ÈÈçOpenStack»òÕßVMWare£©Ö®Í⣬ÔÚͬʱÔËÓªÁíÍâÒ»¸ö»ùÓÚKubernetesµÄÈÝÆ÷ƽ̨¡£Òò´Ë£¬Ò»¸ö×ÔÈ»¶øÈ»µÄÏë·¨¾ÍÊÇ£¬¼ÈÈ»KubernetesÔÚÈÝÆ÷±àÅÅÁìÓòÈç´Ë³É¹¦£¬Äܲ»ÄÜʹÓÃͬһ¸öKubernetesƽ̨ͬʱ±àÅź͵÷¶ÈÐéÄâ»ú£¿
ÔçÔÚÈÝÆ÷±àÅÅ´óÕ½ÉÐδ³¾°£Â䶨֮ǰµÄ2016Äê10Ô£¬ºìñµÄ3¸ö¹¤³Ìʦ¾Í´´½¨ÁËKubeVirtÉçÇø£¨https://kubevirt.io/£©
£¬ ÆÚÍûÄܹ»ÓÃKubernetesͳһ±àÅÅÈÝÆ÷ºÍÐéÄâ»ú¡£KubeVirtÉçÇøµÄÔ¸¾°¾ÍÊǽ«´«Í³µÄÐéÄâ»úºÍ×îеÄÈÝÆ÷¼¼ÊõͳһÓÉKubernetes½øÐйÜÀíºÍ±àÅÅ¡£Õâ¸öÔ¸¾°Ò²ÌåÏÖÔÚKubeVirtÉçÇø¹Ù·½KubeVirt×ÜÌå¼Ü¹¹Í¼ÖУ¨Í¼1
¨C KubeVirt×ÜÌå¼Ü¹¹£¬ À´Ô´£ºhttps://github.com/kubevirt/kubevirt/blob/master/docs/architecture.md
£©¡£

ͼ1
¨C KubeVirt×ÜÌå¼Ü¹¹
±¾ÎĽ«Ö÷Òª½éÉÜKubeVirtÒÔ¼°ºìñ»ùÓÚKubevirt·¢ÐÐµÄÆóÒµ°æ¼´OpenShiftÐéÄ⻯µÄÔÀíºÍÖ÷Òª¹¦ÄÜ¡£
ÐèÒªÌáµ½µÄÊÇ£¬Ï£ÍûʹÓÃKubernetes±àÅź͵÷¶ÈÐéÄâ»úµÄ²¢²»ÊÇÖ»ÓÐKubeVirtÒ»¸öÉçÇø¡£´ó¸ÅÒ²ÊÇ2016Äê×óÓÒ£¬Mirantis½¨Á¢ÁËVirtletÉçÇø£¨https://github.com/Mirantis/virtlet£©¡£¾¡¹ÜÄ¿±êÏàͬ£¬µ«KubevirtºÍVirtletÉçÇø²ÉÓÃÁ˲»Í¬µÄʵÏÖ·½Ê½£ºKubeVirtÖ÷ÒªÊDzÉÓÃKubernetesµÄ×Ô¶¨Òå×ÊÔ´CRD£¨Custom
Resource Definition£©À´¹ÜÀíÐéÄâ»ú£¬¶øVirtletÊÇͨ¹ýʵÏÖÈÝÆ÷ÔËÐнӿÚCRI£¨Container
Runtime Interface£©µÄ·½Ê½ÀûÓÃн¨Ò»¸öÌØÊâµÄÈÝÆ÷ÔËÐÐʱÀ´ÊµÏÖÐéÄâ»úµÄ¹ÜÀí¡£
2 ÔÚÈÝÆ÷ÀïÃæÅÜÐéÄâ»ú£¿
ÈÝÆ÷ÀïÃæÔËÐеÄÓ¦ÓóÌÐò±¾ÖÊÉÏÊÇÒ»¸ö½ø³Ì¡£ÈÝÆ÷¼¼Êõͨ¹ý²ÉÓÃLinuxµÄÃüÃû¿Õ¼ä£¨namespace£©ºÍ¿ØÖÆ×飨cgroup£©µÈÄں˼¼Êõ£¬¿ÉÒÔͨ¹ýÈÝÆ÷ʵÏÖ½ø³Ì¸ôÀ룬²¢ÇÒ¿ÉÒÔ¶Ô¸ôÀëµÄ½ø³Ì½øÐÐ×ÊÔ´·ÖÅä¿ØÖÆ¡£¼ÈÈ»£¬ÈÝÆ÷ÀïÃæÕæÕýÔËÐеÄÊǽø³Ì£¬ÄÇô£¬ÎÒÃÇÈçºÎÄÜÈÃÔÚÈÝÆ÷ÀïÃæÅÜÐéÄâ»úÄØ£¿
ÔÚ²ÉÓÃKVM×öhypervisorµÄLinux»úÆ÷ÉÏÃæ£¬´ÓhypervisorµÄ½Ç¶ÈÀ´¿´£¬ÐéÄâ»úµÄµÄÈ·È·¾ÍÊÇÒ»¸öKVM½ø³Ì¡£ÎªÁËÑéÖ¤ÕâÒ»µã£¬ÎÒÃÇ¿ÉÒÔ×öÒ»¸öСʵÑé¡£ÔÚͼ2
ÖУ¬ÎÒÃÇÔÚRHEL ÉÏÃæÍ¨¹ýÖ´ÐÐvirsh startÃüÁîÆô¶¯ÁËÒ»¸öÐéÄâ»ú¡£ÎÒÃÇ¿ÉÒÔ¿´µ½£¬Õâ¸öÐéÄâ»ú×îºó¶ÔÓ¦µ½Ò»¸öqemu-kvmµÄ½ø³Ì¡£

ͼ2 ¨C LinuxÉÏÃæµÄÐéÄâ»ú½ø³Ì
ÔÚÉÏÃæÕâ¸öʵÑéÖУ¬ÎÒÃÇʵ¼ÊʹÓÃÁËLinuxÕâô¼¸¸ö×é¼þ£º
virsh - LinuxÌṩ¹ÜÀíÐéÄâ»úµÄÃüÁîÐй¤¾ß£¬Ëüͨ¹ýµ÷ÓÃlibvirtÌṩµÄAPI½øÐÐÐéÄâ»úµÄ¹ÜÀí¡£
libvirt - libvirtÊÇÒ»×鿪ԴÐéÄâ»ú¹ÜÀíAPI£¬¿ÉÒÔÖ§³Ö¶à¸öhypervisor£¬°üÀ¨QEMUºÍKVM¡£
QEMU - QEMUÊÇÒ»¸öVMM(Virtual Machine Monitor)£¬ÓÃÓÚ½øÐÐÓ²¼þµÄÄ£Äâ¡£±¾ÖÊÉÏQEMU¾ÍÊÇÒ»¸öhypervisor£¬µ«ÊÇÓÉÓÚLinuxÄں˵ÄKVMÄ£¿éʹÓÃÁËIntelºÍAMDоƬÄÚÖõÄÓ²¼þÐéÄ⻯¹¦ÄÜ¡£ËùÒÔ£¬QEMUºÍKVMʵ¼ÊÉÏÒ»ÆðÅäºÏʹÓá£ÔÚÕâÖÖÇé¿öÏ£¬
QEMUÒ»°ã±»³ÆÎªQEMU-KVM£¬¾ßÌ帺Ôð³ýÁËCPUºÍÄÚ´æÖ®ÍâµÄÓ²¼þÄ£Ä⣬±ÈÈçÄ£ÄâÍø¿¨£¬´ÅÅ̵ȣ»Í¬Ê±£¬QEMU»¹»á½«CPUºÍÄÚ´æµÄÐéÄ⻯ָÁîÖ±½Ó·¢Ë͸øºËÐÄ̬µÄKVM¡£
KVM ¨C KVMÊÇLinuxÄÚºËÌṩµÄÐéÄ⻯¼Ü¹¹£¬Í¨¹ý´¦ÀíÆ÷Ó²¼þÌṩµÄÐéÄ⻯À©Õ¹¹¦ÄÜ£¬¿ÉÒÔʵÏÖCPUºÍÄÚ´æµÄÐéÄ⻯¡£
¼ÈÈ»ÐéÄâ»ú±¾ÖÊÊÇLinuxÓû§¿Õ¼äµÄÒ»¸öQEMU-KVM½ø³Ì£¬ÄÇô£¬Õâ¸ö½ø³Ì¾Í¿ÉÒÔÔÚÈÝÆ÷ÄÚ²¿ÔËÐС£Í¼3ÊÇÔÚOpenShift
ÉÏÃæÔËÐеÄÐéÄâ»úpodÀïÃæµÄ½ø³Ì£¬ÎÒÃÇ¿ÉÒÔ¿´µ½£¬ÐéÄâ»ú½ø³ÌÒÔ¼°ÆäËûһЩ¸¨Öú½ø³Ì¶¼´æÔÚ¡£

ͼ3 ¨C ÐéÄâ»úpodÀïÃæµÄ½ø³Ì
±¾ÖÊÉÏÀ´½²£¬KubeVirtµÄÐéÄ⻯¹¦ÄÜ£¬³ýÁËûÓÐÖ±½ÓʹÓÃvirsh´´½¨ÐéÄâ»ú£¨µ«podÀïÃæÒ²ÊÇ¿ÉÒÔÔËÐÐvirshÃüÁîµÄ£©,
±¾ÖÊÉÏÒ²ÊDzÉÓÃlibvirt, QEMUºÍKVMµÈͬÑùµÄÐéÄ⻯ºËÐļ¼ÊõÀ´ÊµÏֵģ¬Èçͼ4Ëùʾ¡£

ͼ4 ¨C ÐéÄâ»úÈÝÆ÷µÄ¼Ü¹¹
ÐéÄ⻯һ°ã°üÀ¨¼ÆËã¡¢ÍøÂçºÍ´æ´¢µÄÐéÄ⻯£¬ÔÚ½â¾öÁ˼ÆËãµÄÐéÄ⻯֮ºó£¬½ÓÏÂÀ´ÎÒÃÇÔÙÀ´¿´Ò»ÏÂÍøÂçÐéÄ⻯¡£
ÓÉÓÚÐéÄâ»úÊÇÔËÐÐÔÚpodÀïÃæ£¬ÔÚÒ»°ãÇé¿öÏ£¬podʹÓõÄÊǶ¯Ì¬·ÖÅäµÄIPµØÖ·£¬Õâ¸ö¸úÐéÄâ»úÐèÒªÒ»¸ö¹Ì¶¨IPµØÖ·µÄÒªÇó²»·ûºÏ¡£ÔÚOpenShiftÖУ¬ÎÒÃDzÉÓÃÁËÒ»¸ö½Ð×öMultusµÄ¹¦ÄÜÄ£¿é£¬Õâ¸ö¹¦ÄÜÄ£¿é¿ÉÒÔÔÊÐípodͬʱÁ¬½Óµ½¶à¸öÍøÂçÖУ¬Èçͼ5Ëùʾ¡£

ͼ5 ¨C podµÄ¶àÍø¿¨¹¦ÄÜ
ÎÒÃÇ¿ÉÒÔÔÚÉÏͼµÄµÚ¶þ¿éÍø¿¨net0ÉÏÖ¸¶¨Ò»¸ö¾²Ì¬µÄIPµØÖ·ÒÔʵÏ̶ֹ¨IPµØÖ·µÄÄ¿±ê¡£
¾Í´æ´¢¶øÒÑ£¬KubeVirtʹÓÃKubernetesÔÉúµÄ´æ´¢×ÊÔ´£º´æ´¢ÀࣨStorageClass£©£¬³Ö¾Ã¾íÇëÇó£¨PVC£©ºÍ³Ö¾Ã¾í£¨PV£©À´¹ÒÔØºÍ¹ÜÀíÐéÄâ»úµÄ´ÅÅÌ¡£
3 KubeVirtµÄʵÏÖ·½Ê½
KubeVirt³ä·Ö²ÉÓÃÁËKubernetes·½Ê½À©Õ¹ÁËKubernetes£¬Ö÷ÒªÔÚÒÔÏÂ3¸ö·½Ãæ½øÐÐÁËÀ©Õ¹£º
VMÏà¹ØµÄ×Ô¶¨Òå×ÊÔ´CRD±»Ôö¼Óµ½Kubernetes APIÖм䡣ÐÂÔöµÄCRD°üÀ¨VirtualMachine,
VirtualMachineInstance, VirtualMachineInstanceMigration,
DataVolumeµÈ¡£
н¨µÄÐéÄâ»ú¿ØÖÆÆ÷£¬ÓÃÓÚʵÏÖÉÏÊöÏà¹ØCRDÔÚÔö¡¢É¾¡¢¸ÄʱӦ¸ÃÖ´ÐеÄÏà¹Ø²Ù×÷¡£
ÿ¸ö½ÚµãÉÏÃæµÄÊØ»¤½ø³Ìvirt-handler£¨¾ßÌåʵÏÖ·½Ê½ÊÇÔËÐÐÔÚKubernetes¼¯ÈºÀïÃæµÄDaemonSet£©£¬¿ÉÒÔÈÏΪÊÇKubeVirtµÄkubelet¡£Virt-handlerºÍkubeletÒ»Æð£¬ÓÃÓÚ´´½¨ÐéÄâ»úʵÀý(VMI)£¬ÒÔ´ïµ½CRDÖÐÆÚÍûµÄ״̬¡£
ͼ6ÊÇKubeVirtÉçÇø¹Ù·½µÄÏêϸ¼Ü¹¹Í¼£¬ÁгöÁËKubeVirt¶ÔKubernetesµÄÀ©Õ¹×é¼þ¡£

ͼ6 ¨C KubeVirtÏêϸ¼Ü¹¹
ÒÔÏÂÊÇÒ»¸ö´´½¨ÐéÄâ»úµÄ´óÖÂÁ÷³Ì£º
1. ¿Í»§¶Ëͨ¹ýkubectl ´´½¨Ò»¸öVMIµÄCRDÇëÇ󣬸ÃÇëÇó±»K8S API ServerÊÕµ½¡£
2. K8S API Serverת·¢µ½virt-api£¬ virt-api¾¹ýÑéÖ¤Ö®ºó´´½¨Ò»¸öVMIµÄCRD¶ÔÏó¡£
3. virt-controller¼ì²âµ½VMIµÄ´´½¨£¬Òý·¢´´½¨Ò»¸öpod¡£
4. Kubernetesµ÷¶È¸Ãpodµ½Ä³¸ö½Úµã¡£
5. virt-controller¼ì²âµ½¶ÔÓ¦VMIµÄpodÒѾÆô¶¯£¬¸üÐÂVMIµÄCRD¶¨ÒåÀïÃænodeName×ֶΡ£ÏÖÔÚ¼ÈÈ»nodeName×Ö¶ÎÒѾ¸³Öµ£¬½ÓÏÂÀ´ÓɸýڵãÉÏÃæµÄvirt-handler½øÐÐÏà¹Ø²Ù×÷¡£
6. virt-handler¼ì²âµ½Ò»¸öVMIÒѾµ÷¶Èµ½ËüËùÔڵĽڵ㣬Ëü»áʹÓÃVMIÖе͍ÒåÄÚÈݸúvirt-launcherͨÐÅ¡£virt-launcher»áÔÚVMI
podÖд´½¨Ò»¸öÐéÄâ»ú£¬²¢ÇÒ¸ºÔð¸ÃÐéÄâ»úµÄÉúÃüÖÜÆÚ¹ÜÀí¡£
ÔÚVMI podÄÚ²¿£¬virt-launcherÊǸÃpodµÄÖ÷ÒªÈÝÆ÷¡£virt-launcherµÄÖ÷Òª¹¦ÄÜÊÇΪÐéÄâ»ú½ø³Ì×¼±¸¿ØÖÆ×éºÍÃüÃû¿Õ¼ä¡£ÔÚ½ÓÊÕµ½À´virt-hander´´½¨ÐéÄâ»úµÄÃüÁîºó£¬virt-launcher½«»áʹÓÃ×Ô¼ºÈÝÆ÷ÄÚ²¿libvirtd´´½¨Ò»¸öÐéÄâ»úʵÀý¡£
KubeVirt»¹ÓÐÒ»¸öÃüÁîÐй¤¾ßvirtctl, ¿ÉÒÔÓÃÀ´¹ÜÀíÐéÄâ»ú£¬±ÈÈçÆô¶¯£¬¹Ø»ú£¬ÔÝÍ££¬Ç¨ÒÆ£¬ÖØÆôÒÔ¼°Á¬½ÓÎı¾»òͼÐÎÖն˵ȹ¦ÄÜ¡£
KubeVirt²ÉÓÃOperator·½Ê½°²×°£ºÊ×ÏȰ²×°Operator£¬ È»ºó´´½¨Ò»¸öCRD¡£
ʹÓÃkubectl²¿ÊðKubeVirt Operator
export VERSION=$(curl -s https://api.github.com/repos/kubevirt/kubevirt/releases
| grep tag_name | grep -v -- '-rc' | head -1 | awk
-F': ' '{print $2}' | sed 's/,//' | xargs)
echo $VERSION
kubectl create -f https://github.com/kubevirt/kubevirt/releases/download/${VERSION}/kubevirt-operator.yaml
´´½¨KubeVirt×Ô¶¨Òå×ÊÔ´
Ïêϸ°²×°¹ý³ÌÇë²Î¿¼KubeVirt¹Ù·½Îĵµhttps://kubevirt.io/quickstart_kind/¡£
ÖµµÃ×¢ÒâµÄÊÇ£¬Èç¹ûK8S¼¯Èº±¾ÉíÔËÐÐÔÚÐéÄâ»úÀïÃæ£¬ÄÇôÐèÒª´ò¿ªÇ¶Ì×ÐéÄ⻯¡£
kubectl create -f https://github.com/kubevirt/kubevirt/releases/download/${VERSION}/kubevirt-cr.yaml
4 OpenShiftÐéÄ⻯
OpenShiftÐéÄ⻯£¬ÊǺìñ»ùÓÚÉÏÓÎÉçÇøKubeVirtÍÆ³öµÄ¾¹ý¼Ó¹ÌºÍÔöÇ¿µÄÆóÒµ·¢Ðа棬×÷ΪOpenShiftµÄÒ»¸ö×é¼þÌṩ¡£OpenShiftÐéÄ⻯ÔÀ´Ãû³ÆÎªÈÝÆ÷ÔÉúÐéÄ⻯(Container
Native Virtualization£¬ÒÔϼò³ÆCNV)£¬×î³õÔÚOpenShift 3.11×÷Ϊһ¸ö¸½¼Ó×é¼þÒÔ¼¼ÊõÔ¤ÀÀµÄ·½Ê½·¢²¼¡£Ëæ×ÅCNVºÍKubeVirtÒÔ¼°OpenShiftµÄ·¢Õ¹ºÍÍêÉÆ£¬ÔÚ2020Äê4Ô·ݷ¢²¼µÄOpenShift
4.5ÖÐÒÔ×é¼þÃû³Æ¡°OpenShiftÐéÄ⻯¡±×÷ΪÉú²ú¾ÍÐ÷Ð͸½¼Ó¹¦ÄÜÕýÊ½ÍÆ³ö£¬µ±Ê±°æ±¾Îª2.4£¬ÏÖÔÚÔÚOpenShift
4.6ÖÐ×îеİ汾Ϊ2.5¡£
OpenShiftÐéÄ⻯µÄÄ¿±ê²»Êǽö½öÖ»Ìṩ´«Í³ÐéÄ⻯¼¼Êõ±ÈÈçºìñÐéÄ⻯»òVMWare vSphereÖ®ÍâµÄÁíÒ»ÖÖÑ¡Ôñ£¬¶øÊÇÒ»ÖÖ»ùÓÚKubernetesµÄȫм¼Êõ£¬Äܹ»½«´«Í³µÄ¡¢»ùÓÚÐéÄâ»úµÄÓ¦ÓÃÓëÔÆÔÉúµÄ¡¢ÈÝÆ÷»¯µÄÓ¦ÓýøÐÐÕûºÏ£¨²Î¼ûͼ7-OpenShiftÐéÄ⻯×ÜÌå¼Ü¹¹£©¡£KubernetesÄܹ»ÎªÐéÄâ»úÌṩ¸ß¿ÉÓÃÐÔ¡¢µ÷¶È¡¢°²È«¡¢×ÊÔ´¹ÜÀíµÈ¹¦ÄÜ£¬¾ÍÏñΪÈÝÆ÷ÌṩÕâЩ¹¦ÄÜÒ»Ñù¡£

ͼ7 ¨C OpenShiftÐéÄ⻯×ÜÌå¼Ü¹¹
OpenShiftÐéÄ⻯µÄ´óÖÂÒµÎñ³¡¾°°üÀ¨ÕâôÈý¸ö£º
¿Í»§ÉÐ佨Á¢ÐéÄ⻯»·¾³£¬Ä¿Ç°ÆÚÍû½¨Á¢ÈÝÆ÷ÔÆÆ½Ì¨£¬Ï£ÍûͳһÓÃÈÝÆ÷ÔÆÆ½Ì¨¹ÜÀíÈÝÆ÷»¯Ó¦Óúʹ«Í³µÄÓ¦Óá£
¿Í»§ÔÚ½øÐÐÈÝÆ÷»¯×ªÐÍ£¬µ«ÔÀ´µÄ´óÐ͵¥ÌåÓ¦Óõ½ÏÖ´ú΢·þÎñµÄÓ¦ÓøÄÔì²»ÊÇÒ»õí¶ø¾ÍµÄ£¬ÐèҪͨ¹ýÒ»¸ö±È½Ï³¤µÄÖÜÆÚ£¬½øÐжà´Îµü´ú²ÅÄÜÍê³ÉµÄ¡£ÔÚÕâ¸öתÐÍÖÜÆÚÖУ¬Í¨¹ýÈÝÆ÷ÔÆÆ½Ì¨Í³Ò»¹ÜÀí´«Í³µÄ´óÐ͵¥ÌåÓ¦Ó㨻ùÓÚÐéÄâ»ú£©ºÍд´½¨µÄ΢·þÎñÓ¦ÓÃÓÐÀûÓÚ½µµÍתÐ͹ý³ÌµÄ¸´ÔÓ¶È¡£
5Gʱ´úµÄ±ßÔµ¼ÆË㳡¾°¡£±ßÔµ¼ÆË㳡¾°ÐµÄÓ¦Óûù±¾¶¼Êǰ´ÕÕÈÝÆ÷»¯½øÐпª·¢µÄ£¬µ«ÁíÍâÒ»·½Ã棬Ҳ´æÔÚһЩ´«Í³µÄ»ùÓÚÐéÄâ»úµÄÓ¦Óá£Í¨¹ýʹÓÃOpenShiftÐéÄ⻯£¬¾Í¿ÉÒÔ½«Á½Õß½áºÏÆðÀ´£¬Èç¹ûÔÙ½áºÏOpenShift¶à¼¯ÈºµÄ¹ÜÀí¹¦ÄÜ£¬¾Í¿ÉÒÔ½øÐбßÔµ¼ÆËãµÄͳһ¹ÜÀí£¬ÊµÏÖÔÆ±ßÐͬµÄЧ¹û¡£
OpenShiftÐéÄ⻯³ä·ÖʹÓÃÁËOpenShiftÍêÕûÉú̬£¬ÔÚ¿É¿¿ÐÔ¡¢Îȶ¨ÐÔ¡¢Ò×ÓÃÐÔÒÔ¼°Éú̬ÓѺÃÐÔ·½Ã棬´ó´ó³¬³öÁËÆäÉÏÓÎÉçÇøKubeVirt¡£
³ýÁËÖ§³ÖÀàËÆKubeVirtÃüÁîÐз½Ê½µÄ°²×°£¬OpenShiftÐéÄ⻯°²×°»¹¿ÉÒÔ²ÉÓÃOpenShift
OperatorHubÈí¼þÉ̵êµÄ·½Ê½£¬´Ó¶ø¿ÉÒÔ×öµ½Ò»¼üʽ°²×°ºÍ²¿Êð£¬Èçͼ8¡¢Í¼9ºÍͼ10Ëùʾ¡£

ͼ8 ¨C OpenShift Operator HubÖеÄOpenShift Virtualization
Operator

ͼ9 ¨C °²×°OpenShift Virtualization Operator

ͼ10 ¨C ´´½¨OpenShift Virtualization CRDʵÀý
ÔÚ°²×°ÁËOpenShift VirtualizationÖ®ºó£¬Óû§¾Í¿ÉÒÔÔÚ×Ô¼ºµÄÏîÄ¿ÀïÃæÍ¨¹ýOpenShift¿ØÖÆÌ¨»òÕßÃüÁîÐй¤¾ß´´½¨¡¢²éѯ¡¢Ð޸Ļòɾ³ýÐéÄâ»úÁË£¬Èçͼ11¡¢12¡¢13Ëùʾ¡£

ͼ11 ¨C ´´½¨ÐéÄâ»ú

ͼ12 ¨C ¹ÜÀíÐéÄâ»ú

ͼ13 ¨C ÐéÄâ»úÐÅÏ¢ÏÔʾ
ÔÚ´´½¨ÐéÄâ»úµÄʱºò£¬Óû§¿ÉÒÔÖ¸¶¨ÐéÄâ»úµÄÆô¶¯Òýµ¼·½Ê½¡¢ÐéÄâ»úµÄ¹æ¸ñ¡¢¹¤×÷¸ºÔØÀàÐÍ£¨ÓÃÓÚÉèÖÃKVMÐÔÄÜÏà¹Ø²ÎÊý£©¡¢ÍøÂç¡¢´æ´¢¡¢cloud-initÉèÖõȡ£OpenShiftÐéÄ⻯Ҳ֧³Ö´ÓºìñÐéÄ⻯»òÕßVMWareÖе¼ÈëÐé»ú¡£ÔÚ¹ÜÀíÐéÄâ»úµÄʱºò£¬Óû§¿ÉÒÔÆô¶¯/Í£Ö¹/ÖØÆôÐé»ú£¬Ò²¿ÉÒÔ½øÐÐÐé»úµÄÈÈÇ¨ÒÆ£¨live
migration£©¡¢¿Ë¡¡¢É¾³ýµÈ²Ù×÷¡£
Èç¹ûÓû§ÐèÒªÁ¬½Óµ½Ðé»úÄÚ²¿£¬¿ÉÒÔÖ±½ÓʹÓÃOpenShift¿ØÖÆÌ¨µÄÄÚÖÃÖÕ¶Ë£¬Ò²¿ÉÒÔ²ÉÓÃvirtctlÃüÁîÐй¤¾ß¡£
5 ×ܽá
KubeVirtÌṩµÄÈÝÆ÷ÐéÄ⻯¼¼Êõ£¬ÈÃKubernetesͳһ¹ÜÀíÈÝÆ÷¼¼ÊõºÍ´«Í³ÐéÄ⻯±äΪ¿ÉÄÜ£¬´ÓÓ¦ÓñàÅŽøÈëÁË»ù´¡ÉèÊ©±àÅÅ£¬´Ó¶øÎªKubernetes´ÓÒÔǰµ¥´¿µÄÈÝÆ÷±àÅŹ¤¾ßµ½½«À´½ø»¯ÎªÆóÒµÊý¾ÝÖÐÐĺÍ˽ÓÐÔÆµÄ´óһͳ±àÅÅÒýÇæÁË´ò¿ªÁËÒ»ÉÈ´óÃÅ¡£
OpenShiftÐéÄ⻯ÔÚKubeVirtµÄ»ù´¡ÉÏ£¬ÎªÆóÒµ¿Í»§ÌṩÁËÉú²ú¼¶¾ÍÐ÷»·¾³ËùÐèÒªµÄ¹¦ÄܺÍÐÔÄܼӹ̺ÍÔöÇ¿£¬Í¬Ê±½áºÏOpenShiftÁ¼ºÃµÄÉú̬£¬°üÀ¨Âã»ú¹ÜÀí¡¢GPUֱͨ¡¢Èí¼þ¶¨ÒåÍøÂç¡¢OpenShiftÈÝÆ÷ÔÉú´æ´¢£¬Îª¿Í»§ÌṩÁËÒ»¸ö¿ªÏä¼´ÓõÄÈÝÆ÷ºÍÐéÄ⻯ÏàÈںϵÄÔÆÆ½Ì¨¡£ |