Используйте aws-load-balancer для перенаправления на 301 - или мне нужен Ingress-контроллер

Честно говоря, я не совсем уверен в разнице между службой EKS и IngressController. У меня есть такая услуга:

apiVersion: v1
kind: Service
metadata:
  namespace: entity-tools-integration
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: arn:aws:acm:us-west-2:913xxx371:certificate/d98d8d07
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: http
    service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "443"
  labels:
    app: entity-tools-integration
  name: entity-tools-integration
spec:
  type: LoadBalancer
  ports:
    - name: http
      protocol: TCP
      port: 80
      targetPort: 80
    - name: https
      protocol: TCP
      port: 443
      targetPort: 80
  selector:
    app: entity-tools-integration

Я просто хочу перенаправить http-трафик с порта 80 на https на 443 - мой вопрос - есть ли способ настроить мою службу для этого, или мне нужен входной контроллер? для входящего контроллера (которого я бы хотел избежать, если это возможно) соответствующая конфигурация выглядит примерно так:

https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/tasks/ssl_redirect/


person Community    schedule 26.07.2019    source источник
comment
Я считаю, что нет никакого способа перенаправить HTTP-трафик на HTTPS с помощью балансировщиков нагрузки AWS в целом, поэтому, в частности, вероятно, нет способа сделать это с Kubernetes на AWS и Service из type: LoadBalancer. Вам не нужен контроллер входящего трафика как таковой, ваши поды могут включать контейнер, который получает HTTP-трафик и перенаправляет его с помощью 301.   -  person Amit Kumar Gupta    schedule 26.07.2019
comment
Если это ALB, вы можете использовать правила перенаправления.   -  person James Dean    schedule 26.07.2019
comment
@MrCholo, eks - это самоуправляемый кластер Kubernetes от aws, а входной контроллер - это ресурс Kubernetes   -  person c4f4t0r    schedule 09.08.2019


Ответы (1)


Вы не можете сделать это через службу и должны использовать входной контроллер, но посмотрите Временное решение Tenzer. В нем содержится хорошее решение с объяснением, как предварительно настроить конфигурационную карту как службы, так и конфигурации nginx.

В качестве альтернативы вы можете использовать свой подход с помощью https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/tasks/ssl_redirect/ или локк в Kubernetes HTTP to HTTPS Redirect on AWS with ELB terminating-SSL post

person Vit    schedule 09.08.2019