欢迎访问深圳敏捷云计算科技有限公司!

在 OCI 云端部署容器引擎以实现Kubernetes与自治事务处理

2024-04-30 原创文章

在Oracle云基础设施中部署容器引擎(OKE)和Oracle自治事务处理(ATP)数据库,借助Oracle数据库技术在Oracle云基础设施上可靠地构建、部署和管理云原生应用程序。

架构

在Oracle云基础设施中部署容器引擎(OKE)和Oracle自治事务处理(ATP)数据库,使用Oracle数据库技术在Oracle云基础设施上可靠地构建、部署和管理云原生应用程序。

以下图表展示了架构。

架构包含以下组件:

区域

Oracle云基础设施区域是一个地理上的局部区域,包含一个或多个数据中心,称为可用性域。区域彼此独立,相距遥远(跨越国家甚至大洲)。

可用性域

可用性域是区域内独立的、自成一体的数据中心。每个可用性域内的物理资源与其他可用性域的资源相隔离,这提供了容错能力。可用性域不共享基础设施如电源或冷却系统,或内部的可用性域网络。因此,一个可用性域的故障不太可能影响区域内的其他可用性域。

故障域

故障域是在一个可用性域内部的硬件和基础设施的分组。每个可用性域有三个故障域,拥有独立的电源和硬件。Oracle云基础设施容器引擎为Kubernetes(OKE)处理集群中节点的分布,跨多个故障域。因此,您的容器化应用程序受到物理服务器故障、系统维护和故障域内电力故障的保护。

虚拟云网络(VCN)和子网

VCN是您在Oracle云基础设施区域中设置的可定制的、软件定义的网络。就像传统数据中心网络一样,VCN使您完全控制您的网络环境。VCN可以有多个不重叠的CIDR块,创建VCN后您可以更改这些块。您可以将VCN划分为子网,这些子网可以被限定在一个区域或一个可用性域。每个子网包含一个连续的地址范围,不与VCN中的其他子网重叠。创建后您可以更改子网的大小。子网可以是公开的或私有的。

负载均衡器

容器引擎为Kubernetes(OKE)提供的负载均衡器,提供了从单一入口点到集群中资源的自动化流量分配。

自治事务处理

Oracle自治事务处理是一种自驾、自保护、自修复的数据库服务,为事务处理工作负载优化。您不需要配置或管理任何硬件,或安装任何软件。Oracle云基础设施负责创建数据库,以及备份、打补丁、升级和调优数据库。

容器引擎为Kubernetes

Oracle云基础设施容器引擎为Kubernetes是一个完全托管的、可扩展的、高可用性的服务,您可以使用它将您的容器化应用程序部署到云端。您指定应用程序所需的计算资源,容器引擎为Kubernetes在现有的租户中的Oracle云基础设施上提供这些资源。容器引擎为Kubernetes使用Kubernetes自动化跨主机集群的容器化应用程序的部署、扩展和管理。

建议

以下建议可作为起点。您的需求可能与这里描述的架构不同。

虚拟云网络(VCN)

创建VCN时,根据您计划附加到VCN中的子网的资源数量,确定所需的CIDR块数量及每个块的大小。使用标准私有IP地址空间内的CIDR块。

选择不与您打算建立私有连接的任何其他网络(在Oracle云基础设施、您的本地数据中心或另一云提供商中)重叠的CIDR块。

创建VCN后,您可以更改、添加和删除其CIDR块。

在设计子网时,考虑您的流量流向和安全需求。将特定层或角色内的所有资源附加到同一子网,这可以作为安全边界。

使用区域子网。

为简化架构,此架构使用一个公共子网来托管容器引擎为Kubernetes。您也可以使用一个私有子网。在那种情况下,使用NAT网关以允许集群访问公共互联网。

容器引擎为Kubernetes

在此架构中,Kubernetes集群中的工作节点使用VM.Standard2.1形状,并运行在Oracle Linux上。您可以在一个集群中创建多达1000个节点。

自治数据库

