Я создал кластер Kubernetes (1x Master / 2x Workers), на котором выполняется контейнерное веб-приложение Flask. Я создал развертывание / службу на главном узле, который предоставляет NodePort для доступа к приложению, работающему на рабочих под: 5000.
Пакеты приложений активны, а служба NodePort доступна. Однако из-за кластера, работающего на экземпляре AWS EC2 с его собственными IP-адресами, я не могу получить доступ к кластерному приложению через IP-адрес NodePort.
Я обдумываю самый простой способ получить доступ к кластерному приложению Flask через: 5000 через локальный браузер?
Предыстория:
Я много читал о Kubernetes Ingress и AWS ELB / ALB NGINX Ingress, чтобы обойти эту проблему, однако из-за того, что я пробовал, я не смог настроить эту маршрутизацию. Это кажется довольно сложным, и я не смог найти каких-либо легко понятных ресурсов для применения в моей ситуации.
Я подумал, что более простым решением может быть установка простого обратного прокси-сервера NGINX, который работает на моем главном узле, для преобразования трафика, поступающего через [ec2_public_ip]: 5000 в [nodeport-cluster-ip]: 5000 , Это только казалось, что зависло и время ожидания после 60 секунд однако.
Это мои настройки кластера:
NAME READY STATUS RESTARTS AGE
pod/anagram-app-55996478f5-mdnlg 1/1 Running 0 13m
pod/anagram-app-55996478f5-qkn7p 1/1 Running 0 13m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/anagram-app NodePort 10.108.225.119 <none> 5000:30230/TCP 13m
service/kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 14m
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/anagram-app 2/2 2 2 13m
NAME DESIRED CURRENT READY AGE
replicaset.apps/anagram-app-55996478f5 2 2 2 13m
kubectl logs anagram-app-55996478f5-mdnlg (чтобы показать приложение Flask активным):
* Serving Flask app "app" (lazy loading)
* Environment: production
WARNING: Do not use the development server in a production environment.
Use a production WSGI server instead.
* Debug mode: on
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
* Restarting with stat
* Debugger is active!
* Debugger PIN: 212-934-957
Я просто ищу простой способ доступа к кластерному приложению через мой браузер через порт: 5000. Если кто-то испытывал радость от этого на AWS EC2, я открыт для идей:)
Заранее спасибо ..