Linux 之父出席、干货分享、圆桌讨论,精彩尽在 OpenCloudOS 社区开放日,报名戳 了解详情
写点什么

Windows 容器在 Rancher 上的未来发展

  • 2022 年 4 月 07 日
  • 本文字数:2211 字

    阅读完需:约 7 分钟

Windows 容器在 Rancher 上的未来发展

本文将介绍基于 RKE 1 的 Windows 容器演进和基于 RKE 2 的 Windows 容器最新进展,并探讨客户将 Windows 容器工作负载迁移到 RKE 2 时需要采取的措施。

容器运行时在云原生和 Rancher 上的演进


使用体积比 Docker 更小的容器运行时正成为云原生生态系统的发展趋势。这种转变为群集运营商带来了新的选择,同时也要求群集运营商重新评估自己的 Kubernetes 容器运行时。


SUSE Rancher 预见到了这一趋势,并在开源的 containerd 容器运行时上构建了两个 Kubernetes 发行版——K3s 和 RKE 2。RKE 2 是全面兼容的 Kubernetes 发行版,它基于 K3s 构建,更侧重于安全性和合规性。 


基于 containerd 的 RKE2 是 Rancher 管理 Windows 容器的未来趋势。 


过渡到 RKE 2 能够提升安全性,为使用 Windows 容器的客户提供更丰富的功能,提升 Windows 与 Linux 容器的功能对等性,并支持 Linux 与 Windows 工作负载在 Rancher 环境下的并行动态部署。 


本文将介绍基于 RKE 1 的 Windows 容器的演进和基于 RKE 2 的 Windows 容器最新进展,并探讨客户将 Windows 容器工作负载迁移到 RKE 2 时需要考虑的因素和采取的措施。

RKE 1 上的 Windows 容器演进


