본문 바로가기
융복합 프로젝트 PZONE

<PZONE 프로젝트> 13. Ingress 적용하기

by 앙팡공기팡 2023. 2. 21.

 

 

지난 글

 

 

 

Secret 사용하기 : https://cooookieeee.tistory.com/14

 

 

 

 

 

진행사항

 

 

 

1. IAM Policy를 생성한다.  

 

 

2. OIDC provider 생성후 IAM serviceaccount 생성하여  policy 반영한다.

 

eksctl create iamserviceaccount \
--cluster=${ekscluster_name} \
--namespace=kube-system \
--name=aws-load-balancer-controller \
--attach-policy-arn=arn:aws:iam::${ACCOUNT_ID}:policy/AWSLoadBalancerControllerIAMPolicy \
--override-existing-serviceaccounts \
--region ${AWS_REGION} \
--approve

 

2. Cert manager pod 생성(인증서 관리)

 

export CERTMGR_VERSION=1.9.1
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v${CERTMGR_VERSION}/cert-manager.yaml
kubectl -n cert-manager get pods

 

3. aws loadbalancer-controller 생성

 

wget https://github.com/kubernetes-sigs/aws-load-balancer-controller/releases/download/v2.3.1/v2_3_1_full.yaml

kubectl apply -f v2_3_1_full.yaml

 

4. Ingress yaml 파일 통해 배포

 

 

 

 

결과

 

생성된 ingress 및 ADDRESS(endpoint)

 

 

 

application load balancer가 생성되었다.

 

각 가용영역의 public subnet에 생성된 것을 확인 가능하다.

 

문제점 및 개선점

 

 

1. AWS-load-balancer-controller가 crashbackuploof로 오작동문제

 

    -버전 일치 문제: cluster kube version이 1.22 이상일 때  v2.4.2써야함 난 2.3.1이었음

 

2. ingress path 지정 svc가 연결이 안되는 문제

 

    - ingress 사용시 연결 svc 의 type은 Nodeport로 변경해줄것

 

Ref

 

 

https://three-beans.tistory.com/entry/AWSEKS-%EC%BD%98%EC%86%94%EB%A1%9C-%EC%83%9D%EC%84%B1%ED%95%98%EB%8A%94-EKS-%E2%91%A0-intro-network-%EA%B3%A0%EB%A0%A4%EC%82%AC%ED%95%AD

 

-ALB, ingress설치시 사전 사항 (BUT eksctl로 생성시 이미 모두 충족)

 

https://awskocaptain.gitbook.io/aws-builders-eks/6.-eks-ingress#14.alb-ingress-controller-application

 

-eks ingress 설치