V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
caicloud2015
V2EX  ›  程序员

重磅| Kubernetes 1.5 正式发布

  •  
  •   caicloud2015 · 2016-12-13 14:00:44 +08:00 · 1912 次点击
    这是一个创建于 2900 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Linux 与 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 上,使机构组织者可以为他们的分布式应用获得单个控制面板。”

    以下是 Apprenda 的高级产品总监介绍了各项功能的视频 demo ,点击查看:

    https://v.qq.com/x/page/t0355o1ln4k.html

    Kubernetes 其余功能

    Kubernetes 1.5 ( beta 版本)也支持 StatefulSets (由 PetSets 改名)。由 Kubernetes 管理的 ReplicaSets 和 Pods ,会变成无状态,所以,如果这些功能不使用,或者用不到的话,就会变成“一次性”应用。但是在某些情况下,比如数据库,集群软件(比如 RabbitMQ 集群),或者其它旧的有状态对象,可能性就比较小了。 StatefulSets 提供更加具体的辨识资源的方法,这样更好维护这些项目之间的联系。

    Kubernetes1.5 还包括了一些早期所做的努力,比如让 Kubernetes 部署符合 OCI 标准的容器等等。

    转载请联系我们

    原文链接:

    https://www.mirantis.com/blog/linux-windows-living-together-total-chaos-ok-kubernetes-1-5/?mkt_tok=eyJpIjoiWXpSa09EZzROV1F3WXpnMyIsInQiOiJUaDlmWEpSNTRjWEI3SFlkMm9SYnFudkJuQmRSbnd0Y1hzY2xBV3MzanpLYTFINzV1ZFA5MndZTE1tVGJadUhmZVVcL1VDdURqd282c1dodWFtYUJ6SUFOSGZJV3ZrNUJNcmtQTTJpdk9rWFRtVE5XUWRzc3pjSVJYbU9lb0hZdzUifQ%3D%3D

    1 条回复    2016-12-13 20:36:34 +08:00
    julyclyde
        1
    julyclyde  
       2016-12-13 20:36:34 +08:00
    在 kube 里,组件改名是常态
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1141 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:32 · PVG 02:32 · LAX 10:32 · JFK 13:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.