Переадресация порта 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 и либо перенести конкретный порт узла, либо переадресовать, в зависимости от того, что будет выбрано.