455 June 16, 2024, 1:57 p.m.

Передача реального IP клиента в под kubernetes

Задача: передать реальный IP внешнего клиента в под приложения.

Для достижения поставленной задачи требуется в манифесте Service указать параметры type: LoadBalancer, externalTrafficPolicy: Local, externalIPs, в который нужно поместить реальный локальный адрес ноды и IPv6 адрес (если имеется)

Полный пример такого конфига:

apiVersion: v1
kind: Service
metadata:
  name: email-core-svc
spec:
  selector:
    app: email-core-pod
  type: LoadBalancer
  externalTrafficPolicy: Local
  externalIPs:
    - 10.13.10.17
    - 2a05:d014:1a58:5700:ba50:5530:9f2a:2dc3
  ports:
    - name: imap
      port: 143
    - name: smtps
      port: 587
    - name: smtp
      port: 25