TCP长连接在k8s中基于nginx负载均衡

nodeport其实也是一种实现方式,但是nodeport是有一些缺陷的:

第一:占用worker主机的port,项目多,团队多,容易port冲突

第二:如果pod没有落到workerA上,但是请求是从workerA发起,当workerA宕机,请求就没法转发。
使用nginx ingress+k8s service去服务发现和负载均衡,算是比较合理的操作。(还是会存在上面第二个问题,需要在集群外的ngxin+keepalive去做高可用)

集群环境需要修改一点东西:
最新版的k8s ingress-nginx默认集群安装的时候是不带tcp和udp配置映射的。需要自己准备。
准备:tcp-services-configmap.yaml

kind: ConfigMap
apiVersion: v1
metadata:
  name: tcp-services
  namespace:  kube-system
data:
  17000: "default/echoserver:4040"  #测试的tcpserver服务名称和对外端口

准备:udp-services-configmap.yaml

kind: ConfigMap
apiVersion: v1
metadata:
  name: udp-services
  namespace:  kube-system

通过集群导入yaml功能导入

 修改rke2-ingress-nginx-controller的入口参数:

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值