将 Azure Kubernetes 与 Oracle Database@Azure 上的 Oracle Exadata Database Service 连接
使用须知
要利用此引用体系结构,需要以下各项:
- Microsoft Azure Kubernetes 服务 (AKS)
- 部署 AKS 集群
- 使用以下内容配置 Oracle Database@Azure :
- 访问 Azure 订阅和目录
- 访问 OCI 租户
- Azure 和 Oracle 云之间的主动 Oracle Database@Azure 多云链接
- 在 OCI 菜单中,单击监管和管理。
- 在 "Tenancy Management" 下,单击 Limits,Quotas and Usage 。
- 从“服务”下拉菜单中,选择数据库。
体系结构
Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化工作负载和服务,可促进声明式配置和自动化。Kubernetes 被认为是云原生计算的基石技术,拥有庞大且快速发展的生态系统。Kubernetes 服务、支持和工具广泛可用。
在此架构中,AKS 中的容器化应用位于其自己的应用子网中。Kubernetes 集群可以包含多个云池,每个云池都连接到各自的 Oracle 可插入数据库 (PDB)。主数据库中的 PDB 部署在 Oracle Database@Azure 上,该 PDB 在 Azure 可用性区域的 Oracle Exadata Database Service on Dedicated Infrastructure 上运行。容器映像存储在 Azure 容器注册表中。用户通过公共负载平衡器对应用程序进行外部访问。
云自动化可简化 Oracle Exadata 基础设施和 Oracle 多租户数据库(CDB 和 PDB)的大多数生命周期和管理任务。例如,添加服务器并纵向扩展和收缩 OCPU、创建数据库和数据库主目录、安排基础结构维护、更新和升级 VM 操作系统、网格基础结构和数据库、执行备份和恢复操作,甚至通过 Oracle Data Guard 启用灾难恢复保护。
下图说明了此引用体系结构。

