Могу ли я использовать ingress-nginx для простого маршрутизации трафика? - PullRequest
0 голосов
/ 01 июня 2018

Мне очень нравятся схемы Ingress kubernetes.В настоящее время я использую ingress-nginx контроллеры для маршрутизации трафика в мои модули kubernetes.

Я хотел бы использовать это также для маршрутизации трафика на «нормальные» машины: то есть виртуальные или физические узлы, которые не являются частью моей инфраструктуры kubernetes.,Это возможно?Как?

Ответы [ 3 ]

0 голосов
/ 02 июня 2018

В Kubernetes вы можете определить службу externalName, в которой вы определяете FQND для внешнего сервера.

kind: Service
apiVersion: v1
metadata:
  name: my-service
  namespace: prod
spec:
  type: ExternalName
  externalName: my.database.example.com

Затем вы можете использовать my-service в своем правиле nginx.

0 голосов
/ 03 июня 2018

Вы можете создать статический сервис и соответствующие конечные точки для внешних сервисов, которые не являются k8s, а затем использовать сервис k8s во входе для маршрутизации трафика.Также вы видите входящий документ, чтобы включить пользовательскую проверку исходящего потока https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#custom-nginx-upstream-checks

В приведенном ниже примере просто измените порт / IP в соответствии с вашими потребностями

apiVersion: v1
kind: Service
metadata:
  labels:
    product: external-service
  name: external-service
spec:
  ports:
  - name: http
    port: 80
    targetPort: 80
    protocol: TCP
 ---
 apiVersion: v1
 kind: Endpoints
 metadata:
   labels:
     product: external-service
   name: external-service
 subsets:
 - addresses:
   - ip: x.x.x.x
   - ip: x.x.x.x
   - ip: x.x.x.x
   ports:
   - name: http
     port: 80
     protocol: TCP
0 голосов
/ 01 июня 2018

Я не думаю, что это возможно, поскольку ingress-nginx получает информацию о модулях через пространство имен наблюдения, службы, конечные точки, входящие ресурсы, а затем перенаправляет трафик на модули без этих ресурсов, специфичных для kubernetes, ingress-nginx не может найтиIPS, которые нуждаются в балансировке нагрузки.И у ingress-nginx не определен метод проверки работоспособности, это зависит от встроенной механики kubernetes, чтобы проверить работоспособность бегущих модулей.

...