Kubernetes 1.10.11 service.spec.externalTrafficPolicy не получает реальный IP-адрес клиента - PullRequest
0 голосов
/ 14 октября 2019

У меня проблемы с получением реального IP-адреса клиента в кластере Kubernetes v1.10.11

В моей предыдущей версии Kubernetes 1.6.1 я настроил модуль nginx со службой NodePort, и для этой службы яиспользовал эту старую аннотацию моды:

annotations:
    service.beta.kubernetes.io/external-traffic: OnlyLocal

И все работало нормально. Это была полная конфигурация службы yaml:

apiVersion: v1
kind: Service
metadata:
  name: nginx-svc
  labels:
    app: nginx
  annotations:
    service.beta.kubernetes.io/external-traffic: OnlyLocal
spec:
  type: NodePort
  ports:
  - port: 80
    nodePort: 30080
    protocol: TCP
    name: http
  - port: 443
    nodePort: 30443
    protocol: TCP
    name: https
  selector:
    app: nginx

Теперь я использую Kubernetes 1.10.11 поверх Ubuntu 16.04.4 LTS с Kernel 4.4.0-165-generic и docker 18.6.2.

Я пытаюсь использовать новый service.spec.externalTrafficPolicy: Local, как описано в этой документации и в этой документации однако Я не получаю реальный клиентский IP .

Я использую ту же службу и ту же конфигурацию модулей, что и в прошлом при использовании Kubernetes v1.6.1, просто удаляя старую аннотацию и используя service.spec.externalTrafficPolicy.

Этовесь новый файл службы yaml:

apiVersion: v1
kind: Service
metadata:
  name: nginx-svc
  labels:
    app: nginx
spec:
  type: NodePort
  externalTrafficPolicy: Local
  ports:
  - port: 80
    nodePort: 30080
    protocol: TCP
    name: http
  - port: 443
    nodePort: 30443
    protocol: TCP
    name: https
  selector:
    app: nginx

Я задаю здесь вопрос, потому что я следовал официальной документации и безуспешно прочитал все подобные проблемы, описанные здесь, в StackOverflow:

Хорошо отметить, что я размещаю свой хостингсобственный кластер, не использующий AWS, GCE и т. д.

Есть идеи, что происходит? какие-либо предложения, чтобы исправить это?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...