在部署新工作负载时,Rancher 2在"端口"部分提供了4个选项:
有什么区别?特别是在NodePort,HostPort和Cluster IP之间?
Tin*_*ky_ 10
HostPort(运行pod的节点):与docker类似,这将打开运行pod的节点上的端口(这允许您在主机上打开端口80).但是,这很容易设置运行:
除非绝对必要,否则不要为Pod指定hostPort.将Pod绑定到hostPort时,它会限制Pod可以调度的位置数,因为每个组合必须是唯一的.如果未明确指定hostIP和协议,Kubernetes将使用0.0.0.0作为默认hostIP,并使用TCP作为默认协议. kubernetes.io
NodePort(在每个节点上):仅限于端口30,000到~33,000之间的端口.这通常只有与外部负载均衡器结合才有意义(如果您想在端口80上发布Web应用程序)
如果您明确需要在节点上公开Pod的端口,请考虑在使用hostPort之前使用NodePort服务. kubernetes.io
群集IP(仅限内部):如说明所示,这将打开仅适用于在同一群集中运行的内部应用程序的端口.使用此选项的服务是通过内部cluster-ip访问libbile.
| Host Port | Node Port | Cluster IP | 
|---|---|---|
| 当 a pod使用 a 时hostPort,与节点端口的连接将直接转发到在该节点上pod运行的node | 使用 NodePort服务,与节点端口的连接被转发到随机选择的pod(可能在另一个node) | 公开 Service上internal IP的群集。这种类型使服务只能从集群内部访问。 | 
| pods 使用 a hostPort,节点的端口只绑定在运行此类 pods 的节点上 | NodePort服务绑定所有节点上的端口,即使在那些不运行这样的 pod 的节点上 | 不适用 | 
| hostPort 功能主要用于暴露系统服务,这些服务部署到每个节点使用 DaemonSets | 不适用 | 不适用 | 
一般问题
问:当许多 Pod 运行在 NodePort 的同一个节点上时会发生什么?
答:有了NodePort它,如果你有一个或多个节点无所谓,端口可用的每个节点上。
| 归档时间: | 
 | 
| 查看次数: | 6197 次 | 
| 最近记录: |