设置 Azure 容器应用
在本单元中,你将了解如何使用 Azure CLI 创建 Azure 容器应用环境和 Azure for PostgreSQL 数据库。 然后配置 Quarkus 应用程序,使其连接到远程数据库而不是本地数据库。
多个目标可用于在 Azure 上部署 Quarkus 应用程序,范围从 IaaS 到 FaaS。 Azure 容器应用 位于 PaaS 和 FaaS 之间。 它更像是 PaaS,因为它不会强制你进入特定的编程模型,你可以控制横向扩展和缩减的规则。 另一方面,它具有一些无服务器特征,例如缩放到零、事件驱动的缩放和每秒定价模型。
容器应用基于 Azure Kubernetes 服务 (AKS)构建。 它包括与 KEDA (Kubernetes 的事件驱动自动缩放)、 Dapr (分布式应用程序运行时)和 Envoy (专为云原生应用程序设计的服务代理)的深度集成。 基础复杂性是抽象的,因此无需配置 Kubernetes 服务、部署、入口或卷清单。 获取一个简单的 API 和用户界面来配置容器化应用程序。 由于这种简化,你拥有的控制权比 AKS 少。
在容器应用中,应用程序需要打包到 Docker 容器中。 容器应用支持使用 Dockerfiles 或 Jib 生成的 Docker 容器。 容器需要在容器注册表上可用。 容器应用支持 Azure 容器注册表、Docker 中心和 GitHub 容器注册表。 在注册表中提供应用程序映像后,容器应用支持从 Azure 门户、Azure CLI、GitHub Actions 和 Azure DevOps 进行部署。
容器应用提供以下功能。
- 修订:自动版本控制,可帮助你管理容器应用的应用程序生命周期。
- 流量控制:能够将传入的 HTTP 流量分配到多个修订版本,用于蓝/绿部署和 A/B 测试。
- 入口:简单的 HTTPS 入口配置。 无需担心 DNS 或证书。
- 自动缩放:通过 KEDA 支持的缩放触发器,根据外部指标对您的应用进行缩放。
- 机密:在容器、缩放规则和 Dapr 挎斗之间共享的机密。
- 监视:标准输出和错误流会自动写入 Log Analytics。
- Dapr:容器应用的 Dapr 集成。 使用简单标志启用此集成。
在下一个练习中,你将了解以下概念。
- 环境:围绕一组容器应用增强的安全边界。 这些应用部署在单个虚拟网络中,可以轻松地相互通信,并将日志写入单个 Log Analytics 工作区。 环境可与 Kubernetes 命名空间进行比较。
- 容器应用:一起部署和缩放的一组容器 (Pod)。 它们共享单个磁盘空间和网络。
- 修订:容器应用的不可变快照。 新修订是自动创建的,对于 HTTP 流量重定向策略(如 A/B 测试)非常有用。
现在,你将创建一个容器应用环境,了解这些元素的工作原理。