插图 azure-kube-exadata-db.png 的说明
azure-kube-exadata-db-oracle.zip
该体系结构包含以下组件:
- 区域
Oracle Cloud Infrastructure 区域是包含一个或多个数据中心(称为可用性域)的本地化地理区域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。
Azure 区域是指一个或多个物理 Azure 数据中心(称为可用性区域)所在的地理区域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。
Azure 和 OCI 区域是本地化的地理区域。对于 Oracle Database@Azure ,Azure 区域连接到 OCI 区域,Azure 中的可用性区域 (AZ) 连接到 OCI 中的可用性域 (AD)。选择 Azure 和 OCI 区域对以尽可能减少距离和延迟。
- Azure 可用性区域
可用性区域是区域中的物理上独立的数据中心,设计为具有容错能力。可用性区域足够近,可以与其他可用性区域建立低延迟连接。
子网委派是 Microsoft 直接将托管服务(特别是平台即服务服务)注入到虚拟网络中的功能。
- Microsoft Azure 虚拟网络
Microsoft Azure Virtual Network (VNet) 是 Azure 中专用网络的基础构建块。VNet 支持多种类型的 Azure 资源,例如 Azure 虚拟机 (VM),可以安全地相互通信,包括互联网和内部部署网络。
子网委派是 Microsoft 直接将托管服务(特别是平台即服务服务)注入到虚拟网络中的功能。
- 专用基础结构上的 Exadata 数据库服务
Oracle Exadata Database Service 在公有云中专门构建、优化的 Oracle Exadata Cloud Infrastructure 上提供经过验证的 Oracle Database 功能。内置的云自动化、弹性资源扩展、安全性和快速性能,适用于 OLTP、内存中分析和融合 Oracle Database 工作负载,可帮助简化管理和降低成本。
Oracle Exadata Cloud Infrastructure 可为公有云提供更多 CPU 核心、更高的存储和更快的网络架构。Oracle Exadata 存储服务器包括 Exadata RDMA 内存 (XRMEM),可创建额外的存储层,从而提高整体系统性能。Exadata 将 XRMEM 与创新的 RDMA 算法相结合,可以绕过网络和 I/O 堆栈,从而消除昂贵的 CPU 中断和上下文切换。
Oracle Exadata Cloud Infrastructure 可提高 100 Gbps 主动 - 主动基于融合以太网的远程直接内存访问 (RoCE) 内部网络结构的吞吐量,提供比前几代更快的互连,并在所有计算和存储服务器之间实现极低的延迟。
- Oracle Database Autonomous Recovery Service
Oracle Database Autonomous Recovery Service 是一项全托管式服务,旨在保护 Oracle 数据库免受数据丢失和网络威胁的影响。它提供更快的备份,降低数据库开销,通过经过验证的备份进行可靠的恢复,并实现实时保护,可在停机或勒索软件攻击不到一秒的时间内恢复。此服务提供集中式数据保护仪表盘,建议用于备份 Oracle 数据库。
- Azure Kubernetes 服务
Azure Kubernetes Service (AKS) 是 Microsoft Azure 提供的托管 Kubernetes 服务,用于部署和管理容器化应用程序。一个 Kubernetes 集群可以包含多个 pod。
- Oracle Database@Azure
Oracle Database@Azure 是部署在 Microsoft Azure 数据中心的 Oracle Cloud Infrastructure (OCI) 上运行的 Oracle Database 服务(Oracle Exadata Database Service on Dedicated Infrastructure 和 Oracle Autonomous Database Serverless )。该服务提供与 OCI 的功能和价格均衡,用户可在 Azure Marketplace 上购买该服务。
Oracle Database@Azure 将 Oracle Exadata Database Service 、Oracle Real Application Clusters (Oracle RAC) 和 Oracle Data Guard 技术集成到 Azure 平台中。用户使用 Azure 控制台和 Azure 自动化工具管理服务。该服务部署在 Azure 虚拟网络 (VNet) 中,并与 Azure 身份和访问管理系统集成。OCI 和 Oracle Database 通用指标和审计日志在 Azure 中原生可用。该服务要求用户具有 Azure 订阅和 OCI 租户。Oracle Autonomous Database 基于 Oracle Exadata Cloud Infrastructure 构建,具有自我管理、自我保护和自我修复功能,可帮助消除手动数据库管理和人为错误。Autonomous Database 支持您使用内置 AI 功能,选择大型语言模型 (LLM) 和部署位置,使用任意数据开发可扩展的 AI 应用。
Oracle Exadata Database Service 和 Oracle Autonomous Database Serverless 均可通过原生 Azure 门户轻松预配,从而访问更广泛的 Azure 生态系统。
客户的商业利益包括使用 Azure 承诺 (MACC) 来采购 Oracle Exadata Database Service 、 OCI Object Storage 和 Oracle Cloud Infrastructure Networking 数据传输费用。您可以将现有的 Oracle 许可证(包括 BYOL)以及包含的许可证、协作式支持模型和 Microsoft Azure Marketplace 中的采购,所有这些都以统一账单的形式提供。
- 控制平台
Kubernetes 控制层管理 Kubernetes 集群中 worker 节点和 pod 的资源。控制层组件检测和响应事件、执行调度和移动群集资源。
- 对象存储
通过 OCI 对象存储,您可以快速访问任何内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据和丰富的内容,例如图像和视频。您可以直接从互联网或云平台安全地存储数据。您可以在不降低性能或服务可靠性的情况下扩展存储。
将标准存储用于需要快速、立即和频繁访问的“热”存储。将归档存储用于长期保留、很少访问或很少访问的“冷”存储。
- 服务网关
通过服务网关,您可以从 VCN 访问其他服务,例如 Oracle Cloud Infrastructure Object Storage 。从 VCN 到 Oracle 服务的流量通过 Oracle 网络结构传输,不会通过互联网传输。
注意事项
部署此引用体系结构时,请考虑以下事项。
- 更新 YAML 文件
使用连接字符串更新 Azure Kubernetes 服务部署的 YAML 文件。您可以在 OCI 控制台中找到与数据库的连接字符串。
- 性能
-
建议使用 Oracle 多租户架构来构建微服务架构的持久层,实现数据边界上下文隔离、安全性和高可用性。
使用 Oracle 多租户体系结构,Oracle Database 可以充当包含多个可插入数据库 (PDB) 的容器数据库 (Container Database,CDB)。这使具有各种数据类型和工作负载的微服务能够使用单个融合容器数据库。通过利用 PDB,Oracle 可以在 CDB 中提供隔离的微服务数据库,并允许在物理容器之间移动 PDB。微服务可以连接到在 Oracle Exadata Database Service on Dedicated Infrastructure 上运行的 Oracle Database 实例。
-
- 安全
- 考虑使用 Vault,例如 Azure Key Vault,而不是将连接字符串密码和 Wallet(如果适用)存储在 Azure Kubernetes 服务的 Kubernetes 密钥中。
- 网络
-
至少需要一个具有委派子网的 Oracle Database 网络附加的 Azure 虚拟网络 (VNet)。
-
考虑在同一 VNet 中部署 Microsoft Azure Kubernetes 服务子网和 Oracle Exadata Database Service VM 集群客户端子网。
-
- 可用性
-
考虑使用和配置通用连接池 (Universal Connection Pool,UCP)、Oracle JDBC Driver 和 Oracle Real Application Clusters (Oracle RAC) ,以利用 Oracle Database 的高可用性 (High Availability,HA) 功能在计划内和计划外停机期间提供连续服务,从而保持应用的持续可用性。
UCP 支持所有 Oracle Database 配置和任务关键型功能(可用性、可扩展性和负载平衡),包括 Oracle RAC 、Oracle Data Guard 、Oracle Sharding、异步 API、运行时负载平衡、XA、应用程序连续性、Transaction Guard、透明应用程序故障转移、单客户机访问名称 (SCAN) 和前端到数据库驻留连接池 (DRCP)。对于 Oracle RAC 系统,可以从多个服务器节点平均访问任何 Oracle 数据库服务。如果某个节点或 Oracle RAC 群集的子集发生故障或脱机进行维护,则仍可通过剩余的活动节点访问数据库。
-
以下是使用 Oracle Database 实现应用高可用性所需的构建块:
- 使用数据库服务
- 配置 URL 或连接字符串以实现高可用性
- 启用快速应用程序通知 (FAN)
- 为 Java 应用实现精简和持续的数据库可用性
-
考虑按照建议使用 Oracle Database Autonomous Recovery Service 作为 Oracle Database 的备份目标。
以下是用于存储备份的两个可用选项:在 Oracle Exadata Database Service 所在的同一 Azure 区域中,或与 Azure 区域关联的默认 OCI 区域中。
-