반응형
개요
https://kubernetes.github.io/ingress-nginx/deploy/#aws
공식문서에서 deploy.yaml 을 다운받아서 acm 설정한 다음 kubectl apply -f deploy.yaml을 했을 때는 https 접속이 정상적으로 됐음
https://github.com/kubernetes/ingress-nginx
그런데 helm chart 로 설치를 했더니 "The plain HTTP request was sent to HTTPS port" 에러가 뜨면서 https 접속이 안됨
해결 방법
helm chart info
repo: ingress-nginx
repo url: https://kubernetes.github.io/ingress-nginx
chart: ingress-nginx
version: 4.1.2
values.yaml
controller:
service:
annotations:
service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "3600"
service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
service.beta.kubernetes.io/aws-load-balancer-ssl-cert: {ACM_ARN}
service.beta.kubernetes.io/aws-load-balancer-backend-protocol: 'http'
service.beta.kubernetes.io/aws-load-balancer-ssl-ports: '443'
service.beta.kubernetes.io/aws-load-balancer-type: nlb
targetPorts:
https: http # TLS (https) terminated at ELB, so internal endpoint is 'http'
- controller.service.annotations 에서 service.beta.kubernetes.io/aws-load-balancer-backend-protocol: 'http' 값을 넣어야 합니다.
- controller.service.targetPorts 에서 https: http로 변경해야 합니다.
설치 명령어
$ helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
$ helm upgrade -i ingress-nginx ingress-nginx/ingress-nginx --version 4.1.2 -n ingress-nginx --create-namespace -f values.yaml
README에 잘 적혀있다는 걸 기껏 삽질한 후에 알게 됐습니다..
설치 결과
ingress-nginx-controller 가 설치됐습니다.
443 포트에 acm 이 붙은 걸 확인할 수 있습니다.
테스트
테스트를 위해서 argocd에 ingress 설정을 해서 설치를 한 후 https 접속이 원할이 되는지 확인해 보겠습니다.
ingress:
enabled: true
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /
ingressClassName: "nginx"
hosts:
- argocd.jenana.net
k get ing -n argocd를 하면 address에 ingress-nginx-controller의 LB 주소가 붙습니다.
잠금열쇠 표시로 https 접속이 정상적으로 된 것을 확인할 수 있습니다.
오늘의 교훈
설치 전 리드미를 잘 읽어보자...
반응형
'DevOps > Kubernetes' 카테고리의 다른 글
[k8s] Graceful Shutdown을 위한 preStop, terminationGracePeriodSeconds 설정 (0) | 2022.06.29 |
---|---|
Kubernetes Component (0) | 2022.06.22 |
[EKS] eksctl create cluster yaml file 생성 (0) | 2022.03.18 |
[EKS] AWS EBS 볼륨을 K8S PV로 사용 (0) | 2021.12.22 |
[EKS] alb-ingress-controller path 기반 라우팅 404 에러 (0) | 2021.12.20 |