轻松进入AKS中的Windows Server容器

在大规模构建分布式应用程序时,容器已成为逻辑部署工具。 它们使您可以在服务级别包装代码,从而使应用程序与其数据分开。 部署后,编排工具(例如Kubernetes)将管理扩展,监视CPU和内存使用情况以及根据需要部署新的容器实例。

从本质上讲,这是一种考虑代码的相对简单的方法。 但是,实际上,有许多配置工作需要完成:了解如何对代码进行分区,定义容器和服务的正确逻辑分组,在容器部署与外部存储之间建立链接,并确保正确处理了所有内容。 当然,其中很多都是由Kubernetes控制的,但这意味着要深入了解其配置并创建适当的YAML配置文件。

[您准备好入侵容器了吗? 了解如何使用Kubernetes入门 •到底什么是Kubernetes | 通过InfoWorld的云计算新闻通讯了解云计算的最新发展。 ]

介绍AKS

有了所有这些YAML,亲自运行Kubernetes并不是特别容易。 设计吊舱和规则并设置更高级别的监视时,需要考虑很多因素。 您需要定义节点,设置主节点并管理整个分布式基础架构。 这就是AKS(Azure Kubernetes服务)的引入 。这是将Kubernetes的大部分管理移交给Azure的一种方式。 您所需要做的就是定义您的节点,AKS完成其余的工作。 您只需为代码使用的计算资源付费,而不必担心运行主服务器,而只需担心代理节点。

结果是使用Kubernetes的一种更轻量的方法。 您仍在使用香草Kubernetes,因此Helm和Terraform等工具可以与AKS一起愉快地工作。 微软没有提供任何支持。 它采用标准的Kubernetes版本并添加了管理层,将基于角色的访问控制与Azure Active Directory集成在一起,并将Kubernetes日志传递到Azure Monitor,以通过Azure Log Analytics进行访问。

对于公共云上的大规模服务而言,令人惊讶的是,AKS不会明显落后于公共Kubernetes发行版。 当前版本的AKS 已经支持Kubernetes v1.14 ,这是一个重要的版本,最终为Windows节点和容器提供了生产级别的支持 。 到目前为止,所有AKS工作负载都需要使用Linux容器基于Linux。 现在,由于与Microsoft一起开发了改进的Windows容器运行时,因此Kubernetes支持Windows工作负载。

AKS和Windows Server容器入门

这些新功能的AKS支持目前仅作为预览提供 。 如果要在Azure的Windows Server VM上构建和运行微服务,则这些新的AKS功能可能是获取该代码并使之水平可伸缩的最佳途径。 现在,您可以选择混合和匹配同一Kubernetes群集中的Windows和Linux容器,并使用每种操作系统的最佳功能。

使用Windows Server容器站起来的AKS群集不需要任何新技能。 如果您已经建立了一个基于Linux的集群, 那么您应该发现该过程非常熟悉 。 Azure CLI包含您所需的大多数工具,这些工具可以在开发PC上本地运行,也可以使用Azure门户内置的Cloud Shell。

由于在公共预览中支持Windows Server容器,因此您需要通过启用或更新aks-preview扩展来添加对Azure CLI中新功能的支持。 然后,您需要在订阅中注册WindowsPreview标志,并将它们添加到Microsoft.ContainerService命名空间。 启用这些标志后,所有新的AKS群集都将支持Windows Server容器。 如果您不希望在生产帐户中使用此功能,请将其与开发或测试订阅一起使用,以确保它满足您的要求,然后再将功能添加到生产Azure帐户中。

在Azure帐户中配置对AKS预览的支持后,就可以开始为Windows Server容器构建群集。 使用标准的AKS create命令,使用Kubernetes 1.13.5或1.14.0定义一个群集,该群集包括对Azure网络和监视功能的支持。

将Windows节点池添加到AKS群集

Azure将创建一个具有初始Linux节点池的群集,因此您必须专门为Windows Server容器添加另一个。 这可以使用aks nodepool命令将操作系统类型设置为Windows来完成。 这将使用Standard D2s v3虚拟机作为主机来创建节点池。 您可以使用node-vm-size参数选择备用VM,但默认值为建议的最小大小。

在Windows节点池就位之后,您可以开始添加容器。 最初,这需要使用Kubernetes自己的命令行工具kubectl。 如果您使用的是Cloud Shell,则表示它已预先安装。 否则,您需要使用AKS install-cli命令将其添加到本地Azure CLI。 然后,您将配置kubectl以使用您的帐户,然后再获取AKS集群中节点的详细信息。 您应该看到两个:默认的Linux节点池和添加的Windows节点池。

安装第一个Windows Server容器

Microsoft的预览文档包括一个示例YAML文件,用于将简单的ASP.Net应用程序容器添加到群集中。 通过选择Windows节点,它将自动将Windows Server容器从Azure容器注册表中部署到您的群集中,并设置Kubernetes控制的扩展的CPU和内存限制。 部署后,AKS将为服务负载均衡器分配一个外部IP,您可以从kubectl的get service命令获得该IP。 拥有IP地址后,您可以从任何Web浏览器快速测试Windows Server容器。

该示例服务突出显示了Azure上Kubernetes中Windows Server容器支持的另一个好处,因为您可以使用Azure容器注册表来管理容器基础映像。 如果使用CI / CD管道(例如Azure DevOps)进行源代码控制和代码编译,则ACR成为应用程序打包过程的一部分,在将容器映像复制到正在部署应用程序的任何Azure区域之前,先获取容器映像部署,并在AKS站起其他节点时使交付新容器实例变得更加容易。

在示例服务启动并运行后,您可以使用相同的过程将自己的容器映像添加到AKS。 操作Windows Server容器应该与操作Linux容器相同。 底层容器操作系统是不同的,不是AKS或Kubernetes,甚至不是Azure的网络功能。 这是一个很大的好处:在AKS中使用Windows不需要新技能,并且可以通过在AKS应用程序中混合和匹配Windows和Linux服务来使用它来快速扩展现有应用程序。

From: https://www.infoworld.com/article/3396658/windows-server-containers-in-azure-kubernetes-service.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值