阿里云容器服务ACK发布Windows Container支持,让Windows应用快速上云

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
简介: 阿里云容器服务已正式发布Windows Container支持,用户可通过控制台或Open API创建Windows Kubernetes集群并部署Windows容器,目前已开放新加坡、吉隆坡等区域,近期计划在所有托管版中全域支持。

阿里云容器服务已正式发布Windows Container支持,用户可通过控制台或Open API创建Windows Kubernetes集群并部署Windows容器,目前已开放新加坡、吉隆坡等区域,近期计划在所有托管版中全域支持。

在现今企业服务器OS市场,Windows依然占据半壁江山,其市场分额达60%之多,把Windows应用搬站上云不仅仅是基础设施的迁移,更重要的是通过Kubernetes等云原生技术让传统的Windows应用架构体系升级,充分利用云上的弹性、敏捷等能力,实现业务应用的快速迭代和交付。

image

阿里云容器服务ACK通过Windows容器的支持,帮助企业轻松实现Windows容器应用的部署,其兼容kubernetes标准,支持cpu/memory资源编排,支持deployment/statefulset/job/cronjob等应用部署模型。同时用户可以添加Linux节点,实现Linux/Windows应用混合部署的统一管理。

image

下面我们一起体验下如何创建Windows集群和部署示例应用。

1. 登陆ACK控制台创建Windows集群

登陆ACK控制台:https://cs.console.aliyun.com/,选择新加坡Region,节点类型选择Windows
image

image

创建集群后,等待约10分钟,集群创建成功。
image

进入Deployment页面,可以看到kube-system命名空间下已经默认安装了coredns addon,提供集群内的服务发现能力。
image

我们也可选择通过Cloudshell中的kubectl命令操作集群:
image

2. 部署Windows Web Server示例应用

登陆控制台使用模版创建aspnet的deployment和service(也可通过控制台分别创建各资源)。
image

拷贝yaml到编辑页面:
image

yaml文件如下:

apiVersion: v1
kind: Service
metadata:
  name: aspnet-svc
spec:
  ports:
    - port: 80
      protocol: TCP
      targetPort: 80
  selector:
    app: aspnet
  type: LoadBalancer
---
apiVersion: apps/v1beta2
kind: Deployment
metadata:
  name: aspnet
spec:
  selector:
    matchLabels:
      app: aspnet
  template:
    metadata:
      labels:
        app: aspnet
    spec:
      containers:
        - image: 'microsoft/dotnet-samples:aspnetapp'
          name: aspnet

创建成功后查看deployment:
image

查看容器组pod:
image

在容器组页面也可查看pod的事件和日志。

查看创建的服务Service,以及暴露的公网SLB访问地址:
image

点击公网IP地址,即可访问aspnet服务。

请注意,目前只支持Windows Server 2019 (1809),这也是官方唯一支持的windows版本,所以Windows容器镜像需要基于1809基础镜像构建,否则容器可能无法在Windows节点中正常运行。

3. 集群扩容(添加Windows节点)

在ACK集群控制台点击“集群扩容”就可以灵活的添加更多节点:
image

4. 添加Linux节点(实现混合节点集群)

ACK Windows集群支持用户手动添加Linux节点,从而实现Linux节点和Windows节点的混合部署,在集群中可以灵活部署Linux相关的服务,提供更强大的集群应用扩展和定制能力。

Windows节点中的pod与Linux节点中的pod可以互联互通,Service访问也一切正常。

通过Linux节点的加入,可以弥补Windows容器的一些限制,比如在Windows集群中部署Helm Tiller比较有困难,我们可以添加一个Linux节点,把Tiller部署在Linux节点上, 这样就可以无缝安装各种Windows的Helm Chart。同理,对于很多比较难以改造成Windows版本的容器应用服务,都可以采用添加Linux节点的方式解决,比如nginx-ingress-controller,Istio等。

注意:当集群中同时包含Linux和Windows节点时,需要通过nodeSelector决定pod的调度节点:
Linux nodeSelector:

beta.kubernetes.io/os: linux

Windows nodeSelector:

beta.kubernetes.io/os: windows

5. Windows Container的使用约束

  • 镜像的版本需要与Windows build号(当前为1809)保持一致
  • 暂时不支持Host Network

6. 更多支持计划

我们将会为Windows集群持续添加更多功能,与阿里云生态深度集成,完善和优化Windows容器应用的云上部署体验,打造稳定安全的Windows容器云上基础设施。欢迎使用。

相关实践学习
巧用云服务器ECS制作节日贺卡
本场景带您体验如何在一台CentOS 7操作系统的ECS实例上,通过搭建web服务器,上传源码到web容器,制作节日贺卡网页。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
目录
相关文章
|
15天前
|
弹性计算 人工智能 Serverless
阿里云ACK One:注册集群云上节点池(CPU/GPU)自动弹性伸缩,助力企业业务高效扩展
在当今数字化时代,企业业务的快速增长对IT基础设施提出了更高要求。然而,传统IDC数据中心却在业务存在扩容慢、缩容难等问题。为此,阿里云推出ACK One注册集群架构,通过云上节点池(CPU/GPU)自动弹性伸缩等特性,为企业带来全新突破。
|
1月前
|
专有云 Serverless 持续交付
亚太唯一,阿里云再度入选Gartner®容器管理魔力象限领导者
Gartner正式发布 2024《容器管理魔力象限》报告,阿里云再度成为中国唯一一家入选「领导者象限」的科技公司。
|
5天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
5天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
7天前
|
运维 开发者 Docker
Docker Compose:简化容器化应用的部署与管理
Docker Compose:简化容器化应用的部署与管理
|
13天前
|
JavaScript 持续交付 Docker
解锁新技能:Docker容器化部署在微服务架构中的应用
【10月更文挑战第29天】在数字化转型中,微服务架构因灵活性和可扩展性成为企业首选。Docker容器化技术为微服务的部署和管理带来革命性变化。本文探讨Docker在微服务架构中的应用,包括隔离性、可移植性、扩展性、版本控制等方面,并提供代码示例。
51 1
|
27天前
|
人工智能 专有云 Serverless
亚太唯一!阿里云再度入选Gartner®容器管理魔力象限领导者
亚太唯一!阿里云再度入选Gartner®容器管理魔力象限领导者
104 2
|
7天前
|
前端开发 开发者 Docker
深入探索Docker Compose:简化多容器应用的部署
深入探索Docker Compose:简化多容器应用的部署
27 0
|
28天前
|
运维 JavaScript Linux
容器内的Nodejs应用如何获取宿主机的基础信息-系统、内存、cpu、启动时间,以及一个df -h的坑
本文介绍了如何在Docker容器内的Node.js应用中获取宿主机的基础信息,包括系统信息、内存使用情况、磁盘空间和启动时间等。核心思路是将宿主机的根目录挂载到容器,但需注意权限和安全问题。文章还提到了使用`df -P`替代`df -h`以获得一致性输出,避免解析错误。
|
30天前
|
XML Java 数据格式
Spring IOC容器的深度解析及实战应用
【10月更文挑战第14天】在软件工程中,随着系统规模的扩大,对象间的依赖关系变得越来越复杂,这导致了系统的高耦合度,增加了开发和维护的难度。为解决这一问题,Michael Mattson在1996年提出了IOC(Inversion of Control,控制反转)理论,旨在降低对象间的耦合度,提高系统的灵活性和可维护性。Spring框架正是基于这一理论,通过IOC容器实现了对象间的依赖注入和生命周期管理。
65 0

相关产品

  • 容器服务Kubernetes版