一,引言
容器技术正日益成为打包、部署应用程序的第一选择。Azure 提供了许多使用容器的选项。例如,我们可以使用 Azure 容器注册表来存储和管理 Docker Images。Azure Container Instance 或 Azure 应用服务可用于运行隔离容器。对于需要完整容器编排、自动缩放和服务发现的更复杂的场景,Azure Kubernetes 服务是一个很好的选择。问题是,Azure Kubernetes 虽然是托管的,但 用起来还是有些困难,开发人员必须得学习掌握一些运维知识。
2021年,Azure 提出了新服务 Azure Container App。该服务旨在减少构建 AKS 应用程序所需的知识和配置量,从而可能降低解决方案成本并加快上市时间。
-------------------- 我是分割线 --------------------
1,Azure Container App(一)应用介绍
二,正文
1,什么是 Azure Container App ??
Azure Container App 提供位于 AKS 服务之上的无服务器托管服务,允许您部署多个容器而无需处理底层基础结构。事实上,Azure Container App 甚至不向用户公开 Kubernetes API。
当我们在 Azure Container App中部署或更改容器时,该服务将自动创建应用程序的快照-----修订版,并在一个 pod 中运行它的容器。就像在 Azure Kubernetes 中一样,这些容器共享相同的应用程序生命周期、网络和磁盘。它们可以相互交流。此外,由于它与基于 Kubernetes 的事件驱动自动缩放的集成,该服务将根据 HTTP 并发请求数等指标自动增加/减少(不支持垂直缩放)与修订相关的 Pod 数量和内存使用。作为节省一些费用上开支,我们还可以将最小副本数设置为 0。如果应用程序没有请求,该服务会将活动 pod 的数量缩减为 0,我们无需支付任何费用。
同时多个 Azure Container App 也可以部署到单个环境中。通过这样做,它们将被置于同一个虚拟网络下并与外界隔离。为了提供监视功能,每个环境都有自己的 Log Analytics 工作区,该工作区与其中的 Azure Container App共享。对于熟悉 Kubernetes 的人来说,我们可以将 Azure Container App Environment 视为 Kubernetes Namespace,将 Azure Container App Revision 视为 Kubernetes Deployment。
最后就是,Azure Container App 将可用选项减少为一个简单的入口切换,一旦启用,它就会提供 HTTPS 入口和完全限定域名 (FQDN)。
2,修改
当我们在 Azure Container App 中部署或更改容器时,该服务会自动获取 Azure Container Instance 的不可变快照。然后它在一个单独的 pod 上部署一个新版本。但是,并非所有更改都会触发此行为。在 Azure Container App 中,我们可以区分两种类型的更改:
1)修订范围更改。
2)应用范围的变化。
当我们创建新版本时,旧版本的流量会完全转移到新版本。我们可以使用流量拆分规则来定义它们之间的流量平衡方式。这些包括将一定比例的流量引导到特定的修订版。
3,和 Dapr 集成
Azure Container App 提供与开源项目 Dapr(分布式应用程序运行时)的内置兼容性。启用后,Dapr 应用程序将与我们修订版一起部署,通过 HTTP 或 gRPC 提供对 Dapr API 提供的功能的访问。
三,结尾
相对于操作有些复杂的 Azure Kubernetes 和昂贵的使用的定价,Azure Container App 这项服务变得越来越流行。目前,该服务作为公共预览版提供,因此我们已经可以开始使用它了。
参考链接:Azure 容器注册表,Azure 容器实例,Azure Kubernetes
作者:Allen
版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。