问题描述
嗨,我正在尝试让客户端获得真实IP,以限制对Pod的某些访问。但是不幸的是,我在每个吊舱处总是得到10.244.1.1。我已经尝试过https://kubernetes.io/docs/tutorials/services/source-ip/,但不幸的是没有运气。请帮忙。
我在cent os 7裸机服务器上使用kubernetes 1.8.2版本进行kubernetes集群。我没有选择使用裸机的选择。作为入口控制器,我正在使用kong。我的kong入口控制器始终获得10.244.1.1。 kong中有一个称为IP限制的功能。我正在尝试使用它。
因此其他人建议使用另一个kong跃点作为负载均衡器,这对我的情况不是一个好的解决方案。
解决方法
为“真实IP”确定(https://docs.konghq.com/2.1.x/configuration/#trusted_ips)签出属性:
- trusted_ips
- real_ip_header
- real_ip_recursive
这可能也很有趣:https://github.com/Kong/kong/pull/5861
,您需要在kong-proxy服务上指定流量策略
spec:
...
selector:
app: ingress-kong
type: LoadBalancer
externalTrafficPolicy: Local
您可能需要将以下一个或两个环境变量添加到kong容器中
- name: KONG_TRUSTED_IPS
value: 0.0.0.0/0,::/0
- name: KONG_REAL_IP_RECURSIVE
value: "on"
我在k3s实例上工作了。
k8s文档中的“ k8s的裸机注意事项”和kong docs中的“保留客户端ip地址”中有关于source-ip问题的详细信息。它们包含太多细节,无法简要概述。