如果容器推广到桌面,Azure就无敌了!(桌面云原生)

前段时间尝试了Docker Desktop,发现开启容器支持后,非常慢,好容易删除干净,恢复了正常。写了一篇短文作为记录。有个网友提醒说,可以试一试WSL2,性能损失小,但是要升级到Windows 10 build 2004。然后就在晚上开展了3个实验:

(1)找到一个Windows10虚拟机(微软有Edge浏览器的测试镜像),然后用对待我在本机那样部署了Docker Desktop,感觉还是可以用的,虽然也不快,但是我可以在不用容器的时候,关闭这个虚拟机就OK,不会降低我本机(Host)的使用性能 === 证实确实可用(Docker Desktop + Windows 10 虚拟机)

(2)到Windows商店去找WSL,中文版的应用商店找不到,到英文网站找到了。发现首先要升级Windows 10,需要首先注册Windows Insider计划。考虑到对Host有风险。于是就花时间找到了Windows 10 build 2004的ISO镜像。期间再次感受到微软研发体系的强悍之处:有非常清晰的产品管理和发布体系。在这个Windows 10 b2004虚拟机中下载了一个Ubuntu,然后转化为WSL2,居然就可以启动了,非常棒,难怪有人说Windows 10 是最好的Linux桌面。安装了Docker Desktop,但是还要调通才行。

(3)在本机也参加了Windows Insider计划,Windows 10 的自动升级在几天后,自动下载了Windows 10 b2004,然后就下载了一个Ubuntu(Centos收费),可以执行,和Linux一模一样的。而且这并不是Cygwin64,这是原生的Linux和Windows 10一起运行的Linux,真的非常酷!非常赞同网上的评论:WSL2是一个生产力工具。显然可以更高效地使用Window桌面+

image

系列1:Windows10的Container和Hyper-V太占资源了(http://www.brofive.net/?p=6244

系列2:如果容器推广到桌面,Azure就无敌了!(桌面云原生)(http://www.brofive.net/?p=6560

系列3:解决了一个奇怪的Windows10缓慢问题,再次感受到逻辑思考的力量!(http://www.brofive.net/?p=6570

如果WSL/WSL2确实可用并正式投产,那么Windows就真的无敌了(是不是称作桌面云原生),可以一下子复用所有Linux生态资源,可能会带来几个变化:

1、多数开发者都会使用这个体系。一方面复用简单易用的Windows版本的开发工具,一方面随时部署到本机的Linux进行调试,是原生的系统,可以无缝迁移,类似Java了。

2、Azure云的使用者会增加。因为这种模式恰恰就是Azure的模式。如果企业开发者喜欢这种环境和开发效率,习惯这种部署模式,那么开发者会再次从各种开发工具迁移到Visual Studio系列工具上,微软会重新占据开发者。从Github并购、Visual Studio Code方面,开发Linux内核等方面看,可以看出来纳德拉的战略是非常明智的:从拥抱开源获取对云的支持,而切入点恰恰是微软最擅长的开发者领域。

3、Windows桌面容器化。如果性能确实满足日常需求,那么一些开发者就会复用开发Server端容器的资源和技术,用于桌面版本的开发,进一步提升开发效率。

4、Windows和Linux代码同时为一个应用服务。这是一个必然的推论,在Azure平台上,用户可以在同一个OS上,拥有两个平台的能力,这一点,一下子就把AWS给打下去了。当然,AWS也没闲着,他们的对策是云原生,但这不是那么贴近开发者的,对开发者的要求太高了。目测可能微软反而要超越AWS。

 

但是到底行不行,还是要看开发者体验到底如何,下面简要说一下如何安装Windows 2004,以及部署WSL和WSL2。整体部署Windows 2004有两种方案:(1)采用镜像ISO安装,适用于虚拟机和新机器(2)利用Windows自动更新,适用于在本机安装。最后说一下体验情况Smile

 

一、注册Windows Insider计划。这个是两种方案都需要的工作,注册前,你只能看到正常的Windows版本,注册后,可以看到Windows的所有测试和预览版本。有Slow和Fast两种预览版本,建议选择Slow版本。相关链接和截图:

 

二、从ISO安装,这个最简单,打开一个VMware虚拟机就可以部署,省时省事,但是安装后需要占用大约20GB空间。需要指出,这个ISO是有失效时间的。

image

image

image

 

三、本机安装需要配置自动更新。其实我是不愿意配置自动更新的,为了这个2004,也只好开放一下。找到自动更新对于我来说有些麻烦,毕竟是Windows的老用户,不熟悉这种新的配置面板,可以从关于作为统一入口来找到后面的所有界面。

image

需要开启自动更新,等几天自动下载了,就会更新。

image

 

四、安装Ubuntu,这个很容易,通过Windows Store就可以安装,如果你不慎卸载了这个Store,有个教程可以教你如何恢复,要注意这玩意不是正常安装部署,还是要看攻略。

下载链接:https://www.microsoft.com/en-us/p/ubuntu/9nblggh4msv6?activetab=pivot:overviewtab

 

这个Ubuntu体积不大,不到300MB,网上有明确的教程可以使用,其中有好几个Linux发行版,CentOS是收费的

image

image

 

一旦开始玩WSL,就会经常性打开或者关闭Windows功能。找到这个界面的方法,可以用搜索Hyper来定位。

image

在VMware中的WSL,有模有样的。这里面强烈建议安装Windows Terminal。

image

要升级到WSL2,就要真的启用虚拟机了,WSL2和WSL有很大的差别,WSL2是没有rootFS的,WSL是一个镜像文件

image

因此就要开放虚拟化平台。

image

注意这个版本,很有成就感!

image

 

五、开发体验。在笔记本升级到2004之后,需要支持虚拟化平台和Linux两个能力,最开始系统速度还可以,第二天就发现不对头,性能下降很厉害,于是在笔记本上还是禁用了虚拟化平台和Linux,还是老老实实在虚拟机里面用吧。看来距离满足开发者的体验还有一段距离,需要轻量级虚拟机的能力

 

补1:解决 “process exited with code 4294967295″ 问题。方案:”netsh winsock reset”

 

相关信息:

  1. https://docs.microsoft.com/zh-cn/windows/release-information/
  2. https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-index
  3. https://insider.windows.com/zh-cn/welcome-back/
  4. https://docs.microsoft.com/zh-cn/windows-insider/flight-hub/
  5. https://www.microsoft.com/en-us/software-download/windowsinsiderpreviewadvanced
  6. https://www.microsoft.com/en-us/p/ubuntu/9nblggh4msv6?activetab=pivot:overviewtab
  7. https://blog.csdn.net/WPwalter/article/details/101508601
  8. https://blog.csdn.net/weixin_40955163/article/details/100555823
  9. https://zhuanlan.zhihu.com/p/104771275?utm_source=cn.wiz.note
  10. https://www.cnblogs.com/dmego/p/12082013.html
  11. https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-kernel
  12. https://github.com/microsoft/WSL/issues/4904

如果容器推广到桌面,Azure就无敌了!(桌面云原生)》有5个想法

  1. 一重传统IT大佬还是持续强悍,IBM电信业云服务貌似也很有竞争力。https://mp.weixin.qq.com/s/aw8J2NzD8SC25Kb1ubXS4Q

  2. wsl2 配合 vs code 开发还是很舒服的 在vscode 里面点击 wsl2 就直接连接 需要给 wsl2 再适配一个重一点的 ide 比如 idea intellij 这样的 就无感连接 就很好了 来自Windows用户的心声

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注