강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của luckim10158911
luckim10158911

câu hỏi đã được viết

CloudNet@ - Khóa học cơ bản về Amazon EKS

ingress 문제

Viết

·

1.6K

1

사진.pngingress에 address가 안 생기는데 뭐가 문제인지 알 수 있을까요?

네트워크awskubernetesamazon-ekseks

Câu trả lời 6

0

luckim10158911님의 프로필 이미지
luckim10158911
Người đặt câu hỏi

ingress문제와는 다른거지만, prometheus와 grafana 문제에서 인터넷에서 공부하다보니 push와 pull 방식으로 나눠진던데 어떤 상황에서 쓰이는지 혹시 알 수 있을까요?

ongja님의 프로필 이미지
ongja
Người chia sẻ kiến thức

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

관련 사항은 섹션 14에 두번째 영상에서 설명되고 있습니다. 약 5분 시점부터 보시면 이해될 거 같네요.

감사합니다.

0

ongja님의 프로필 이미지
ongja
Người chia sẻ kiến thức

서브넷에 Key는 kubernetes.io/role/elb와 Value는 1 태그를 강제로 지운 후 테스트하니 동일하게 재현했습니다 :)

image

ongja님의 프로필 이미지
ongja
Người chia sẻ kiến thức

태그 추가 후 정상 동작 확인했습니다~

image

0

ongja님의 프로필 이미지
ongja
Người chia sẻ kiến thức

보내주신 정보를 보니 지정한 서브넷의 라벨 정보에 따른 이슈로 보이네요.

참고 링크 : https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.1/deploy/subnet_discovery/

 

image

퍼블릭 서브넷 같은 경우는 태그에서 Key는 kubernetes.io/role/elb와 Value는 1이 있어야합니다.

혹시나 퍼블릭 서브넷에 해당 필드가 없으면 추가해 보세요.

 

 

그리고 테스트 결과에서 엔드포인트의 서브넷 대역이 192.168.10.0/24, 192.168.20.0/24, 192.168.30.0/24 이네요?

저희가 원클릭 배포에서 CloudFormation으로 구성한 서브넷은 192.168.1.0/24, 192.168.2.0/24, 192.168.3.0/24인데 말이죠.

아무래도 별도의 VPC 설정 변경이나 다른 작업으로 진행하시는 것 같은데 어떠한 기반 환경에서 진행한지 제가 알기 어렵네요ㅠ

 

0

luckim10158911님의 프로필 이미지
luckim10158911
Người đặt câu hỏi

image새로 만들어서 해도 증상이 해결되지 않아서,
image로그를 보니깐 이런 문제라고 뜨고 있습니다.

ongja님의 프로필 이미지
ongja
Người chia sẻ kiến thức

로그 내용이 일부분만 나와있고 일반적인 내용이라..

출력된 영역을 드래그해서 복사-붙여넣기 해주셔야 파악할 수 있겠네요ㅠ

luckim10158911님의 프로필 이미지
luckim10158911
Người đặt câu hỏi

[ec2-user@ip-192-168-0-51 ~]$ kubectl describe ingress -n game-2048 ingress-2048

Name: ingress-2048

Labels: <none>

Namespace: game-2048

Address:

Ingress Class: alb

Default backend: <default>

Rules:

Host Path Backends

---- ---- --------

*

/ service-2048:80 (192.168.20.141:80,192.168.30.160:80)

Annotations: alb.ingress.kubernetes.io/scheme: internet-facing

alb.ingress.kubernetes.io/target-type: ip

kubernetes.io/ingress.class: alb

Events:

Type Reason Age From Message

---- ------ ---- ---- -------

Warning FailedBuildModel 6m28s (x19 over 22m) ingress Failed build model due to couldn't auto-discover subnets: unable to resolve at least one subnet (0 match VPC and tags)

[ec2-user@ip-192-168-0-51 ~]$ kubectl logs deploy/aws-load-balancer-controller -n kube-system -f --tail=100

