如何在Windows 1803上使用Hyper V在Windows OS版本之间部署Kubernetes Pod?

时间:2018-10-26 03:43:09

标签: windows docker kubernetes hyper-v windows-server

我有一个简单的主服务器(Ubuntu 1604),一个工作器(Windows Server 1803)kubernetes集群。

我也有一个Jenkins构建代理(Windows Server 2016),可在管道中构建.NET docker映像。

基本映像:来自microsoft / aspnet:4.7.2-windowsservercore-ltsc2016

我的目标是使用Jenkins构建代理(Windows Server 2016)构建的映像在kubernetes worker(Windows Server 1803)上创建部署。但是,由于Windows映像必须与它们在其上运行的确切Windows版本匹配,因此当前无法立即使用。

来自https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility

  

“当容器主机和容器映像之间的内部版本号不同时,Windows Server容器将无法启动”

但是,它从同一链接(https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility)描述使用Hyper-V可以做到这一点。

  

与在容器和主机之间共享内核的标准Windows容器不同,每个Hyper-V隔离容器都有其自己的Windows内核实例。因此,您可以在容器主机和映像中使用不同的OS版本(请参见下面的兼容性列表)。

我从这里使用文档:https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/get-started/install-the-hyper-v-role-on-windows-server,然后运行以下命令并重新启动Windows主机以尝试启用Hyper-V:

Install-WindowsFeature -Name Hyper-V -ComputerName <computer_name> - 
IncludeManagementTools -Restart

然后再次从https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/version-compatibility

  

要运行具有Hyper-V隔离的容器,只需将标签--isolation = hyperv添加到您的docker run命令中即可。

我通过RDPing到1803 worker并运行以下docker命令来尝试此操作,但得到了相同的错误。 (容器操作系统必须与主机操作系统匹配)

docker run microsoft/iis:ltsc2016 --isolation=hyperv

总体而言,我无法使用hyperv运行docker容器,而且似乎也找不到任何有关如何“激活”或将hyperv与kubernetes部署yml文件一起使用的信息。

任何想法都会受到赞赏!

更多详细信息:

集群设置使用:https://onedrive.live.com/view.aspx?resid=E2B6765015E5FA01!339&ithint=file%2cdocx&app=Word&authkey=!AGvs_s_hWs7xHGs

上面的链接是此页面的反馈部分https://docs.microsoft.com/en-us/virtualization/windowscontainers/kubernetes/getting-started-kubernetes-windows上一组更新的说明,对我不起作用。

0 个答案:

没有答案