гептио-контур наружный ip на голый металл - PullRequest
0 голосов
/ 23 мая 2018

Я настроил кластер kubernetes, используя kubespray , и теперь я пытаюсь следовать этому руководству

root@node1 ~ # kubectl get -n heptio-contour service contour -o wide
NAME      TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)                      AGE       SELECTOR
contour   LoadBalancer   10.233.55.94   <pending>     80:32414/TCP,443:30149/TCP   42m       app=contour

Кажется, EXTERNAL-IP находится на рассмотрениипотому что я на голой железной машине (не AWS / GKE и т. д.)

Что мне нужно сделать, чтобы получить внешний IP-адрес, показывающий там?

1 Ответ

0 голосов
/ 23 мая 2018

Kubernetes предлагает три способа предоставления услуги:

1) L4 LoadBalancer : доступно только для облачных провайдеров, таких как GCE и AWS

2) Предоставление сервиса через NodePort: Директива NodePort выделяет порт на каждом рабочем узле, который передает трафик на соответствующий Pod.

3) L7 Ingress: Ingress является выделенным балансировщиком нагрузки (например, nginx, HAProxy, traefik, vulcand), который перенаправляет входящий трафик HTTP / HTTPS на соответствующие конечные точки

Kubernetes не предлагает реализацию сетевых балансировщиков нагрузки (Услуги типаLoadBalancer) для кластеров «без металла».

Если вы не используете кластер Kubernetes на поддерживаемой платформе IaaS (GCP, AWS, Azure ...), LoadBalancers останется в состоянии «ожидания» независимо от того, в какое время они находилисьсоздал.

Причиной является отсутствие поддержки IP-маршрутизации между внешним миром и Kubernetes;по умолчанию не реализована передача зон DNS, используемых Ingress для выделения связи внутри кластера.

Существуют внешние проекты, которые предоставляют «голое железо» даже в режиме кластеров федерации, чтобы быть частью автономного или гибридного решения.

Это зависит от масштаба и зрелости проектов, которые у вас есть, поэтому начинать следует с выбора правильного балансировщика нагрузки или VIP поставщика:

https://github.com/google/metallb

https://docs.traefik.io/

https://github.com/kubernetes/contrib/tree/master/keepalived-vip

http://vulcand.github.io/

и устарело:

http://www.linuxvirtualserver.org/software/ipvs.html

Пожалуйстаобратите внимание, что в федеративных кластерах (более одного чистого кластера Kubernetes) требуется экспортировать IP-адрес каждой физической машины центральному провайдеру API, и, вероятно, он не охватывается ссылками, которые я вам предоставил.

...