您可以在 Kubernetes 集群内部部署和 Oracle Cloud 中部署 Oracle WebLogic Server。在 Kubernetes 上运行 Oracle WebLogic Server 可以在自动化、可移植性和自定义多个域之间实现平衡。Oracle WebLogic Server Kubernetes Operator 是一个开放源工具,可简化在 Kubernetes 集群中创建和管理多个 Oracle WebLogic Server 域的过程。

 

体系结构

此引用体系结构显示了在使用 Oracle Cloud Infrastructure Container Engine for Kubernetes 预配到 Oracle Cloud 的 Kubernetes 集群中部署的 Oracle WebLogic Server 域。通过此服务可以轻松地创建 Kubernetes 集群并提供所需的服务,例如负载平衡器、块存储和网络。

下图说明了此引用体系结构。

使用k8s部署wordpress_使用k8s部署wordpress

插图 weblogic-oke.png 的说明

体系结构具有以下组件:

  • 区域
    区域是一个由一个或多个可用性域组成的本地化地理区域。区域与其他区域无关,绝对距离可以分离(跨国家或地区)。
  • 可用性域
    可用性域是区域中独立的数据中心。每个可用性域中的物理资源都与其他可用性域中的资源隔离,可提供容错能力。可用性域不共享基础设施(如电源或冷却)或内部可用性域网络。因此,一个可用性域出现故障不太可能影响该区域中的其他可用性域。
  • 容错域
    故障域是可用性域内的一组硬件和基础结构。每个可用性域都有三个包含独立电源和硬件的容错域。在多个容错域中放置计算实例时,应用程序可以容忍物理服务器故障、系统维护以及可用性域内的多个公共网络和电源故障。
  • 虚拟云网络(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 资源及其可以执行的操作。
    Kubernetes 容器引擎与Oracle Cloud Infrastructure Identity and Access Management (IAM)集成。IAM 通过本机Oracle Cloud Infrastructure 身份功能提供了轻松验证。