Found 2 pods, using pod/aws-load-balancer-controller-5d45fc86b-dfrqb

{"level":"info","ts":"2023-10-29T16:23:12Z","msg":"version","GitVersion":"v2.6.2","GitCommit":"5e07dced064969588164c60cd493ce7921e913da","BuildDate":"2023-10-27T19:20:16+0000"}

{"level":"info","ts":"2023-10-29T16:23:12Z","logger":"controller-runtime.metrics","msg":"Metrics server is starting to listen","addr":":8080"}

{"level":"info","ts":"2023-10-29T16:23:12Z","logger":"setup","msg":"adding health check for controller"}

{"level":"info","ts":"2023-10-29T16:23:12Z","logger":"controller-runtime.webhook","msg":"Registering webhook","path":"/mutate-v1-pod"}

{"level":"info","ts":"2023-10-29T16:23:12Z","logger":"controller-runtime.webhook","msg":"Registering webhook","path":"/mutate-v1-service"}

{"level":"info","ts":"2023-10-29T16:23:12Z","logger":"controller-runtime.webhook","msg":"Registering webhook","path":"/validate-elbv2-k8s-aws-v1beta1-ingressclassparams"}

{"level":"info","ts":"2023-10-29T16:23:12Z","logger":"controller-runtime.webhook","msg":"Registering webhook","path":"/mutate-elbv2-k8s-aws-v1beta1-targetgroupbinding"}

{"level":"info","ts":"2023-10-29T16:23:12Z","logger":"controller-runtime.webhook","msg":"Registering webhook","path":"/validate-elbv2-k8s-aws-v1beta1-targetgroupbinding"}

{"level":"info","ts":"2023-10-29T16:23:12Z","logger":"controller-runtime.webhook","msg":"Registering webhook","path":"/validate-networking-v1-ingress"}

{"level":"info","ts":"2023-10-29T16:23:12Z","logger":"setup","msg":"starting podInfo repo"}

{"level":"info","ts":"2023-10-29T16:23:14Z","msg":"Starting server","kind":"health probe","addr":"[::]:61779"}

{"level":"info","ts":"2023-10-29T16:23:14Z","msg":"Starting server","path":"/metrics","kind":"metrics","addr":"[::]:8080"}

{"level":"info","ts":"2023-10-29T16:23:14Z","logger":"controller-runtime.webhook.webhooks","msg":"Starting webhook server"}

{"level":"info","ts":"2023-10-29T16:23:14Z","logger":"controller-runtime.certwatcher","msg":"Updated current TLS certificate"}

{"level":"info","ts":"2023-10-29T16:23:14Z","logger":"controller-runtime.webhook","msg":"Serving webhook server","host":"","port":9443}

{"level":"info","ts":"2023-10-29T16:23:14Z","logger":"controller-runtime.certwatcher","msg":"Starting certificate watcher"}

I1029 16:23:14.445378 1 leaderelection.go:248] attempting to acquire leader lease kube-system/aws-load-balancer-controller-leader...

{"level":"info","ts":"2023-10-30T02:47:28Z","msg":"setting service loadBalancerClass","service":"grafana","loadBalancerClass":"service.k8s.aws/nlb"}

 

이렇게 뜨고

 

[ec2-user@ip-192-168-0-51 ~]$ kubectl describe ingress -n game-2048 ingress-2048

Name: ingress-2048

Labels: <none>

Namespace: game-2048

Address:

Ingress Class: alb

Default backend: <default>

Rules:

Host Path Backends

---- ---- --------

*

/ service-2048:80 (192.168.20.141:80,192.168.30.160:80)

Annotations: alb.ingress.kubernetes.io/scheme: internet-facing

alb.ingress.kubernetes.io/target-type: ip

kubernetes.io/ingress.class: alb

Events:

Type Reason Age From Message

---- ------ ---- ---- -------

Warning FailedBuildModel 7m51s (x19 over 24m) ingress Failed build model due to couldn't auto-discover subnets: unable to resolve at least one subnet (0 match VPC and tags)

