体系结构
此引用体系结构显示了在使用 Oracle Cloud Infrastructure Container Engine for Kubernetes 预配到 Oracle Cloud 的 Kubernetes 集群中部署的 Oracle WebLogic Server 域。通过此服务可以轻松地创建 Kubernetes 集群并提供所需的服务,例如负载平衡器、块存储和网络。
下图说明了此引用体系结构。
体系结构具有以下组件:
-
区域
区域是一个由一个或多个可用性域组成的本地化地理区域。区域与其他区域无关,绝对距离可以分离(跨国家或地区)。
-
可用性域
可用性域是区域中独立的数据中心。每个可用性域中的物理资源都与其他可用性域中的资源隔离,可提供容错能力。可用性域不共享基础设施(如电源或冷却)或内部可用性域网络。因此,一个可用性域出现故障不太可能影响该区域中的其他可用性域。
-
容错域
故障域是可用性域内的一组硬件和基础结构。每个可用性域都有三个包含独立电源和硬件的容错域。在多个容错域中放置计算实例时,应用程序可以容忍物理服务器故障、系统维护以及可用性域内的多个公共网络和电源故障。
-
虚拟云网络(VCN)和子网
VCN 是您在 Oracle Cloud Infrastructure 区域中设置的软件定义的网络。Vcn 可以分段为子网,子网可以是特定于区域或可用性域的。特定于区域的子网和可用性域特定的子网可以共存在于同一 VCN 中。子网可以是公共或专用的。
-
负载平衡器
Oracle Cloud Infrastructure 负载平衡服务提供从一个入口点到可从 VCN 访问的多个服务器的自动流量分配。
-
文件存储
Oracle Cloud Infrastructure File Storage 服务提供了一个持久、可扩展、安全、企业级网络文件系统。您可以从 VCN 中的任何裸金属、虚拟机或容器实例连接到文件存储服务文件系统。您还可以使用 Oracle Cloud Infrastructure FastConnect 和 IPSec VPN 从 VCN 外部访问文件系统。
-
Kubernetes 的容器引擎
Oracle Cloud Infrastructure Container Engine for Kubernetes 是一项完全托管的、可扩展的高可用性服务,可用于将容器化的应用部署到云中。您可以在现有租户中指定您的应用所需的计算资源,并为 Kubernetes 在 Oracle Cloud Infrastructure 上预配容器引擎。适用于 Kubernetes 的容器引擎使用 Kubernetes 在各个主机集群中自动部署、缩放和管理容器化应用程序。
-
Oracle WebLogic Server 域
Oracle WebLogic Server 域是一组相关的应用程序和资源,以及运行这些应用程序和资源所需的配置信息。域中包括一个或多个可以集群、非集群或集群的组合的 Oracle WebLogic Server 实例。一个域可以包含多个集群。
-
Oracle WebLogic Server 集群
集群是特定 Oracle WebLogic Server 域的一部分。集群由多个同时运行的 Oracle WebLogic Server 实例组成,这些实例协同工作以提高可扩展性和可靠性。
WebLogic 集群与 Kubernetes 集群不同。对于客户机而言,WebLogic 集群是一个 Oracle WebLogic Server 实例。构成集群的服务器实例可以在同一台计算机上运行,也可以位于不同的计算机上。集群中的每个服务器实例必须运行同一版本的 Oracle WebLogic Server。
-
WebLogic Kubernetes 运算符
Kubernetes 运算符是管理复杂应用的软件。WebLogic Kubernetes Operator 设计用于执行类似的角色,就像传统数据中心部署中的人工运算符一样。其任务包括启动和停止环境、启动备份、执行缩放操作、执行与灾难恢复和高可用性需求关联的手动任务,以及在其他数据中心使用其他运算符协调操作。
建议
您的要求可能不同于此处所述的体系结构。使用以下建议作为起点。
-
VCN
创建 VCN 时,确定每个子网中的云资源需要多少 IP 地址。使用无类域间路由(Classless Inter-Domain Routing, CIDR)表示法,指定子网掩码以及足够大的网络地址范围用于所需的 IP 地址。
选择与内部部署网络不重叠的地址范围,以便在 VCN 与内部部署网络之间建立连接(如果需要)。
创建 VCN 后,不能更改其地址范围。
设计子网时,请考虑您的流量流和安全要求。将同一层或角色内的所有计算实例附加到同一子网,这些子网可用作安全边界。
使用区域性子网。
此体系结构使用公共子网来托管 Kubernetes 的容器引擎。您还可以使用专用子网;在这种情况下,使用 NAT 网关允许从集群访问公共互联网。
-
Kubernetes 的容器引擎
虽然运算符支持任何一般 Kubernetes 集群,但此体系结构对 Kubernetes 集群使用容器引擎。这些集群有五个分布在不同物理主机上的 Worker 节点。在集群中,三个 worker 节点专供 Oracle WebLogic Server 托管服务器、一个用于 WebLogic 管理服务器,一个用于 WebLogic Kubernetes 操作员。在一个集群中最多可以创建 1000 个节点。Worker 节点部署在 VM.Standard2.1 Oracle Linux 主机上。
-
负载平衡器
默认情况下,操作员创建的 Oracle WebLogic Server 服务器(管理服务器和托管服务器)不会在 Kubernetes 集群的容器引擎外部公开。为了向外界公开应用程序,此体系结构在负载平衡服务上使用公共负载平衡器。公共负载平衡器具有可从互联网访问的公共 IP 地址。此体系结构使用负载平衡器 100 Mbps 来处理流量。如果您需要处理更多入站流量,可以选择较高的带宽,最多 8000 Mbps。
-
文件存储
为了符合运行 Oracle WebLogic Server 域的最佳做法,该体系结构中的域配置文件存储在可从集群中的所有 WebLogic 服务器访问的共享文件存储中。此设置具有下列优点:
-
您无需为域配置中的更改重建 Docker 映像。
-
备份速度加快,并且集中进行备份。
-
默认情况下,日志存储在永久存储中。
-
考虑事项
-
可扩展性
根据加载情况,您可以通过更新 Kubernetes 集群中的员工节点数来扩展您的应用。同样,您可以通过减少集群中的 Worker 节点数进行扩展。在 Kubernetes 集群上,在创建服务时,可以创建负载平衡器以在分配给该服务的节点之间分配服务流量。您可以使用 Oracle Cloud Infrastructure 预配器创建持久性卷,而无需创建文件系统,然后从操作员脚本引用它。
-
申请可用性
对于分布在不同物理基础结构上的托管服务器,Kubernetes 集群有三个 worker 节点,因此 Oracle WebLogic Server 集群自身具有最高可用性。
-
安全性
使用策略可控制谁可以访问您的 Oracle Cloud Infrastructure 资源及其可以执行的操作。