ZBLOG

k8s service 端口转发规则

在 k8s 中,Service 是一个抽象的概念,用于将后端 Pod 提供的服务暴露给外部。Service 有两种类型:ClusterIP 和 NodePort。

ClusterIP 类型的 Service 只会分配一个 IP 地址,并将请求通过内部负载均衡机制转发到后端 Pod 上。这个 IP 地址只能从集群内部访问,对外不可见。

NodePort 类型的 Service 会在每个节点上开放一个静态端口,并将请求通过这个端口转发到后端 Pod 上。这样就可以从集群外部访问该 Service。例如,如果 NodePort 的端口是 30001,则可以通过 http://<node-ip>:30001 访问该 Service。

具体来说,k8s service 的端口转发规则如下:

  • 对于 ClusterIP 类型的 Service,在创建时需要指定要代理的后端 Pods 和它们暴露出来的端口号。当请求发送到 Service 的 IP 地址和暴露的端口时,k8s 内部会根据负载均衡策略选择其中一个后端 Pod 进行处理。
  • 对于 NodePort 类型的 Service,在创建时需要指定要代理的后端 Pods 和它们暴露出来的端口号以及要开放的静态 NodePort 端口号。当请求发送到任何节点上该静态 NodePort 端口时,k8s 会将请求转发到其中一个后端 Pod 上进行处理。此外,k8s 还会自动为该 Service 分配一个 ClusterIP 地址,用于集群内部的访问。

需要注意的是,Service 的负载均衡策略和端口映射规则可以通过 Service 的配置进行修改。例如,可以将默认的 round-robin 负载均衡策略改为 IP Hash 策略或者使用 Session Affinity 保持用户会话等。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=1506

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?