节点端口、主机端口和集群 IP 之间的区别



Rancher 2在部署新工作负载时在"端口"部分提供了4个选项:

  • 节点端口
  • 主机端口
  • 群集 IP
  • 第 4 层负载均衡器

有什么区别?特别是在节点端口、主机端口和集群 IP 之间?

HostPort(运行 pod的节点(:类似于 docker,这将在运行 pod 的节点上打开一个端口(这允许您在主机上打开端口 80(。但是,设置运行非常容易:

除非绝对必要,否则不要为 Pod 指定 hostPort。当你将一个 Pod 绑定到 hostPort 时,它会限制 Pod 可以调度的位置数量,因为每个组合必须是唯一的。如果您没有明确指定 hostIP 和协议,Kubernetes 将使用 0.0.0.0 作为默认主机 IP,TCP 作为默认协议。 kubernetes.io

节点端口(在每个节点上(:仅限于端口30,000 到 ~33,000 之间的端口。这通常只有在与外部负载均衡器结合使用时才有意义(如果您想在端口 80 上发布 Web 应用程序(

如果您明确需要在节点上公开 Pod 的端口,请考虑在求助于 hostPort 之前使用 NodePort 服务。 kubernetes.io

群集IP(仅限内部(:如描述所述,这将打开一个端口,该端口仅适用于在同一群集中运行的内部应用程序。使用此选项的服务可通过内部群集 IP 进行访问。

<th style="text-align: left;">Host Portstyle="text-align: left;">当pod使用hostPort时,与节点端口的连接将直接转发到在该node上运行的pod在群集中的internal IP上公开Service。此类型使服务只能从群集内访问。style="text-align: left;">pods 使用hostPort时,节点的端口仅绑定在运行此类 Pod 的节点上NA
Node PortCluster IP
使用NodePort服务,与节点端口的连接将转发到随机选择的pod(可能在另一个node上(
NodePort服务在所有节点上绑定端口,即使在那些不运行此类 pod 的节点上也是如此NA
hostPort 功能主要用于公开系统服务,这些服务使用DaemonSets部署到每个节点NA

最新更新