Как получить IP-адрес клиента из Azure Kubernetes с помощью службы LoadBalancer
Я получаю IP-адрес узла вместо IP-адреса клиента. Можно ли получить клиентский IP с сервисом типа LoadBalancer
? Или мне нужно будет использовать входной контроллер?
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
1 ответ
Решение
Вам не нужен входной контроллер. Однако необходимо установить значение spec.externalTrafficPolicy
Служебное поле для "Локальный" (по умолчанию "Кластер") в Microsoft Azure.
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
type: LoadBalancer
externalTrafficPolicy: Local
...