k8s中hostPort和NodePort
hostPort 和NodePorthostPort 只会在运行机器上开启端口, NodePort 是所有 Node 上都会开启端口。hostPort是由 portmap 这个 cni 提供 portMapping 能力,同时如果想使用这个能力,在配置文件中一定需要开启 portmap使用 hostPort 后,会在 iptables 的 nat 链中插入相应的规则,而且这些规则是在 KUBE-
·
hostPort 和NodePort
hostPort 只会在运行机器上开启端口, NodePort 是所有 Node 上都会开启端口。
hostPort是由 portmap 这个 cni 提供 portMapping 能力,同时如果想使用这个能力,在配置文件中一定需要开启 portmap
-
使用 hostPort 后,会在 iptables 的 nat 链中插入相应的规则,而且这些规则是在 KUBE- SERVICES 规则之前插入的,也就是说会优先匹配 hostPort 的规则,我们常用的 NodePort 规则其实是在 KUBE- SERVICES 之中,也排在其后.
-
hostport 可以通过 iptables 命令查看到, 但是无法在 ipvsadm 中查看到
-
使用 lsof/netstat 也查看不到这个端口,这是因为 hostport 是通过 iptables 对请求中的目的端口进行转发的,并不是在主机上通过端口监听
-
在生产环境中不建议使用hostPort
更多推荐
已为社区贡献36条内容
所有评论(0)