Прежде чем прочитать это, первое, что вам нужно, это настроить кластер AWS EKS в вашей учетной записи AWS. Если вы хотите развернуть в существующем VPC, пожалуйста, следуйте этим руководству: Настройка AWS EKS с существующим VPC
В последнее время у меня есть проблема, когда мне нужно настроить HTTP HTTPS на AWS EKS. Все учебное пособие на настройку не работает как результаты.
После выполнения всех шагов отладки я что-то понял. Все LB, созданные из EKS, всегда есть какой-то тип, все они классические. Даже когда вы уже добавляете Альбу с этой аннотацией.
kubernetes.io/ingress.class: alb
Таким образом, после выполнения других исследований и имеющих судебные процессы и ошибки, одна вещь, которую вы должны сделать, это установить контроллер входа на Люби, прежде чем делать другое. Вам просто нужно следить за 9 ступенями последовательно из этой документации. Простой. Настройка контроллера Alb Intress
После этого вы можете начать развертывать свой первый Alb с Kubernetes. Поскольку он создаст еще один AWS LB, вам нужно обратить внимание на вашу настройку, потому что ваш существующий не будет применим к SSL и должен иметь некоторую корректировку.
В самом любезении Alb Ingress Sometup вы можете выбрать следовать из одной из этой документации. Kubernetes AWS Docs Или следуйте этому AWS Docs. , особенно от шага № 7. Или вы можете просто использовать свой конфиг ниже:
--- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: your-ingress-name annotations: kubernetes.io/ingress.class: alb alb.ingress.kubernetes.io/certificate-arn: input-your-arn-from-youracm alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]' alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}' alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/group: your-target-group-name alb.ingress.kubernetes.io/target-type: ip | instance choose one labels: app: your-app-name spec: rules: - host: your-domain-service-name http: paths: - path: /* backend: serviceName: ssl-redirect servicePort: use-annotation - path: /* backend: serviceName: your-service-name servicePort: 80 --- apiVersion: v1 kind: Service metadata: name: your-service-name labels: app: your-service-label spec: selector: app: your-app-name ports: - name: http port: 80 targetPort: http - name: https port: 443 targetPort: http type: LoadBalancer | NodePort Choose one
Одна вещь, которую вам нужно знать, когда мы хотим создать новый ALB из EKS, в том, что тип спецификации может поддерживать только LoadBalancer
и Нотепорт
. Это не будет поддерживать Кластера
.
Если вы следуете за моим конфигурацией, вам нужно сделать две вещи. Во-первых, вам нужно сначала создать SSL в ACM, поскольку вам нужно указывать SSL и в проникновение. А второй, который вам нужно сделать, это указывать на наш новый ALB для AWS EKS к доменному имени, если вы этого не сделаете, он не будет работать.
Я думаю, что это сейчас для этой статьи. Оставьте комментарий ниже о ваших мыслях! Спасибо.
ПРИМЕЧАНИЕ: Эта статья, которую я использую для демонстрации в моих AWS онлайн-разговоров на здесь И презентация может видеть здесь
Оригинал: «https://dev.to/iilness2/practical-way-to-setup-redirect-http-to-https-with-aws-eks-3m5i»