Привет, я пытаюсь заставить клиента real-ip ограничить некоторый доступ в pod в среде kubernetes

#kubernetes #kubernetes-ingress #kong #kong-ingress

#кубернетес #kubernetes-вход #конг #конг-проникновение

Вопрос:

Привет, я пытаюсь заставить реальный ip-адрес клиента ограничить некоторый доступ в pod. Но, к сожалению, я всегда получаю 10.244.1.1 в каждом модуле. Я пробовал с https://kubernetes.io/docs/tutorials/services/source-ip / но, к сожалению, безуспешно. Пожалуйста, помогите.

Я использую kubernetes версии 1.8.2 на серверах cent os 7 bare metal для кластера kubernetes. У меня нет другого выбора , кроме как использовать голый металл . В качестве контроллера входа я использую kong. Мой контроллер входа kong всегда получает 10.244.1.1. В kong есть функция, называемая IP restriction. Я пытаюсь это использовать.

Поэтому другие предложили использовать другой kong hop в качестве балансировщика нагрузки, что не является хорошим решением для моей ситуации.

Комментарии:

1. Рассматривали ли вы возможность обновления вашего кластера Kubernetes — версия, которую вы используете, устарела? Это может помочь.

2. Я также пробовал с версией v1.18.6, но, к сожалению, получил тот же результат

3. Вам помог ответ @Tieske?

Ответ №1:

Вам нужно указать политику трафика в службе kong-proxy

 spec:
...
  selector:
    app: ingress-kong
  type: LoadBalancer
  externalTrafficPolicy: Local
  

И вам может потребоваться добавить одну или обе из следующих переменных среды в контейнер kong

 - name: KONG_TRUSTED_IPS
  value: 0.0.0.0/0,::/0
- name: KONG_REAL_IP_RECURSIVE
  value: "on"
  

Я получил это, работая с экземпляром k3s.

Подробная информация о проблемах с исходным IP-адресом приведена в разделе «Рекомендации по использованию bare metal для k8s» в документации k8s и «сохранение IP-адресов клиентов» в kong docs. Они содержат слишком много деталей, чтобы кратко суммировать.

Комментарии:

1. Sit et simpliciter. Спасибо!

Ответ №2:

Проверьте свойства для определения «реального IP» (https://docs.konghq.com/2.1.x/configuration/#trusted_ips ):

  • trusted_ips
  • real_ip_header
  • real_ip_recursive

Это также может представлять интерес:https://github.com/Kong/kong/pull/5861