Rancher 2.3 版本首次通过 RKE 1 支持 Windows 容器 (https://github.com/rancher/rancher/releases/tag/v2.3.0)。 


在 RKE 1 上,Windows 容器采用 Docker EE 运行时,该运行时通过 Microsoft 和 Docker 的合作已内置到 Windows Server 2016 及更高的版本中。 


通过 RKE 1,Rancher 用户可为 Windows 工作负载指定一个集群,作为自定义集群配置的一部分。然后,将污点和容忍度应用于节点上,从而将 Windows 工作负载调度到合适的节点上。 


这些特殊的 Windows 集群无法转换为 Linux 集群,也无法轻松运行 Linux 和 Windows 混合工作负载。 


这是在 Rancher 上支持 Windows 容器重要的第一步,但对于 Windows 和 Linux 节点同时运行的混合操作系统生态,这种方法有很多局限性。 


这就需要一个新的方法。

在 RKE 2 上运行 Windows 容器


Rancher 2.6.0 技术预览版首次在 RKE 2 上推出了 Windows 容器 (https://github.com/rancher/rancher/releases/tag/v2.6.0)。 

RKE 2 上的 Windows 容器由 containerd 运行时和 Calico CNI 提供支持,首次为 Rancher 上的 Windows 容器启用网络策略。 


RKE 2 上的 Windows 容器还推出了一种新的集群配置架构模型,适用于混合 Linux 和 Windows 集群。这种新模型放弃了特定于 Windows 的集群以及对污点和容忍度的使用限制。 


RKE 2 上的 Windows 容器采用了更具适应性、更动态的集群配置方法。RKE 2 采用 nodeSelector 标签在适当的 OS 节点上调度工作负载,配置时不再需要声明 Windows 集群,也不仅限于运行 Windows 工作负载。 


通过这种新模型,用户能够更灵活地将 Linux 和 Windows 工作负载一起部署到同一个集群上。例如,在单个集群中,用户现在可以在 Windows 节点上部署完整的 .NET 框架应用,并在 Linux 节点上部署 SQL Server,而且规划和配置更加简单。

RKE 2 上的 Windows 容器发展


在 Rancher 2.6.4 版本(Rancher 的最新版本)中,RKE 2 上的 Windows 容器也将 GA,它将超越 RKE 1 上的 Windows 容器,为 Rancher 上的 Windows 和 Linux 容器提供更加对等的功能。 


Rancher 的 Windows 团队一直在开放状态下进行开发(https://github.com/rancher/windows/projects),过程完全透明。 


RKE 2 上的 Windows 容器支持 Windows Server 2019 和 Windows Server 2022,这两项都是 Windows Server 的 LTSC 分支。 


对于 RKE 1 上的 Windows 容器,用户升级时需考虑许多重要因素。

弃用 Windows Server 上的 Docker EE


自 2022 年 9 月起,Microsoft 将不再支持 Docker EE (https://techcommunity.microsoft.com/t5/containers/updates-to-the-windows-container-runtime-support/ba-p/2788799)。届时,客户需要寻找另一个容器运行时解决方案,例如 Rancher 提供的基于 containerd RKE 2。 


一直到 2022 年 9 月,Microsoft 都将为 Mirantis 容器运行时提供临时支持,作为 Docker EE 的临时替代。9 月之后,客户需要签署 Mirantis 容器运行时相关付费协议。这意味着 RKE 1 上的 Windows 容器用户需要支付额外的费用。对于在 Mirantis 容器运行时上部署的工作负载,Rancher 无法提供完整的全栈支持。 


SUSE Rancher 建议用户开始向自带 containerd 运行时的基于 RKE 2 的 Windows 容器过渡。客户应尽快开始在 2.6.0+ 版本中对基于 RKE2 的 Windows 容器进行工作负载测试,以免 2022 年 9 月过后还需要单独购买 Mirantis 支持协议。 


在技术预览阶段,如果用户在测试 RKE 2 上的 Windows 容器时遇到问题,可在 Rancher Windows GitHub 中提出 (https://github.com/rancher/windows/issues)。 


2022 年 3 月底该功能 GA 后,官方将为 RKE 2 上的 Windows 容器提供支持,但客户现在就可开始测试。

从 RKE 1 升级到 RKE 2


RKE 1 中采用的是配置 Windows 专用集群的方法,而 RKE 2 则采用了更为自由的混合操作系统集群,因此,RKE 1 上的 Windows 容器无法直接迁移到 RKE 2。 


SUSE Rancher 建议,客户在 RKE 2 技术预览版中测试 Windows 容器上的工作负载时,需开始规划使用 Fleet 重构 RKE 2 上的 Windows 工作负载 (https://fleet.rancher.io/)。Fleet 是 Rancher 的 GitOps 解决方案,现在可以直接集成到 Rancher 中,并支持 Windows 容器。 


了解更多,请参考:https://github.com/rancher/windows/issues/150

2022 年 4 月 07 日 10:252128

评论

发布
暂无评论
发现更多内容

高手和普通人的差距,不看不知道,一看吓一跳

熊斌

学习

ELF文件格式

韩超

NVidia Docker介绍

薛磊

Docker

Docker Swarm 踩坑

Steve

Docker Docker Swarm 技术 容器 踩坑

自动驾驶复苏在2020

陈思

人工智能 自动驾驶

服务降级的常见套路

松花皮蛋me

Java

从西游到武侠——确定性与不确定性

伯薇

个人成长 管理 确定性 不确定性

微服务架构深度解析与最佳实践-第一部分

kimmking

微服务 最佳实践 深度解析 高可用

开源这件事儿,越来越“声势浩大”了

赵钰莹

Apache GitHub 阿里巴巴 开源 腾讯

聊聊分心这件事

Jackey

Kylin 实时流处理技术探秘.笔记

迹_Jason

大数据

Gitlab CI/CD 中的 Cache 机制

Chong

DevOps gitlab cicd

3000w人民币的学费——我的决策反思

孤岛旭日

数据中台 架构 中台 企业中台 企业架构

NVidia-Docker2 性能优化

薛磊

Docker gpu nvidia container

中台之路,从平台到中台的思考与实践(一)

孤岛旭日

架构 中台 企业中台 企业架构

程序员通过哪些方式来赚钱?

一尘观世界

程序员 外包 自由职业 副业 赚钱

人间至味——苦瓜

三只猫

人生 美食 生活

redis数据结构介绍-第一部分 SDS,链表,字典

Nick

redis 源码 数据结构 源码分析 算法

我使用了哪些生产力工具?

Steve

效率工具 软件 Alfred Notion 推荐

Doris 一种实时多维分析的解决方案

迹_Jason

大数据

苏宁云商向江旭:是时候让技术成为新司机了!

TGO鲲鹏会

百度主任架构师谭待:打造非职权技术管理机制

TGO鲲鹏会

字节跳动的增长密码

池建强

字节跳动 张一鸣

[KubeFlow] MPI-Operator深度解读

薛磊

Docker gpu kubeflow Kubernetes

【JAVA】感受下JDK14的空指针提示

遇见

Java jdk jep

纯技术改造,技术如何驱动需求,我有话说

一叶而不知秋

项目管理 架构 技术

基于RocketMQ实现分布式事务 - 完整示例

清幽之地

Java 分布式事务 RocketMQ 微服务

中台之路,从平台到中台的思考与实践(二)

孤岛旭日

架构 中台 企业中台 企业架构

面试官,不要再问我三次握手和四次挥手

猿人谷

面试 TCP 三次握手 四次挥手

特定系统的Linux的构建

韩超

Linux的proc文件系统编程

韩超

GPU容器虚拟化:用户态和内核态的技术和实践详解

GPU容器虚拟化:用户态和内核态的技术和实践详解

Windows 容器在 Rancher 上的未来发展_架构_Hayden Barnes_InfoQ精选文章