摘要:本文将带你了解Linux和Windows实现共存,Kubernetes 1.5 正式发布,希望本文对大家学Windows有所帮助。
众所周知,Windows 的应用无法运行在 Linux上,而 Linux 应用也无法运行在 Windows 上。但是,事实上,当 Docker 将容器作为一种显著的打包应用的方法,并且可以在“任意地方”封装它的时候,这里的“任意地方”就已经包含了“Linux”。Windows也有容器,但是要让所有工作都一起运行还是不太可能的。
但是,今天Kubernetes1.5的发布,让Linux和Windows一起运行的梦想能够实现了。
Kubernetes1.5(alpha 版本)支持Windows服务器容器,跟Docker类似,他们共享同一个内核模式;而Hyper-V容器的单核模式则为多租户环境提供了更好的隔离(代价是延迟时间更长了)。最终的结果就是,在你创建的这个Kubernetes集群上,Linux节点可以运行Linux容器,Windows 节点可以运行 Windows 容器;同时,Linux节点也可以运行Windows容器,Windows节点也可以运行Linux容器,真正实现混合集群。比如,单个 service允许Pod使用Windows服务器容器,也允许其它的Pod使用 Linux 容器。
虽然 Kubernetes1.5 功能全面,但是也有它的局限性,比如:
· Kubernetes 是由Go语言编写的,以至于它带有一定的依赖性,所以 Kubernetes master 必须运行在 Linux 上。如果端口映射到 Windows 也是可以的,但是技术团队更愿意把主要精力放在客户组件上。
· Windows本地不支持网络叠加功能的容器,所以网络就被限制在了L3。(虽然问题也有其它的解决办法,但是这些办法都不支持本地)。Kubernetes Windows SIG正在跟Microsoft协同工作解决这些问题,希望明年发布的 Kubernetes1.6 版本中,这些问题都能够得到解决。
· Windows容器间的网络更加复杂,因为每个容器都有自己的网络 namespace,所以推荐使用单个容器pod。
· 运行在 Windows 服务器上的应用能够以任意 Windows 支持的语言运行。可以在Linux容器中运行 .NET 应用,但是前提是这些应用必须是用.NET Core写的才可以。Nano服务器操作系统也支持.NET core,而且还可以部署在Windows服务器容器上。
这次Kubernetes1.5的发布也支持IIS(目前它占据了网上11.4%的江山)和 ASP.NET。
Apprenda努力开发Kubernetes,就是为了让企业既能够享受Kubernetes 带来的益处,同时还能够有效利用他们已有的 Windows 资源。“我们的策略就是给我们的企业客户提供坚定使用Kubernetes 的理由。要做到这点,没有Windows的支持是不行的。2016 年3 月,我们承诺 Kubernetes 会支持Windows服务器,我们在这次发布的 1.5 版本中做到了。”Apprenda CEO,Sinclair说道,“我们会在编排Windows服务器容器、Hyper-V容器的时候,将全部功能交付到Linux 上,使机构组织者可以为他们的分布式应用获得单个控制面板。”
Kubernetes 1.5(beta 版本)也支持StatefulSets(由 PetSets 改名)。由 Kubernetes 管理的ReplicaSets 和Pods,会变成无状态,所以,如果这些功能不使用,或者用不到的话,就会变成“一次性”应用。但是在某些情况下,比如数据库,集群软件(比如RabbitMQ 集群),或者其它旧的有状态对象,可能性就比较小了。StatefulSets提供更加具体的辨识资源的方法,这样更好维护这些项目之间的联系。
Kubernetes1.5还包括了一些早期所做的努力,比如让Kubernetes 部署符合 OCI 标准的容器等等。
以上就介绍了Windows的相关知识,希望对Windows有兴趣的朋友有所帮助。了解更多内容,请关注职坐标系统运维之Windows频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号