如何使用 LoadBalancer 服务从 Azure Kubernetes 内部获取客户端 IP 地址
How to get client IP address from inside a Azure Kubernetes with a LoadBalancer service
我正在获取节点 IP 地址而不是客户端 IP。是否可以通过 LoadBalancer
类型的服务获取客户端 IP?或者我需要使用入口控制器吗?
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
您不需要任何 Ingress 控制器。但是需要在Microsoft Azure中将spec.externalTrafficPolicy
Service字段的值设置为"Local"(默认为"Cluster")。
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: LoadBalancer
externalTrafficPolicy: Local
...
我正在获取节点 IP 地址而不是客户端 IP。是否可以通过 LoadBalancer
类型的服务获取客户端 IP?或者我需要使用入口控制器吗?
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
您不需要任何 Ingress 控制器。但是需要在Microsoft Azure中将spec.externalTrafficPolicy
Service字段的值设置为"Local"(默认为"Cluster")。
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: LoadBalancer
externalTrafficPolicy: Local
...