设计拓扑的组件

查看用于设计 Kubernetes 拓扑网络的体系结构选项,决定您是否需要基础主机和管理主机,以及设计节点池。

设计网络

确定容器化应用的流量访问要求,并确定您需要的网络资源。

当您确定网络大小(即 VCN 和子网的 CIDR 范围)时,请考虑工作负荷的缩放要求。

将员工节点附加到 VCN 中的不同子网。对其他资源使用单独的子网 , 如负载平衡器节点 , 还原主机和管理主机。

推荐的方法是将 Kubernetes worker 节点附加到专用子网。每个 Worker 节点只有一个专用 IP 地址。使用负载平衡器(内部或公共)将流量分配给员工节点。要使员工节点能够启动对公共互联网中主机的访问,请使用 NAT 网关。

如果要创建 NodePort 类型的服务,请将 Kubernetes 工作进程节点附加到公共子网。通信量来自节点,通过互联网网关路由。每个 Worker 节点都有一个公共 IP 地址和一个专用地址。您必须显式配置安全规则以允许从公共互联网访问员工节点。

可以使用服务网关将来自 Worker 节点的任何流量路由到该区域中的其他Oracle Cloud 服务(如Oracle Cloud Infrastructure Object Storage)。

限制管理访问

请考虑使用基础主机和管理主机访问和管理云中的拓扑。

为了防止 Kubernetes worker 节点免受云外部未经授权的访问,请将其隔离在没有路由到公共 Internet 或不具有公共 Internet 路由的子网中。

部署基础主机并将其用作拓扑中其他计算实例(包括 worker 节点)的 SSH 连接的唯一入口点。为了增强安全性,请考虑仅允许通过 SSH 访问基本主机到云外部的一组已知 IP 地址。

对于云中 Kubernetes 拓扑上的管理操作,请考虑在云中创建管理主机,以及在云中安装所需的工具,例如 kubectlOracle Cloud Infrastructure CLI。使用基础主机作为与管理主机的 SSH 连接的跳转服务器。

设计节点池

节点池是 Kubernetes 集群中相同配置的一组计算实例。使用节点池可以有效地部署和管理具有不同资源要求的应用程序。例如,您可以为每个容器化应用程序或服务创建一个单独的节点池。

根据容器化工作负荷的数量和大小,确定要创建的节点池数量以及每个池中的 worker 节点数量。在每个池中至少创建三个 Worker 节点。给定池中的所有 worker 节点都是使用您指定的相同配置创建的。

确保高可用性

确保您在云中的容器化工作负荷不受数据中心中任何停机的影响。

Oracle Cloud Infrastructure 区域包含一个或多个容错可用性域。可用性域不共享基础设施,如电源、冷却和内部网络。一个可用性域出现故障不太可能影响同一区域中的其他可用性域。在包含多个可用性域的区域中,Worker 节点分布在可用性域中。您可以将节点附加到区域子网,这可跨越所有可用性域。

每个可用性域包含三个容错域,每个隔离的硬件和基础结构分组。影响一个容错域的硬件故障或维护事件不会影响其他容错域中的资源。在具有单个可用性域的区域中,Worker 节点分布在数据中心的容错域中。