반응형
Jen'_'
Jen's Space
Email
GitHub
전체 방문자
오늘
어제
  • 분류 전체보기 (98)
    • Ansible (4)
      • 우아한앤서블 (4)
    • Cloud (19)
      • AWS (17)
      • GCP (2)
    • DevOps (40)
      • Docker (6)
      • Kubernetes (26)
      • CICD (6)
      • Terraform (2)
    • Language (13)
      • Python (12)
      • Node.js (1)
    • Linux (10)
    • etc. (7)
    • 개인기록 (1)
    • AEWS (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 피드백 환영합니다 :)

인기 글

태그

  • INGRESS
  • ansible
  • EKS
  • Kubernetes
  • argocd
  • Docker
  • ubuntu
  • AWS
  • autoscaling
  • jenkins
  • 자격증
  • 쿠버네티스
  • terraform
  • k8s
  • ALB
  • karpenter
  • vagrant
  • gitops
  • 우아하게앤서블
  • CICD

최근 댓글

Jen'_'

Jen's Space

[EKS] alb-ingress-controller path 기반 라우팅 404 에러
DevOps/Kubernetes

[EKS] alb-ingress-controller path 기반 라우팅 404 에러

2021. 12. 20. 16:12
반응형

경로에 따라서 라우팅을 할 수 있도록 ALB Ingress를 작성하고 싶었습니다.

하지만 www.example.com/nginx 를 할 때마다 계속 404 에러가 났습니다. (jenkins 포함)

왜 에러가 났는지 포스팅하겠습니다.

 

 

해당 Ingress 파일 내용

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
apiVersion: extensions/v1beta1   
kind: Ingress
metadata:
  name: ingress
  namespace: kube-system
  annotations:
    kubernetes.io/ingress.class: alb 
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: instance
spec:
  rules:  
  - host: www.example.com
    http:
      paths:
      - path: /jenkins
        pathType: Prefix
        backend:
          serviceName: jenkins-svc
          servicePort: 443
      - path: /nginx
        pathType: Prefix
        backend:
          serviceName: nginx-svc
          servicePort: 443
cs
 

 

 

$ kubectl logs -f <NGINX_POD_NAME>

xxx.xxx.xxx.xxx - - [20/Dec/2021:05:32:53 +0000] "GET /nginx HTTP/1.1" 404 555 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/xxx.xxx.xxx.xxx Safari/xxx.xxx" "xxx.xxx.xxx.xxx"
2021/12/20 05:32:53 [error] 37#37: *345 open() "/usr/share/nginx/html/nginx" failed (2: No such file or directory), client: xxx.xxx.xxx.xxx, server: localhost, request: "GET /nginx HTTP/1.1", host: "www.example.com"

 

 

alb ingress는 path를 수정하지 않고 그대로 전달하기 때문에 목적지 pod에 /nginx 디렉터리가 있어야 합니다.

 

/nginx -> / 으로 Re Write 하고 싶다면 Ingress Nginx Controller의 rewrite 기능이 있습니다.

참고: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#rewrite

 

반응형
저작자표시 (새창열림)

'DevOps > Kubernetes' 카테고리의 다른 글

[EKS] eksctl create cluster yaml file 생성  (0) 2022.03.18
[EKS] AWS EBS 볼륨을 K8S PV로 사용  (0) 2021.12.22
[ECS] Fargate 사용해보기  (0) 2021.09.05
[EKS] alb-ingress-controller 사용해보기  (0) 2021.08.31
[EKS] nginx-ingress-controller, NLB 사용해보기  (4) 2021.08.25
    'DevOps/Kubernetes' 카테고리의 다른 글
    • [EKS] eksctl create cluster yaml file 생성
    • [EKS] AWS EBS 볼륨을 K8S PV로 사용
    • [ECS] Fargate 사용해보기
    • [EKS] alb-ingress-controller 사용해보기
    Jen'_'
    Jen'_'
    DevOps 엔지니어 Jen의 기술 블로그 / 이메일: jenakim47@gmail.com

    티스토리툴바