• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

Ingress 관련 질문이 있습니다.

20.09.03 17:04 작성 조회수 217

1

안녕하세요. 강사님. 

제가 Ingress 관련 강의 + Service 관련 내용을 수강하다 잘 안되는 부분이 있어서 이렇게 질문을 올립니다.

강의중 nginx를 이용하여 reverse proxy를 사용하는 부분이 있는데, 다른 부분은 잘 되는데, 이상하게 Master node에서만 curl 호출이 안됩니다. 다른 worker들은 제대로 실행이되는데 왜 Master node에서만 실행이 안되는 것일까요? 그리고 이전에도 로드밸런서가 아닌 nodeport 서비스에서도, Cluster IP를 통한 서비스에서도 master node에서만 해당 ip:port에 접속되지 않았습니다. 왜 이런 것인지 답변 부탁드리겠습니다. 항상 감사합니다. 

아래는 clusterip 예제입니다.(curl 10.100.26.162:9000/hostname 입력했을 때)

1. master node 

2. 4개의 worker nodes

참고로 제 개발환경은

aws ec2

ubuntu 18.04

master-node 1

worker 4

kubeadm으로 클러스터 구성

입니다. 

답변 3

·

답변을 작성해보세요.

1

답변 감사합니다. 제가 aws에서도 테스트 해보았고 서버컴퓨터4대를 연결해서 시도해 보았는데 동일한 문제가 발생합니다. 대시보드도 연결되고 node들도 정상적으로 연결되었는데 master node에서만 curl 호출이 안됩니다. 다른 node에서는 curl 호출이 정상적으로 되구요.... calico의 문제일 수 도 있는 건가요?? 

0

aws가 아닌 베어메탈에 직접 설치된 곳에서도 같은 현상이 발생하는건 좀 이상하네요.

calico 플러그인을 썼을때 해당 문제는 없거든요. 

저도 주로 마스터 노드에서 curl로 Pod ClusterIP를 호출하는데 잘 됩니다.

마스터노드에서 워커노드 IP에 대한 Ping은 잘 가나요?

그리고 해당 Pod에 Service를 붙였을때 Service IP로도 연결이 안되는지? (아마 안될것 같은데)

딱히 마스터 노드에 방화벽이 막혀 있지 않은한 일어나기 쉬운 현상은 아닌것 같아요.

한번 칼리코 플러그인이 이전 버전이면 최신 버전으로 다시 설치해보세요.

제 가이드 쿠버네네티스 설치 v1.18버전에 최신 calico 플러그인 설치가 있습니다.

0

안녕하세요.

네트워크 부분은 원인을 파악하기가 쉽지 않은 부분입니다 ㅎㅎ

특히 클라우드 서비스마다 네트워크 구성이 다르고, 거기서 설치되는 쿠버네티스 네트워크 플러그인(CNI)의 종류에 따라 또 작동하는 방식이 틀리거든요.

그래서 aws에서 노드간 curl이 가능한 CNI 플러그인이 어떤건지 알아보고 그게 되는 CNI를 설치하셔야 됩니다. 

아니면 aws의 방화벽 정책을 뚫어줘야 하는 경우도 있을 것 같고요.

저도 aws를 사용해보지 않아서 정확한 해결책을 드리기 힘들겠네요.

구글에 검색해보면 아래와 같이 해당 질문들이 나오는 것 같은데 이런 식으로 원인을 하나씩 찾아보셔야 할것 같아요.

https://stackoverflow.com/questions/49297226/kubernetes-cluster-ip-service-not-working-as-expected

감사합니다.