使用Traefik和DigitalOcean获得Kubernetes吊舱的真正IP
我正在尝试使用traefik获取Kubernetes吊舱的真实源IP地址。我使用的是启用了代理协议的digital ocean负载平衡器。我还将我的K8s服务yaml配置为将外部流量策略设置为本地 从K8s中的我的configmap中提取Traefik入口。我已经编辑了我的实际IP,但我使用了负载均衡器IP和Kubernetes工作节点专用IP使用Traefik和DigitalOcean获得Kubernetes吊舱的真正IP,kubernetes,digital-ocean,traefik,traefik-ingress,real-ip,Kubernetes,Digital Ocean,Traefik,Traefik Ingress,Real Ip,我正在尝试使用traefik获取Kubernetes吊舱的真实源IP地址。我使用的是启用了代理协议的digital ocean负载平衡器。我还将我的K8s服务yaml配置为将外部流量策略设置为本地 从K8s中的我的configmap中提取Traefik入口。我已经编辑了我的实际IP,但我使用了负载均衡器IP和Kubernetes工作节点专用IP [entryPoints] [entryPoints.http] address = ":80" co
[entryPoints]
[entryPoints.http]
address = ":80"
compress = true
[entryPoints.http.redirect]
entryPoint = "https"
[entryPoints.https]
address = ":443"
compress = true
[entryPoints.https.tls]
[[entryPoints.https.tls.certificates]]
CertFile = "/ssl/client_co.crt"
KeyFile = "/ssl/tls.key"
[entryPoints.https.proxyProtocol]
trustedIPs = ["Load Balancer IP, Kubernetes Worker Node IPs"]
[entryPoints.https.redirect]
regex = "^https://(?:www\\.)(.*)"
replacement = "https://$1"
permanent = true
这是部署文件服务yaml的一部分
kind: Service
apiVersion: v1
metadata:
name: traefik-ingress-service
annotations:
service.beta.kubernetes.io/do-loadbalancer-enable-proxy-protocol: "true"
namespace: kube-system
spec:
selector:
k8s-app: traefik-ingress-lb
ports:
- protocol: TCP
port: 80
name: web
- protocol: TCP
port: 443
name: https
# - protocol: TCP
# port: 8080
name: admin
type: LoadBalancer
externalTrafficPolicy: Local
非常感谢您的帮助。您是如何检查IP的?现在我只是检查traefik日志,他们有私有IP地址。您可以检查标题X-real-IP和X-Forwarded-Force,因为我在Chrome上看不到标题。我不认为负载平衡会将这些头传递给POD,这就是我使用代理的原因。您在do loadbalancer上执行ssl直通或ssl终止操作可能是错误的?你是从chrome上点击http还是https的?