목표는 웹 응용 프로그램 (Kubernetes 1.4 클러스터에 배포 됨)이 원래 HTTP 요청을 한 클라이언트의 IP를 확인하는 것입니다. 베어 메탈 클러스터에서 응용 프로그램을 실행할 계획이므로 GCE와 1.4에 도입 된 service.alpha.kubernetes.io/external-traffic: OnlyLocal
서비스 주석은 적용 할 수 없습니다.Ingress로 원격 클라이언트 IP 보존
대안을 찾고 있는데, 목표를 달성하기 위해 Ingress를 설정하라는 메시지가 this question 인 것을 발견했습니다. 그래서 Ingress와 the NginX Ingress Controller을 설정했습니다. 배포가 순조롭게 진행되었으며 Ingress Address와 포트 80을 통해 웹 응용 프로그램에 연결할 수있었습니다. 그러나 로그에서 여전히 클러스터 내부 IP (172.16.0.0/16) 범위를 볼 수 있습니다. 이는 외부 클라이언트 IP가 Ingress를 통해 제대로 전달되지 않습니다. 작동하도록 위의 내용 외에도 구성해야 할 내용을 알려주십시오.
내 침투 '구성 : 레이어 4 프록시
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: myWebApp
spec:
backend:
serviceName: myWebApp
servicePort: 8080