ingress 확인하니깐 vpc 태그 문제라고 뜨는데 이쪽 문제라서 ingress가 정상적으로 작동하지 않고 있는걸까요?

0

luckim10158911님의 프로필 이미지
luckim10158911
Người đặt câu hỏi

image이 단계 이후에 바로 ingress(ALB)로 넘어갔습니다.

ongja님의 프로필 이미지
ongja
Người chia sẻ kiến thức

Service(NLB)와 별개 실습으로 상관없네요.

ingress 배포하고 로그 결과 확인 가능할까요?
kubectl logs deploy/aws-load-balancer-controller -n kube-system -f --tail=100

0

ongja님의 프로필 이미지
ongja
Người chia sẻ kiến thức

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

ingress 생성 관련 문의를 주셨는데요. 관련해서 EKS Hands-On에 따라 실습을 진행해도 큰 문제 없이 동작합니다. 스샷 결과만 보고는 어떤 부분이 문제일지 파악이 어렵네요ㅠ

aws-load-balancer-controller에서 로그 정보를 확인하면 무엇이 문제인지 파악할 수 있을 것이라 생각이듭니다.

kubectl logs deploy/aws-load-balancer-controller -n kube-system -f --tail=100

 

 

그리고 구글링을 통해 해당 이슈가 발생하는 경우를 살펴보았는데요.
아래 링크를 확인해 보면 동일 현상으로 IngressClass Name에 대한 이슈로 발생하는 것 같네요.

https://stackoverflow.com/questions/51511547/empty-address-kubernetes-ingress

 

1) 먼저 ingress-class 이름을 확인합니다. 아마 --ingress-class=alb 로 출력 될 것입니다.

kubectl describe deploy aws-load-balancer-controller -n kube-system | grep class

 

2) ingress1.yaml 파일에서 Ingress 영역의 metadata의 annotation에서 kubernetes.io/ingress.class: alb로 지정한 후 생성해 보세요.

...
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  namespace: game-2048
  name: ingress-2048
  annotations:
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip
    kubernetes.io/ingress.class: alb

spec:
  ingressClassName: alb

...

 

저도 증상이 재현되면 조금 더 살펴볼 수 있을 것인데 그렇지 않아 아쉽네요.

무언가 잘못 설정한 부분이 없는지 다시 한 번 살펴보시면 좋을 것 같습니다.

 

감사합니다.

 

luckim10158911님의 프로필 이미지
luckim10158911
Người đặt câu hỏi

감사합니다. 혹시 다른 부분 Hands-On 부분을 건너뛰고, Ingress(ALB) 파트만 진행해도 ADRESS가 떠야하는게 정상인지 알 수 있을까요?

ongja님의 프로필 이미지
ongja
Người chia sẻ kiến thức

어느 영역을 건너뛰고 진행한지 모르겠지만 AWS Load Balancer Controller 생성을 해야겠죠?

저같은 경우 아까 진행한 실습은 기본 설정 명령어와 AWS Load Balancer Controller 배포 후 바로 Ingress 테스트 진행했습니다.

luckim10158911님의 프로필 이미지
luckim10158911
Người đặt câu hỏi

저 같은 경우에는 AWS Load Balancer Controller 설치 및 배포하고 나서 진행했습니다!

 

ongja님의 프로필 이미지
ongja
Người chia sẻ kiến thức

그러면 다른 부분을 건너뛰는 것은 상관을 것 같아요.

아무래도 복잡하지만 로그를 통해 왜 Address 생성되지 않았는지 파악해야 그에 따라 어떤 문제인지 알 수 있을 것 같네요.

현재 증상이 재현되거나 나중에라도 증상이 재현되면 로그 확인 후 남겨 주세요.
같이 한번 고민해시죠~ :)

Hình ảnh hồ sơ của luckim10158911
luckim10158911

câu hỏi đã được viết

Đặt câu hỏi