17、Kubernetes服务外部暴露与Pod就绪信号机制详解

Kubernetes服务外部暴露与Pod就绪信号机制详解

1. 服务外部暴露基础

在Kubernetes中,将服务暴露给外部客户端有多种方式。其中一种是通过隐式分配节点端口(Node Port),外部客户端连接到某个节点的节点端口后,连接会被转发到其中一个Pod实例。而LoadBalancer类型的服务实际上是带有额外基础设施提供的负载均衡器的NodePort服务。使用 kubectl describe 查看服务信息时,能看到为该服务选择的节点端口。若打开此端口的防火墙,就可以通过节点IP访问服务。

如果使用Minikube,虽然不会配置负载均衡器,但仍可通过节点端口(在Minikube虚拟机的IP地址处)访问服务。

2. 外部连接特性

在处理外部发起的服务连接时,需要注意以下几个方面:
- 避免不必要的网络跳转 :当外部客户端通过节点端口连接服务时(包括先经过负载均衡器的情况),随机选择的Pod可能不在接收连接的同一节点上,这就需要额外的网络跳转。通过配置服务将外部流量仅重定向到接收连接的节点上运行的Pod,可以避免这种额外跳转。在服务的 spec 部分设置 externalTrafficPolicy 字段为 Local 即可实现:

spec:
  externalTrafficPolicy: Local
  ...

不过,使用此设置也有缺点。正常情况下,连接会均匀分布在所有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值