Я пытаюсь использовать Openshift v3 с одним мастером с настройкой одного узла. Я установил приложение examples/sample для ruby hello openshift, а модули и сервис работают. Когда я пытаюсь использовать параметры NodePort или LoadBalancer для включения внешнего доступа к интерфейсу этого приложения, я получаю следующее:
[root@openshift-master~]# curl openshift-node.tidalsoft:31597
curl: (7) Failed connect to openshift-node.tidalsoft:31597; No route to host
[root@openshift-master~]# oc describe service frontend
Name: frontend
Namespace: test
Labels: template=application-template-stibuild
Selector: name=frontend
Type: NodePort
IP: 172.30.252.16
Port: web 5432/TCP
NodePort: web 31597/TCP
Endpoints: 10.1.0.10:8080,10.1.0.13:8080
Session Affinity: None
No events.
когда я проверяю правила на узле:
[root@openshift-node~]# iptables -t nat -L | grep 31597
REDIRECT tcp -- anywhere anywhere /* test/frontend:web */ tcp dpt:31597 redir ports 39433
DNAT tcp -- anywhere anywhere /* test/frontend:web */ tcp dpt:31597 to:10.88.102.48:39433
Поэтому я добавил правила, разрешающие порт перенаправления 39433.
[root@openshift-node~]# iptables -I OS_FIREWALL_ALLOW -p tcp -m tcp --dport 39433 -j ACCEPT
После добавления этого правила внешний доступ начинает работать. Теперь я в замешательстве... это то, что нужно для внешнего доступа, или мне здесь не хватает какой-либо конфигурации?
Любые предложения будут отличными.