Какое отношение имеет Ingress к распределителю нагрузки Kubernetes? - PullRequest
0 голосов
/ 20 ноября 2018

Это то, что я определяю в файле k8s.yml:

apiVersion: v1
kind: Service
metadata:
  name: myservice
  namespace: mynamespace
  labels:
    app: myservice
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0
    service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
    external-dns.alpha.kubernetes.io/hostname: "myservice."
spec:
  selector:
    app: myservice
  type: LoadBalancer
  ports:
  - name: http
    port: 8080
    targetPort: 8080
    protocol: TCP

Выполнение этой команды:

kubectl describe service myservice

дает мне «LoadBalancer Ingress» следующим образом:

Тип: IP-адрес LoadBalancer:
25.0.162.225 Вход LoadBalancer: internal-a9716e ...... us-west-2.elb.amazonaws.com

Как яПонимаю, что тип публикации, который я использую, - «LoadBalancer», который помогает мне выставлять мою Службу на внешний IP-адрес (см. https://kubernetes.io/docs/concepts/services-networking/connect-applications-service/).. И Ingress - это другая вещь, которая находится перед Службами, и я этого не делалопределите его в моем файле yml. (см .: https://medium.com/google-cloud/kubernetes-nodeport-vs-loadbalancer-vs-ingress-when-should-i-use-what-922f010849e0) С помощью «Входной нагрузки LoadBalancer» я могу получить доступ к своей службе из-за пределов кластера, но я не понимаю, почему она называется «Входной нагрузки LoadBalancer»?это имеет отношение к Ingress? Или это правда, что каждый балансировщик нагрузки оборудован Ingress для предоставления услуг?

1 Ответ

0 голосов
/ 20 ноября 2018

Ingress - это абстрактное определение того, что разоблачать и как.Обычно относится к HTTP (S) трафику, но с некоторой тряпкой могут работать и другие режимы / протоколы.

Ingress Controller - это конкретная реализация, которая будет реализовывать ваши ожидания, определенные Ingress, с использованием определенного программного обеспечения.Будь то Nginx, Traefik или какое-либо другое решение, потенциально предназначенное для конкретного облачного провайдера.

Они будут использовать Service объекты в качестве средства для определения того, какие конечные точки использовать для конкретных трафиков, которые достигли их.Это не имеет никакого значения, если это тип обслуживания headless, ClusterIP, NodePort или LoadBalancer.

При этом служба типа LoadBalancer подвергает ваш сервис неожиданному балансировщику нагрузки.Опять же, обычно это связано с вашим облачным провайдером.Это совершенно другой способ разоблачения вашего сервиса, например NodePort.

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