使用基于 Kubernetes 的工具部署和管理高可用性的 Autonomous Database
管理员通常使用 Oracle Cloud Infrastructure (OCI) 控制台来管理 Oracle Autonomous Transaction Processing (ATP),但是这会为 Kubernetes 管理员创建脱节的体验。通过适用于 Kubernetes (OSOK) 的 Oracle Cloud Infrastructure (OCI) 服务操作员,管理员可以使用标准 Kubernetes 工具部署和管理 ATP。
体系结构
此参考体系结构显示部署在 OKE 集群中的应用程序,该集群使用高可用性 Autonomous Database。ATP 通过 OSOK 完全从 OKE 集群中部署和管理。
OSOK 允许您使用 Kubernetes 程序包管理工具 Helm 来部署 ATP 以及其他 Kubernetes 应用程序。您还可以像管理任何其他 Kubernetes 资源一样通过标准的 Kubernetes 命令行工具 kubectl 来管理 ATP。为此,OSOK 将 Autonomous Database 建模为定制资源定义 (Custom Resource Definition, CRD),并将这些定义应用于 OKE 集群。
ATP 可以部署为独立系统,也可以部署为高可用性 (High Availability, HA)。应用程序连接到单个端点以读取和写入数据库。出现故障时,ATP 将自动故障转移到辅助实例,而无需重新配置应用程序。

