使用 Oracle Cloud 中的 Autonomous Transaction Processing 部署 OCI Kubernetes Engine
使用 Oracle Autonomous Transaction Processing (ATP) 数据库部署 OCI Kubernetes Engine (OKE),使用基于 Oracle Cloud Infrastructure 的 Oracle 数据库技术可靠地构建、部署和管理云原生应用。
体系结构
使用 Oracle Autonomous Transaction Processing (ATP) 数据库部署 Oracle Cloud Infrastructure Kubernetes Engine ( OKE ),使用 Oracle Cloud Infrastructure 上的 Oracle 数据库技术可靠地构建、部署和管理云原生应用。
下图展示了体系结构。
该体系结构具有以下组件:
- 区域
Oracle Cloud Infrastructure 区域是包含一个或多个数据中心(称为可用性域)的本地化地理区域。地区独立于其他地区,远距离可以把它们分开(跨越国家甚至大陆)。
- 可用性域
可用性域是区域中的独立数据中心。每个可用性域中的物理资源与其他可用性域中的资源隔离,从而提供容错能力。可用性域不共享电源或冷却设备等基础设施,也不共享内部可用性域网络。因此,一个可用性域出现故障不会影响区域中的其他可用性域。
- 容错域
容错域是可用性域内的一组硬件和基础设施。每个可用性域都有三个容错域,它们具有独立的电源和硬件。OCI Kubernetes Engine 可跨多个容错域处理集群中节点的分布。因此,容器化的应用可以防止在容错域中出现物理服务器故障、系统维护和电源故障。
- 虚拟云网络 (VCN) 和子网
VCN 是一个可定制的软件定义网络,您可以在 Oracle Cloud Infrastructure 区域中设置。与传统的数据中心网络一样,VCN 允许您控制您的网络环境。VCN 可以具有多个不重叠的 CIDR 块,您可以在创建 VCN 后更改这些块。您可以将 VCN 划分为子网,子网可以限定为区域或可用性域。每个子网都包含一系列不与 VCN 中的其他子网重叠的连续地址。可以在创建后更改子网的大小。子网可以是公共子网,也可以是专用子网。
- 负载平衡器
OCI Kubernetes Engine (OKE) 提供的负载平衡器可提供从单个入口点到集群中资源的自动流量分配。
- 自治事务处理
Oracle Autonomous Transaction Processing 是一个自我驱动、自我保护和自我修复的数据库服务,针对事务处理工作负载进行了优化。您不需要配置或管理任何硬件,或者安装任何软件。Oracle Cloud Infrastructure 可处理数据库创建以及数据库备份、打补丁、升级和调优。
- OCI Kubernetes 引擎
Oracle Cloud Infrastructure Kubernetes Engine (Kubernetes Engine 或 OKE )是一项完全托管、可扩展的高可用性服务,可用于将容器化应用部署到云中。您可以指定应用所需的计算资源,Kubernetes Engine 在现有租户的 Oracle Cloud Infrastructure 上预配这些资源。OKE 使用 Kubernetes 跨主机集群自动部署、扩展和管理容器化应用。
推荐
使用以下建议作为起点。您的要求可能与此处描述的体系结构不同。
- VCN
创建 VCN 时,请根据您计划附加到 VCN 中子网的资源数量,确定所需的 CIDR 块数和每个块的大小。使用标准专用 IP 地址空间内的 CIDR 块。
选择不与要设置专用连接的任何其他网络(在 Oracle Cloud Infrastructure 、您的内部部署数据中心或其他云提供商中)重叠的 CIDR 块。
创建 VCN 后,您可以更改、添加和删除其 CIDR 块。
设计子网时,请考虑流量和安全要求。将特定层或角色中的所有资源附加到可以用作安全边界的同一子网。
使用区域子网。
为了简单起见,此架构使用公共子网托管 Oracle Cloud Infrastructure Kubernetes Engine ( OKE )。您还可以使用专用子网。在这种情况下,可使用 NAT 网关允许从集群访问公共互联网。
- OCI Kubernetes 引擎
在此架构中,Kubernetes 集群中的 worker 节点使用 VM.Standard2.1 配置,并在 Oracle Linux 上运行。在集群中至多可以创建 1000 个节点。
- 自治数据库
在此架构中,应用程序将关系数据存储在 Oracle Autonomous Transaction Processing 数据库中。我们建议使用最新版本。
注意事项
实施此体系结构时,请考虑您对以下参数的要求:
- 自治数据库可扩展性
您可以随时手动扩展或收缩数据库的 CPU 核心数。借助自治事务处理的自动缩放功能,您的数据库可以随时使用当前基本 CPU 核心数的三倍。随着需求的增长,自动缩放会自动增加使用的核心数。通过自治事务处理,您可以随时扩展数据库的存储容量,而不会影响可用性或性能。
- 自治数据库备份
Oracle Cloud Infrastructure 可自动备份自治数据库,并将这些备份保留 60 天。您可以在此保留期内将数据库还原并恢复到任何时间点。您还可以创建手动备份来补充自动备份。手动备份存储在您创建的 Oracle Cloud Infrastructure Object Storage 存储桶中,并保留 60 天。
- Kubernetes 可扩展性
您可以通过更新 Kubernetes 集群中的 worker 节点数来扩展应用,具体取决于负载。同样,您可以通过减少集群中的 worker 节点数来进行扩展。在 Kubernetes 集群上创建服务时,可以创建负载平衡器以在分配给该服务的节点之间分配服务流量。
- 应用程序可用性
容错域在单个可用性域中提供出色的可恢复性。您还可以部署在多个可用性域中执行相同任务的实例或节点。此设计通过引入冗余来消除单点故障。
- 安全
使用限制谁可以访问哪些 Oracle Cloud Infrastructure 资源以及如何访问资源的策略。
OCI Kubernetes Engine 与 Oracle Cloud Infrastructure Identity and Access Management (IAM) 集成。IAM 利用原生 Oracle Cloud Infrastructure 身份功能提供轻松的身份验证。
部署
部署此参考体系结构所需的代码位于 GitHub 中。您只需单击一下即可将代码提取到 Oracle Cloud Infrastructure Resource Manager 中,创建堆栈并部署堆栈。或者,将代码从 GitHub 下载到您的计算机,定制代码并使用 Terraform 命令行界面部署体系结构。
- 使用 Oracle Cloud Infrastructure Resource Manager 部署:
- 使用 Terraform 命令行界面进行部署:
- 转至 GitHub 。
- 将代码下载或克隆到本地计算机。
- 按照
deploy/complete/README.md
中的说明进行操作。