坦率地说,我不太清楚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
我只想将端口80上的http流量重定向到443上的https-我的问题-是否可以配置 service 来做到这一点,或者我需要一个入口控制器?对于Ingress控制器(如果可能,我会尽量避免),相关的配置如下所示:
https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/tasks/ssl_redirect/
答案 0 :(得分:0)
您无法通过服务执行此操作,而必须使用入口控制器,但请查看Tenzer workaround。它包含一个很好的解决方案,并说明了如何预先配置服务和Nginx配置configmap。
或者,您可以在https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/tasks/ssl_redirect/中使用您的方法,或者在Kubernetes HTTP to HTTPS Redirect on AWS with ELB terminating SSL 帖子中浏览