[英]How to get client IP address from inside a Azure Kubernetes with a LoadBalancer service
I'm getting the node IP address instead of the client IP. 我正在获取节点IP地址而不是客户端IP。 Is it possible to get the client IP with a service of type
LoadBalancer
? 是否可以使用
LoadBalancer
类型的服务获取客户端IP? Or will I need to use a ingress controller? 或者我需要使用入口控制器吗?
apiVersion: v1
kind: Service
metadata:
name: app-svc
labels:
name: app-svc
environment: dev
spec:
type: LoadBalancer
loadBalancerIP: XXX.XXX.XXX.XXX
ports:
- name: http-port
port: 80
targetPort: 80
protocol: TCP
selector:
name: app-deploy
You do not need any Ingress controller. 您不需要任何Ingress控制器。 However it is required to set the value of the
spec.externalTrafficPolicy
Service field to "Local" (the default is "Cluster") in Microsoft Azure. 但是,需要在Microsoft Azure中将
spec.externalTrafficPolicy
服务字段的值设置为“Local”(默认为“Cluster”)。
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: LoadBalancer
externalTrafficPolicy: Local
...
See Using source IP . 请参阅使用源IP 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.