在此架构中,应用程序将关系数据存储在Oracle自治事务处理数据库中。我们推荐使用最新版本。

                 

考虑因素

在实施此架构时,请考虑以下参数的需求:

自治数据库的可扩展性

您可以随时手动调整数据库基础CPU核心数的规模,无论是增加还是减少。自治事务处理的自动扩展功能允许您的数据库在任何时候使用高达当前基础CPU核心数的三倍。随着需求增加,自动扩展会自动增加正在使用的核心数。自治事务处理允许您在任何时候扩展数据库的存储容量,而不影响可用性或性能。

自治数据库备份

Oracle云基础设施自动备份您的自治数据库,并保留这些备份60天。您可以在此保留期内恢复和还原您的数据库到任何时间点。您也可以创建手动备份来补充您的自动备份。手动备份存储在您创建的Oracle云基础设施对象存储桶中,保留期为60天。

Kubernetes的可扩展性

根据负载,您可以通过更新Kubernetes集群中的工作节点数量来扩展您的应用程序。同样,您可以通过减少集群中的工作节点数量来缩小规模。在Kubernetes集群上创建服务时,您可以创建一个负载均衡器来分配服务流量到分配给该服务的节点。

应用程序的可用性

故障域在单一可用性域内提供最佳的弹性。您还可以在多个可用性域部署执行相同任务的实例或节点。这种设计通过引入冗余消除了单点故障。

安全性

使用策略限制谁可以访问哪些Oracle云基础设施资源以及如何访问它们。

Oracle云基础设施容器引擎为Kubernetes与Oracle云基础设施身份与访问管理(IAM)集成。IAM提供了与原生Oracle云基础设施身份功能的简易认证。

                   

部署

可在GitHub中找到部署此参考架构所需的代码。您可以一键将代码拉取到Oracle云基础设施资源管理器中,创建堆栈并部署。或者,从GitHub将代码下载到您的计算机,自定义代码,并使用Terraform命令行界面部署架构。

使用Oracle云基础设施资源管理器部署:

a. 点击,如果您还没有登录,请输入租户和用户凭证。

b. 查看并接受条款和条件。

c. 选择您想要部署堆栈的区域。

d. 按照屏幕上的提示和指示创建堆栈。

e. 创建堆栈后,点击Terraform操作,选择计划。

f. 等待作业完成,并审查计划。

g. 如需进行任何更改,返回到堆栈详细信息页面,点击编辑堆栈,并进行必要的更改。然后,再次运行计划操作。

h. 如果不需要进一步更改,返回到堆栈详细信息页面,点击Terraform操作,并选择应用。

使用Terraform命令行界面部署:

a. 访问GitHub。

b. 将代码下载或克隆到您的本地计算机。

c. 按照deploy/complete/README.md中的说明操作。

开启您的Oracle云之旅:Agilewing - 您的智能云服务伙伴

作为Oracle的高级合作伙伴,Agilewing正重新定义企业体验Oracle云服务的方式。借助于其简化的开户流程和一流的技术支持,Agilewing将复杂的开户和操作流程转化为一种轻松、直观的体验。通过我们的一站式服务,您可以迅速开启并享受Oracle云的全方位服务,从而无缝融入云端世界。

Agilewing的AgileCDN服务,结合了OCI的云基础服务,提供了一流的全球内容加速解决方案。超过2800个全球POP节点和7000个直连点的强大网络,确保了无论您的业务扩展到全球哪个角落,都能保持高效稳定的运行。

利用Oracle云的先进技术,Agilewing致力于简化云服务搭建、云迁移和业务出海的过程。我们的合作模式为客户带来经济高效的解决方案,使他们能够更加专注于核心业务,同时享受Oracle云的高性能和安全保障。

Oracle云服务,作为一个充满潜力的领域,以其高性能、安全性和全球统一的服务标准,为各类企业开启了新的机遇之门。通过Agilewing的专业服务,无论是个人用户还是企业,都能轻松步入这个充满技术革新和高效能的新时代。现在,就让Agilewing引领您开始探索Oracle云服务,打开一个全新的世界大门。