博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
阿里云容器服务ACK发布Windows Container支持,让Windows应用快速上云 ...
阅读量:6442 次
发布时间:2019-06-23

本文共 2173 字,大约阅读时间需要 7 分钟。

阿里云容器服务已正式发布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控制台:,选择新加坡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: v1kind: Servicemetadata:  name: aspnet-svcspec:  ports:    - port: 80      protocol: TCP      targetPort: 80  selector:    app: aspnet  type: LoadBalancer---apiVersion: apps/v1beta2kind: Deploymentmetadata:  name: aspnetspec:  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容器云上基础设施。欢迎使用。

转载地址:http://kicwo.baihongyu.com/

你可能感兴趣的文章
ARM | STM32F10xxx课堂学习笔记(时钟 & 高级控制定时器)
查看>>
RocketMQ源码分析之RocketMQ事务消息实现原理上篇(二阶段提交)
查看>>
Sublime Configuration
查看>>
Docker网络
查看>>
移植ijkplayer播放器到windows平台(附源码)
查看>>
KNN实现手写数字识别
查看>>
生物智能与AI——关乎创造、关乎理解(上)
查看>>
《人月神话》(P13)整体和部分
查看>>
Chrome OS 将引入虚拟桌面功能
查看>>
Angular的侦察兵:$watch()和$observe()
查看>>
无需标注,这个AI能在大量数据中一眼识别欺诈攻击
查看>>
【许晓笛】 EOS 智能合约案例解析(2)
查看>>
ThinkCMF 5.0.190312 正式版,包含安全更新!
查看>>
Semi迎来重要试驾客户,特斯拉致力于将其推向市场
查看>>
「镁客早报」美国初创公司Rocket Lab完成发射一箭六星商业任务;工信部表示:6G概念研究将于今年启动...
查看>>
net core 程序docker打包镜像并发布到官方store
查看>>
开发者
查看>>
年薪80w的阿里P7专家,顶尖的技术人才,只因做到了这几点
查看>>
LeakCanary源码分析
查看>>
Kickstart安装
查看>>