现象
K8S集群中,有时会报一下告警:no destination available
原因
一般是因为有 Service 用了 externalTrafficPolicy:Local,当 Node 上没有该 Service 对应 Pod 时,Node 上的该 Service 对应 NodePort 的 IPVS 规则里,RS 列表为空。当有流量打到这个 Node 的对应 NodePort 上时,由于 RS 列表为空,内核就会报这个 warning 日志。
这个日志不会对服务造成影响,可以忽略不管。
解决方法
配制内核参数即可:
sysctl -w net.ipv4.vs.ignore_no_rs_error=1