TDC3.x后台启用真实源IP功能

  其他常见问题
内容纲要

概要描述

TDC环境中,某些场景下我们无法查看到链接相关服务的真实ip地址,TDC3.0.0/TCOS-3.1版本中支持真实源IP功能,即外部通过SLB访问时后端Pod可以获取真实的源IP地址。但这个功能目前只在隐私计算区进行了产品化,标准SLB没有该功能,需要后台手动配置。 本文描述相关场景的实现方案
PS:当前功能仅适用于vxlan模式

详细描述

以查询quark-server的链接地址的详细信息为例,配置之前,我们无法获取到链接quark服务的真实ip,pod内以及相关的audit日志里面,链接的地址均为代理地址。
实验背景:
版本:TDC320
地址:
172.22.28.21
172.22.28.22
172.22.28.23
file

创建/更新VIP CR 资源

https://172.22.28.21/tdc/eco
同网段确认一个空闲ip地址
file

配置VIP
file
配置完成后进行测试
file

kubectl get vip

file
需要编辑该vip配置disablesnat部分
file

kubectl edit vip 2024-04-10-10-55-05-005 -oyaml

添加红框所示三行
file

apiVersion: tos.transwarp.io/v1alpha1
kind: Vip
metadata:
  creationTimestamp: "2024-04-10T02:55:05Z"
  generation: 5
  labels:
    io.transwarp.tdc/slb-source: eco
  name: 2024-04-10-10-55-05-005
  resourceVersion: "9766305"
  selfLink: /apis/tos.transwarp.io/v1alpha1/vips/2024-04-10-10-55-05-005
  uid: a9da3020-4114-4053-9216-0add55a25141
spec:
  az:
  - az-77fca585
  disablesnat: true
  disablesnatrule:
  - port: "65530"
    protocol: TCP
  firewallmode: stateless
  ip:
  - 172.22.28.188
  prio:
  - name: gts-tdc2x-023
    prio: "14"
  vrid: "1"
status: {}

其中65530 是对外暴露的连接端口,在SLB中也会用到

创建SLB

file
file
file
file

创建Egress资源

cat egress_cr.yaml
apiVersion: crd.antrea.io/v1alpha2
kind: Egress
metadata:
  name: quark-gwhkz-egress
spec:
  appliedTo:
    podSelector:
      matchLabels:
        statefulset.kubernetes.io/pod-name: quark-server-gwhkz-0
        transwarp.install: gwhkz
        transwarp.name: quark-server
        transwarp.product: quark
  egressIP: 172.22.28.188

其中matchLabels中指明pod的label
可以从SLB中获取

 kubectl get svc slb-2svl5h -n fzd -oyaml

file

kubectl apply -f egress_cr.yaml

file

链接验证

本地电脑ip地址为172.22.202.132
file
waterdrop链接quark进行相关测试,观察quark-server内的audit日志,以及dbaservice信息,可以看到真实ip
file
file

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。