EKS 에서 http 를 https 로 리다이렉트 시켜주는 ALB 가 필요하다면, 아래와 같은 ingress 를 구성한다.
- 사전에 ACM 의 인증서 arn 이 필요하다.
$ vi ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
namespace: example
name: example-ingress
annotations:
# Ingress Core Settings
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: ip
alb.ingress.kubernetes.io/target-group-attributes: stickiness.enabled=true,stickiness.lb_cookie.duration_seconds=60
# SSL Settings
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
alb.ingress.kubernetes.io/certificate-arn: arn:aws:acm:ap-northeast-2:111122223333:certificate/11fceb32-9cc2-4b45-934f-c8903e4f9e12
alb.ingress.kubernetes.io/ssl-redirect: '443'
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: example-nodeport
port:
number: 80
기존 http 구성에 # SSL Setting 아래 3줄만 추가하였음.
기존 ingress 삭제하고 다시 생성.
$ kubectl delete -f ingress.yaml
ingress.networking.k8s.io "example-ingress" deleted
$ kubectl apply -f ingress.yaml
ingress.networking.k8s.io/example-ingress created
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.