Указывающий домен на Amazon ALB - Kubernetes - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть кластер, созданный с использованием eksctl, а также действительные сертификаты, созданные в ACM, я использовал метод DNS для подтверждения владения доменом и его успешного завершения.

ниже приведены подробности, которые я вижу, когда выполняя kubectl get ing

NAME                   HOSTS                 ADDRESS                                                                 PORTS   AGE
eks-learning-ingress   my-host.com   b29c58-production-91306872.us-east-1.elb.amazonaws.com   80      18h

, когда я получаю доступ к приложению, используя https://b29c58-production-91306872.us-east-1.elb.amazonaws.com, я вижу, что оно загружает приложение с предупреждением безопасности, потому что это не доменное имя, с которым являются сертификаты создано. Когда я пытаюсь выполнить https://my-host.com, я получаю тайм-аут.

У меня есть 2 вопроса

1) Я использую CNAMES, чтобы указать свой домен на AWS ELB, значения, которые я добавил для CNAME: name: my-host.com, points to: b29c58-production-91306872.us-east-1.elb.amazonaws.com. Это правильно?

2) ниже дано определение моего входного ресурса, может быть, я что-то упускаю из-за того, что в приложение не поступают запросы

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: eks-learning-ingress
  namespace: production
  annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/certificate-arn: arn:dseast-1:255982529496:sda7-a148-2d878ef678df
    alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS": 443}, {"HTTP": 8080}, {"HTTPS": 8443}]'
  labels:
    app: eks-learning-ingress
spec:
  rules:
  - host: my-host.com
    http:
      paths:
        - path: /*
          backend:
            serviceName: eks-learning-service
            servicePort: 80

Любая помощь будет очень полезной. Спасибо.

Ответы [ 2 ]

0 голосов
/ 25 февраля 2020

Я думаю, у вас несоответствие портов. https:// будет использовать порт 443, а не порт 80, но ваш вход, похоже, принимает запросы на порт 80, а не 443.

Если бы настроен 443, я бы ожидал увидеть его в списке портов как 80, 443

Можете ли вы с помощью telnet или nc или curl -vvvv подтвердить, что ваш вход фактически принимает запросы через порт 443? Если это так, проверьте тело ответа, указанное curl - оно должно дать вам некоторое представление о том, почему запрос не распространяется вниз к вашему сервису.

Мы используем nginx -ingress, поэтому, к сожалению, я не могу посмотрите на локальный входной конфиг и сравните его с вашим.

0 голосов
/ 25 февраля 2020

My go - для решения используется A-запись в Route 53. Вместо добавления IP-адреса вы выбираете опцию «alias» и выбираете балансировщик нагрузки. Amazon позаботится об остальном.

...