Получите IP-адрес клиента в сервисе GRP C за Kubernetes nginx ingress - PullRequest
0 голосов
/ 17 июня 2020

Я все еще борюсь с kubernetes.

У меня проблема с сохранением IP-адреса запроса на службе для целей регистрации. Ведение журнала осуществляется с помощью сервера GRP C. Этот код работает за пределами кубернетов, как и предполагалось.

Служба определяется аналогично этому.

apiVersion: v1
kind: Service
metadata:
  annotations: {}
  labels:
    name: grpc-api
  name: grpc-api
  namespace: myns
spec:
  ports:
  - name: ext-5000
    port: 5000
    targetPort: 5000
  - name: grpc-5050
    port: 5050
    targetPort: 5050
  selector:
    name: grpc-api
  type: ClusterIP

Входящий:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    certmanager.k8s.io/cluster-issuer: letsencrypt-myns
    kubernetes.io/ingress.class: nginx
    nginx.ingress.kubernetes.io/backend-protocol: GRPC
    nginx.ingress.kubernetes.io/service-upstream: "true"
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
  labels:
    name: api-grpc
  name: api-grpc
  namespace: myns
spec:
  rules:
  - host: api.example.org
    http:
      paths:
      - backend:
          serviceName: grpc-api
          servicePort: 5000
        path: /
  tls:
  - hosts:
    - api.example.org
    secretName: grpc-api-ingress-cert

В документации упоминается externalTrafficPolicy: Local в службе , где тип - LoadBalancer. Достаточно ли добавить параметр выше в службу типа ClusterIP или мне нужно изменить его на что-то другое?

Заранее спасибо.

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