插图 kubernetes-based-autonomous-database.png 的说明
kubernetes-based-autonomous-database-oracle.zip
该体系结构具有以下组成部分:
- 租户
租户是您注册 Oracle Cloud Infrastructure 时 Oracle 在 Oracle Cloud 中设置的安全隔离分区。您可以在租户内的 Oracle Cloud 中创建、组织和管理资源。租户与公司或组织同义。通常,公司有一个租户,并反映公司在该租户中的组织结构。一个租户通常与一个订阅关联,一个订阅通常只有一个租户。
- 区域
Oracle Cloud Infrastructure 区域是一个局部地理区域,其中包含一个或多个数据中心,称为可用性域。区域独立于其他区域,而广阔的距离可以分离它们(跨国家甚至大陆)。
- 可用性域
可用性域是一个区域中的独立数据中心。每个可用性域中的物理资源都与其他可用性域中的资源隔离,因而具备容错能力。可用性域不共享电源、冷却设备或内部可用性域网络等基础设施。因此,一个可用性域出现故障不会影响区域中的其他可用性域。
- 容错域
故障域是可用性域内一组硬件和基础设施。每个可用性域具有三个具有独立电源和硬件的容错域。在多个容错域之间分配资源时,您的应用可以承受容错域中的物理服务器故障、系统维护和电源故障。
- 虚拟云网络 (VCN) 和子网
VCN 是可在 Oracle Cloud Infrastructure 区域中设置的可定制的软件定义网络。与传统的数据中心网络一样,VCN 允许您完全控制您的网络环境。VCN 可以具有多个不可重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 分段到子网,这些子网可以限定到区域或可用性域。每个子网包含一个连续的地址范围,这些地址与 VCN 中的其他子网不重叠。您可以在创建子网后更改其大小。子网可以是公共子网,也可以是专用子网。
- 负载平衡器
Oracle Cloud Infrastructure Load Balancing 服务提供从单个入口点到后端多个服务器的自动流量分配。
- 网络地址转换 (network address translation, NAT) 网关
NAT 网关允许 VCN 中的专用资源访问互联网上的主机,同时不会向传入的互联网连接公开这些资源。
- 服务网关
通过服务网关,可以从 VCN 访问其他服务,例如 Oracle Cloud Infrastructure Object Storage。从 VCN 到 Oracle 服务的流量通过 Oracle 网络结构传输,永远不会经过互联网。
- Cloud Guard
您可以使用 Oracle Cloud Guard 监视和维护 Oracle Cloud Infrastructure 中资源的安全。Cloud Guard 使用检测器配方,您可以定义这些配方来检查资源是否存在安全缺陷,以及监视操作员和用户是否有风险活动。检测到任何错误配置或不安全活动时,Cloud Guard 将根据您可以定义的响应器配方建议更正操作并协助执行这些操作。
- 安全区域
安全区域一开始就确保 Oracle 的安全最佳做法,强制实施加密数据等策略并防止对整个区间的网络进行公共访问。安全区域与同名的区间关联,并包括安全区域策略或应用于区间及其子区间的“配方”。无法将标准区间添加或移动到安全区域区间。
- 安全列表
对于每个子网,您可以创建安全规则来指定必须允许传入和传出子网的通信的源、目标和类型。
- 对象存储
通过对象存储,可以快速访问任意内容类型的大量结构化和非结构化数据,包括数据库备份、分析数据以及丰富的内容(例如图像和视频)。您可以安全可靠地存储数据,然后直接从互联网或云平台检索数据。您可以在不降低性能或服务可靠性的情况下无缝扩展存储。将标准存储用于需要快速、立即和频繁访问的“热”存储。将归档存储用于长时间保留的“冷”存储,很少或很少访问。
- FastConnect
Oracle Cloud Infrastructure FastConnect 提供了在数据中心与 Oracle Cloud Infrastructure 之间创建专用专用连接的简单方法。FastConnect 提供比基于互联网的连接更高的带宽选项和更可靠的网络体验。
- 本地对等连接网关 (LPG)
利用 LPG,您可以将一个 VCN 与同一区域中的另一个 VCN 对等。对等连接表示 VCN 使用专用 IP 地址进行通信,而无需流量通过互联网或通过内部部署网络进行路由。
- 自治数据库
Oracle Cloud Infrastructure 自治数据库是完全托管的预配置数据库环境,可用于事务处理和数据仓库负载。您无需配置或管理任何硬件,也不需要安装任何软件。Oracle Cloud Infrastructure 可处理数据库创建以及备份、打补丁、升级和优化数据库。
- Autonomous Data Warehouse
Oracle Autonomous Data Warehouse 是一种具有自我驱动、自我保护和自我修复功能的数据库服务,针对数据仓库负载进行了优化。您无需配置或管理任何硬件,也不需要安装任何软件。Oracle Cloud Infrastructure 可处理数据库创建以及备份、打补丁、升级和优化数据库。
- Autonomous Transaction Processing
Oracle Autonomous Transaction Processing 是自治驱动、自治安全、自治修复的数据库服务,针对事务处理工作负载进行了优化。您无需配置或管理任何硬件,也不需要安装任何软件。Oracle Cloud Infrastructure 可处理数据库创建以及备份、打补丁、升级和优化数据库。
- Exadata DB 系统
利用 Exadata Cloud Service,您可以利用云端 Exadata 的强大功能。您可以预配灵活的 X8M 系统,以便您随着需求的增长向系统中添加数据库计算服务器和存储服务器。X8M 系统提供 RoCE(RDMA over Converged Ethernet,聚合以太网上的 RDMA)网络,可实现高带宽和低延迟、持久性内存 (PMEM) 模块以及智能 Exadata 软件。可以使用等效于四分之一机架 X8 系统的配置预配 X8M 系统,然后在预配后随时添加数据库和存储服务器。
建议
使用以下建议作为起点。您的要求可能不同于此处描述的体系结构。
- VCN
创建 VCN 时,根据计划连接到 VCN 中的子网的资源数量,确定所需的 CIDR 块数和每个块的大小。使用标准专用 IP 地址空间内的 CIDR 块。
选择与要设置专用连接的任何其他网络(在 Oracle Cloud Infrastructure、您的内部部署数据中心或其他云提供商)不重叠的 CIDR 块。
创建 VCN 后,您可以更改、添加和删除其 CIDR 块。
设计子网时,请考虑流量和安全性要求。将特定层或角色中的所有资源连接到可以用作安全边界的同一子网。
- Cloud Guard
克隆和定制 Oracle 提供的默认配方以创建定制检测器和响应器配方。通过这些配方,您可以指定哪些类型的安全违规会生成警告,以及允许对它们执行哪些操作。例如,您可能需要检测将可见性设置为公共的对象存储桶。
在租户级别应用 Cloud Guard,以涵盖范围最广并降低维护多个配置的管理负担。
您还可以使用托管列表功能将某些配置应用于检测器。
- 安全区域
对于需要最大安全性的资源,Oracle 建议您使用安全区域。安全区域是与 Oracle 定义的基于优秀实践的安全策略配方关联的区间。例如,安全区域中的资源不能从公共 Internet 访问,必须使用客户管理的密钥对其进行加密。在安全区域中创建和更新资源时,Oracle Cloud Infrastructure 将根据安全区域配方中的策略验证操作,并拒绝违反任何策略的操作。
- 网络安全组 (NSG)
您可以使用 NSG 定义一组适用于特定 VNIC 的入站和出站规则。我们建议使用 NSG 而非安全列表,因为 NSG 允许您将 VCN 的子网架构与应用的安全要求区分开来。
- 负载平衡器带宽
创建负载平衡器时,您可以选择提供固定带宽的预定义配置,也可以指定设置带宽范围的定制(灵活)配置,并让服务根据流量模式自动缩放带宽。通过任一方法,您可以在创建负载平衡器后随时更改配置。
考虑事项
将 Oracle Autonomous Database 部署到 OKE 集群时,请考虑可扩展性。您可以使用 Kubernetes 集群自动缩放器自动缩放集群。
随着需求增加或减少,Autoscaler 会调整可用节点数。这可以优化 OCI 计算资源的使用,并防止您使用超出所需的节点数,从而提高成本。
Github 上提供了 Kubernetes 集群自动评分器。