镇江网站优化公司工作室,wordpress只保留二级目录,百度竞价关键词查询,wordpress中文版广告作者 | Gilson Melo译者 | 天道酬勤 责编 | 徐威龙封图| CSDN下载于视觉中国随着微服务的出现#xff0c;人们通常会问#xff1a;“是否有可能通过Kubernetes上的微服务在基于内核的虚拟机#xff08;KVM#xff09;或VMware 中运行我的旧虚拟机#xff0c;还是需要将它们… 作者 | Gilson Melo译者 | 天道酬勤 责编 | 徐威龙封图| CSDN下载于视觉中国随着微服务的出现人们通常会问“是否有可能通过Kubernetes上的微服务在基于内核的虚拟机KVM或VMware 中运行我的旧虚拟机还是需要将它们迁移到容器上” 这个问题的一个可能的答案是KubeVirt。KubeVirt项目将Kubernetes变成用于应用程序容器和虚拟机工作负载的编排引擎。它解决了已经采用或想要采用Kubernetes的开发团队的需求但是它们具有现有的基于虚拟机的工作负载因此无法轻松地放入容器中。该技术提供了一个统一的开发平台开发人员可以在其中构建、修改和部署驻留在公共共享环境中的应用程序容器和虚拟机中的应用程序。注意KubeVirt可以在外部云提供商例如Oracle云基础架构上进行测试但是此设置尚不适合生产开始适用于Kubernetes的Oracle云基础架构容器引擎有时称为OKE提供了可靠且可扩展的集成工作流平台用于在云中构建、测试、部署和监视代码。用于Kubernetes的容器引擎可帮助你在云中部署、管理和扩展Kubernetes集群。借助它你可以通过将Kubernetes与在Oracle 云基础架构上运行的服务相结合来构建动态的容器化应用程序。KubeVirt可以部署在容器引擎上用于具有裸机或虚拟机形状的Kubernetes工作者节点。如果你的群集工作器节点配备有虚拟机形状则KubeVirt以嵌套模式运行你的旧KVM或VMware VM。要求 必须安装和配置Oracle云基础架构命令行界面CLI和Kubernetes的容器引擎kubectl CLI。有关更多信息请参见用于Kubernetes的Container Engine文档https://docs.cloud.oracle.com/iaas/Content/ContEng/Concepts/contengoverview.htm。你还可以使用Cloud Shell这是一个可从Oracle云基础架构控制台访问的基于浏览器的终端。 CLI已预先安装并在Cloud Shell中配置。部署 请按照以下步骤为Kubernetes的容器引擎部署KubeVirt。 步骤一部署KubeVirt管理员1. 运行用于Kubernetes集群和NodePool节点的容器引擎。2. 设置要在命令上使用的版本环境变量export KUBEVIRT_VERSION$(curl -s https://api.github.com/repos/kubevirt/kubevirt/releases | grep tag_name | grep -v -- - | sort -V | tail -1 | awk -F: {print $2} | sed s/,// | xargs)
echo $KUBEVIRT_VERSION
3. 使用kubectl工具部署KubeVirt运算符kubectl create -f https://github.com/kubevirt/kubevirt/releases/download/${KUBEVIRT_VERSION}/kubevirt-operator.yaml4. 确保KubeVirt管理员正在运行[rootkvmvbox ~]# kubectl get pods -n kubevirt
virt-operator-6b5455546b-56dvx 1/1 Running 0 39h
virt-operator-6b5455546b-5pwdj 1/1 Running 0 39h
5.检查虚拟化扩展。当你将Oracle Cloud Infrastructure VM形状与Oracle Linux映像一起使用时这些形状应默认情况下启用嵌套虚拟化并且cpuinfo文件应具有VMX标志。使用egrep命令进行检查。egrep svm|vmx /proc/cpuinfo步骤二部署KubeVirt1.通过创建专用的自定义资源来部署KubeVirtkubectl create -f https://github.com/kubevirt/kubevirt/releases/download/${KUBEVIRT_VERSION}/kubevirt-cr.yaml
2.检查部署 步骤三安装virtctl另一个二进制文件可快速访问虚拟机的串行和图形端口并处理启动和停止操作。该工具称为virtctl你可以从KubeVirt的发行页面中检索它curl -L -o virtctl \
https://github.com/kubevirt/kubevirt/releases/download/${KUBEVIRT_VERSION}/virtctl-${KUBEVIRT_VERSION}-linux-amd64
chmod x virtctl
步骤四测试KubeVirt 现在是时候测试KubeVirt和Kubernetes的容器引擎了测试方法是运行遗留的KVM或VMware VM以及容器。KubeVirt提供了一些实验室让你在尝试遗留的KVM或VMware VM之前对其进行测试。第一个实验是使用 KubeVirt它引导你完成在Kubernetes上创建VM实例的过程然后向你展示如何使用virtctl与其控制台进行交互。 第二个实验是使用容器化数据导入器CDI进行实验向你展示如何使用CDI将VM映像导入到持久卷声明PVC中然后如何定义VM以使用PVC。 在容器引擎中运行KVM和VMware VM如果你打算划在Kubernetes的容器引擎中运行KVM或VMware VM则必须首先将磁盘转换为原始格式。有两个免费的实用程序可以帮助你做到这一点:Oracle VirtualBox VBoxManage和QEMU磁盘映像实用程序。VBoxManage是Oracle VM VirtualBox的CLI。你可以使用它从主机OS的命令行控制Oracle VM VirtualBox。 VBoxManage提供了虚拟化引擎的所有功能它使你可以将磁盘转换为不同的格式。在CLI中使用以下命令将VM磁盘转换为原始格式VBoxManage clonehd --format RAW kvm_qcow2_OR_VMware_vmdk_disk disk-name.img
QEMU磁盘映像实用程序称为QEMU-img还可以将磁盘转换为其他格式。例如要在运行Oracle Linux的计算机上安装它请运行以下命令sudo yum install qemu-img然后运行以下命令以将VM磁盘转换为原始格式qemu-img convert kvm_qcow2_OR_VMware_vmdk_disk -O raw disk-name.img转换磁盘后你可以使它们可供在用于Kubernetes的容器引擎中使用。你有以下几种选择将磁盘上载到工作程序节点并使用hostpath运行它。创建原始磁盘的Docker映像并将其上传到Oracle Cloud Infrastructure Registry之类的公共注册表中。克隆磁盘并使用它创建持久卷声明。所有这些选项都在KubeVirt GitHub存储库和KubeVirt文档中进行了说明。 演示案例 下面是KubeVirt与用于Kubernetes的容器引擎一起使用的快速示例。在此演示中我们使用Microsoft Windows 2012 KVM VM映像该映像已转换为原始格式并上传到工作节点。现在它可以与同一pod子网CIDR中的其他本机Nginx容器一起运行。 Windows操作系统现在可以使用内部负载平衡器IP地址访问Nginx网页。因此Windows KVM VM的行为类似于Kubernetes窗格这使其可以与其他用于Kubernetes服务的容器引擎进行本地交互。 如果有不清楚的地方或其他意见欢迎评论告诉我们。原文https://dzone.com/articles/kvm-vmware-vms-in-container-engine-for-kubernetes同时欢迎所有开发者扫描下方二维码填写《开发者与AI大调研》只需2分钟便可收获价值299元的「AI开发者万人大会」在线直播门票!推荐阅读在容器上构建持续部署及最佳实践初探在Kubernetes上部署一个简单的、类PaaS的平台原来这么容易全球呼吸机告急医疗科技巨头美敦力“开源”设计图和源代码互联网之父确诊新冠一代传奇任谷歌副总裁、NASA 访问科学家微软为一人收购一公司破解索尼程序、写黑客小说看他彪悍的程序人生2020年这20个大家都认识的加密交易所过得怎么样真香朕在看了
相关文章: