Трафик не хочет работать на порте 80 AWS
Пожалуйста, помогите мне разобраться с доступностью моего простого приложения k8s через traefik в AWS.
Я пытался выставить порты 30000-32767 на главном узле, в группе безопасности и приложение доступно из мира, не хочет работать только 80 портов traefik! Когда я попытался выставить 80 порт в группе безопасности мастера, я получил ОТКЛЮЧЕНО ПОДКЛЮЧЕНИЕ, при попытке получить доступ к моему приложению в браузере, и когда я удаляю незащищенный порт, появляется ошибка РАЗРЯДКА СОЕДИНЕНИЯ в браузере... в чем проблема??? Все сервисы k8s работают без ошибок в traefik.
KOPS:
kops create cluster \
--node-count = 2 \
--networking calico \
--node-size = t2.micro \
--master-size = t2.micro \
--master-count = 1 \
--zones = us-east-1a \
--name = ${KOPS_CLUSTER_NAME}
K8S app.yml и traefik.yml:
- приложение
- traefik
Когда я наберу myapp.com, я хочу получить вывод приложения echoserver на 80 порт.
2 ответа
О, проблема в следующем. У меня нелегальное доменное имя, поэтому я попытался зарегистрировать новый бесплатный легальный домен на freenom.com. Установите NS записи NS в настройках домена, создали размещенную зону нового домена в R53, с псевдонимом A запись для доменного имени loadbalancer, и это работает! Также изменил тип: NodePort для типа: LoadBalancer в конфигурации службы traefik.
Вы настроили все с помощью службы NodePort:
kind: Service
apiVersion: v1
metadata:
name: traefik-ingress-service
# namespace: kube-system
spec:
selector:
k8s-app: traefik-ingress-lb
ports:
- protocol: TCP
port: 80
name: web
- protocol: TCP
port: 8080
name: admin
type: NodePort
Это не означает, что прокси-сервер службы будет прослушивать порт 80 от PoV внешнего мира. По умолчанию службы NodePort автоматически распределяют свой порт случайным образом. Что вы, вероятно, хотите сделать, это использовать службу LoadBalancer вместо. Проверьте https://github.com/Ridecell/kubernetes/blob/9e034f4d0fb38e49f808ae0852af74366f630d48/manifests/traefik.yml#L152-L171 для примера.