인프런 커뮤니티 질문&답변

SpeedGogo님의 프로필 이미지

작성한 질문수

CloudNet@와 함께하는 Amazon EKS 기본 강의

기존 ALB에 추가로 path 붙여서 helm install 하기

24.03.19 17:21 작성

·

172

·

수정됨

0

NLB에 ExternalDNS 연결하는 것은 아래와 같이 하는 것 같습니다.

여기서 궁금한것이 기존 만들어진 ALB DNS에 path 추가해서 helm install 하고 싶은데 아래와 같이 하면 되는것인지 궁금합니다. 도와주세요. ㅡㅜ

path 추가 : 기본 DNS name + '/nginx'

 

// NLB에 ExternalDNS 연결

kubectl annotate service kube-ops-view -n kube-system "external-dns.alpha.kubernetes.io/hostname=kubeopsview.$MyDomain"

// NLB에 ExternalDNS 연결

kubectl annotate service tetris "external-dns.alpha.kubernetes.io/hostname=tetris.$MyDomain"

아니면 패스 추가 없이 아래 같이 하면 동작 할까요?

kubectl annotate service kube-ops-view -n default "DNS name/hostname=nginx.$MyDomain"

잘못날리면 보안 위규메일 날라와서 뜨끔뜨끔합니다. ㅡㅜ

 

답변 1

0

Ongja_CloudNet@님의 프로필 이미지
Ongja_CloudNet@
지식공유자

2024. 03. 20. 22:41

안녕하세요. CloudNet@ 팀입니다.

 

개인 일이 있어 확인이 늦었네요. 죄송합니다.🥲🥲🥲

질문을 쭉 읽어보았는데.. "기존 ALB"라는 것이 어떤 것인지 잘 이해가 안되네요.
어디선가 ingress로 정의되어 생성된 ALB를 다른 서비스에서 활용한다는 것일까요?

alb.ingress.kubernetes.io/group.namealb.ingress.kubernetes.io/load-balancer-name를 통해 그룹화하여 동일한 ALB를 활용할 수 있습니다만...


아무래도 externalDNS로 연결할 대상 서비스가 어떻게 구성되는지 알면 답변이 좀 더 수월할 것 같네요ㅠㅠ

 

감사합니다.

SpeedGogo님의 프로필 이미지
SpeedGogo
질문자

2024. 03. 21. 01:20

답변해주셔서 감사합니다.

"어디선가 ingress로 정의되어 생성된 ALB를 다른 서비스에서 활용한다는 것일까요?" -> 이말이 맞습니다. external DNS까지 가지 못했습니다.

 

현재 하나의 eks안에 하나의 alb를 만들고 1,2 번 아래와 같이 사용하고 있는데요. 현재 환경에 맞추어 실습을 하려다보니 helm install로 추가적으로 wordpress나 nginx 페이지 호출해서 로드를 주려고 했습니다. 그런데 helm install 하게되면 LB가 따로 생성되면서 dns name으로 호출하려고 하면 동작을 안하더라구요. 그래서 쉽게 할수 있는 방법을 찾다가 hlem install 할때 기존의 path를 맞춰주어 동작시키면 좀더 쉽지않을까 싶어 찾던중에 external dns 연결이랑 비슷하지 않을까 싶어서 문의를 드리게되었습니다.

 

  1. alb dns name + '/prometeus,

  2. alb dns name + '/kibana'

    kube ops view도 helm install로 설치하지만 동작을 잘하던데 어떤 포인트를 어떻게 체크해야할지 모르겠습니다. ㅡㅜ

     

     

    초보들이 어려워하는 부분 같은데 이런부분 강의가 있으면 좋겠습니다. 어떻게 체크하는지


    // kube-ops-view 설치 helm repo add geek-cookbook https://geek-cookbook.github.io/charts/ helm install kube-ops-view geek-cookbook/kube-ops-view --version 1.2.2 --set env.TZ="Asia/Seoul" --namespace kube-system kubectl patch svc -n kube-system kube-ops-view -p '{"spec":{"type":"LoadBalancer"}}' // kube-ops-view 접속 URL 확인 (1.5 배율) kubectl get svc -n kube-system kube-ops-view -o jsonpath={.status.loadBalancer.ingress[0].hostname} | awk '{ print "KUBE-OPS-VIEW URL = http://"$1":8080/#scale=1.5"}'

Ongja_CloudNet@님의 프로필 이미지
Ongja_CloudNet@
지식공유자

2024. 03. 21. 11:28

안녕하세요. CloudNet@ 팀입니다.

 

기존에 생성한 ingress 대상을 사용해서 다른 서비스와 연결하여 helm 배포하는 것으로 이해했습니다.

보통 helm로 설치할 때 별도의 파라미터를 정의해서 설치할 수 있습니다. 

명령어 기반으로 파라미터를 정의하거나 별도의 value 파일을 지정해서 조정할 수 있는 것이죠.

 

물론 정의할 수 있는 파라미터는 정형화된 형태가 아닌 서비스 마다 각기 다를 수 있습니다.

언급하신 kube-ops-view를 보면 버전 별로 다르겠지만 다양한 Value에 대한 정의를 하고 있습니다. (아래 링크)

https://artifacthub.io/packages/helm/christianhuth/kube-ops-view/2.8.1

helm install 할 때 value.yaml을 정의해서 배포할 수 있겠네요.

 

참고가 될 만한 것으로 EKS Hands-On 4장에서 아래 설정 파일 내용 같이 보시면 조금 더 이해되실 수도 있겠네요.

1.1. 프로메테우스 스택 설치 => 다운로드한 파라미터 파일 확인

4.1. NGINX 웹 서버 배포 => NGINX 파라미터 파일 확인

 

해당 실습도 Ingress 대상 로드밸런서 1대에 prometheus, grafana, nginx가 연결되도록 helm install 하는 환경입니다.

 

 

그리고 강의 목적에 따라 모든 영역의 세세한 설명이 힘든 점 양해 말씀드립니다ㅠㅠ

아무래도 시간의 제약도 있고 강의 주제에 집중할 수 밖에 없는 것이라;; 보내주신 의견 최대한 귀담아 듣고 향후 강의 반영하도록 노력하겠습니다.

 

감사합니다.