k8s 端一直提示 Update sessions failed: Update sessions failed: Session not existed!

  • nebula 版本:3.2.0
  • 部署方式:分布式
  • 安装方式:k8s-operater
  • 是否为线上版本: N
    使用spark +nebula-java 的方式写入数据到nebula,创建了线程池,每个分区执行完后都会释放,但是在服务端日志里一经常性的显示 Update sessions failed: Update sessions failed: Session not existed!

使用方式如下

graph的服务地址是怎么配置的

使用的的k8s容器内部的 域名加端口 nebula-graphd-svc.kube-nebula.svc.cluster.local.9669,数据也是正常写入的但是nebula集群端的日志一直出这个错

在使用iptables的情况下,k8s内部的service流量是由iptables中的statistic模块以概率的方式分发到后端pod,如果t1时刻session跟graph pod1建立,t2时刻请求送到graph pod2上面,pod2没有任何session信息,就会报错,合理的方式是将一组graph pod的地址放在集合里,构造连接池对外提供服务

雷神,k8s 里的这种 service 存在 sticky session 的设定么?如果有的话是不是能做到只暴露一个出来,不需要 client 识别多个 graphd 呢?

kubectl patch svc nebula-graphd-svc -p ‘{“spec”:{“sessionAffinity”:“ClientIP”}}’


可以添加这个配置

3 个赞

太棒了,收到!

感谢 :clap:

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。