Переадресация порта Kubernetes между хост-машиной и узлами? #LoadBalancer

В эти выходные у меня было 1 задание, чтобы на моем домашнем сервере работало OpenFaas Cloud. Отказ от ответственности, я очень мало знаю о Kubernetes.

Я следовал руководству по OpenFaas Cloud здесь. Слабая группа была очень полезна, но я все еще застрял: https://github.com/openfaas-incubator/ofc-bootstrap

Итак, у меня есть кластер kubernetes на хост-машине (Ubuntu 16.04). Его IP составляет 192.168.0.98.

Я хотел бы отобразить порт 80 на моем хосте (192.168.0.98), чтобы он отправлял трафик на LoadBalancer(10.104.107.60)

kubernetes                                   ClusterIP      10.96.0.1       <none>        443/TCP                      6h30m

nginxingress-nginx-ingress-controller        LoadBalancer   10.104.107.60   <pending>     80:31166/TCP,443:30837/TCP   4h42m

nginxingress-nginx-ingress-default-backend   ClusterIP      10.97.123.87    <none>        80/TCP                       4h42m

LoadBalancer запускает nginx-ingress, когда я спросил о переадресации портов в группе OpenFaas, которую они упомянули:

Nginx -> маршрутизатор -> авторизация -> шлюз -> функция

В облаке балансировщик нагрузки получает IP-адрес, и вы устанавливаете DNS, после чего доступ к балансировщику нагрузки соответствует nginx. Вы находитесь в помещении, поэтому вам необходимо отредактировать конфигурацию nginx, чтобы она привязывалась к порту 80/443, или использовать HAProxy на хосте для Перейдите к nginx, который вы запускаете на узле внутри кластера.

Это вышло за рамки моих навыков:(

2 ответа

Решение

Вы можете довольно легко изменить тип службы LoadBalancer на NodePort, обновив соответствующую таблицу управления nginx-ingress-controller:

helm upgrade nginxingress stable/nginx-ingress --set \
controller.service.type=NodePort --recreate-pods

Теперь вы сможете подключиться к шлюзу openfaas через http://localhost_ip:node_port/

Предполагая, что переадресация портов уровня Hyper-V настроена, как вы упомянули, вы захотите переключить основную службу с LoadBalancer на NodePort и либо перенести конкретный порт узла, либо переадресовать, в зависимости от того, что будет выбрано.

Другие вопросы по тегам