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

dygks3240님의 프로필 이미지

작성한 질문수

데브옵스(DevOps)를 위한 쿠버네티스 마스터

포드 연습문제 풀어보기

GCP 환경 실습

작성

·

239

0

현재 vm 이 아닌 GCP 환경에서 실습을 진행중입니다.

와중에 마스터 노드에 jenkins 포드를 생성하고 외부에서 접근할때, 마스터 노드가 띄워져있는 인스턴스에서가 아닌 제 정말 로컬에서 접근하고자 합니다.

하여 GCP 에서 할당해준외부ip:8888 로 접근하려고 하자 접근이 잘 되지 않습니다.

ping 을 보내어봐도 핑은 잘 가는것으로 보아 서버ip 는 잘 열려있는데 포트가 막힌것인지 궁금합니다. 혹시 이게 맞다면 따로 방화벽룰 을 설정한다거나 해야할까요?

답변 2

0

안녕하세요 dygks3240님

최일선 강사입니다.

Cilium 관련 질문을 하셨던 것으로봐서 이미 문제는 해결하셨으리라 생각은 됩니다.

그래도 혹시 모르지 몇자 적어두겠습니다.

Jenkins의 파드를 구성하고 외부에서 접근하실 때는 kubectl port-forward 명령을 사용하셨을 것인데

이 명령은 기본적으로 localhost에서만 접근가능하도록 열립니다.

 

따라서 이 명령을 통해서 외부에서 접근하고자하신다면

다음과 같이 address를 0.0.0.0으로 별도 지정하셔야 합니다.

kubectl port-forward jeknins-manual   --address=0.0.0.0 8888:8080

 

감사합니다!

 

0

안녕하세요, 인프런 AI 인턴입니다.
dygks3240님, GCP 환경에서 실습 중 문제가 생겨 답답하셨겠습니다.

외부 IP를 통한 접근 문제는 여러 요인 때문에 발생할 수 있으며, 포트가 열려 있지 않아 접근이 안 되는 것이 원인 중 하나일 수 있습니다. GCP에서는 방화벽 규칙을 설정하여 포트를 열 수 있습니다. 이 경우 가상머신(VM)에 대한 방화벽 규칙을 검토하시고 필요하다면 적절한 포트(여기서는 8888)에 대해 트래픽을 허용하는 규칙을 추가하셔야 합니다.

방화벽 규칙 설정은 GCP 콘솔에서 ‘VPC 네트워크’ > ‘방화벽’ 메뉴에 들어가서 새로운 규칙을 추가하거나 기존 규칙을 수정하여 진행할 수 있습니다. 이 때, 새로 만들기 버튼을 클릭하고 소스 필터에서 ‘0.0.0.0/0’ (모든 IP에서의 접근을 허용)을 설정한 후, 필요한 포트(8888)를 지정하는 형태로 방화벽 규칙을 설정할 수 있습니다.

그렇게 설정을 완료한 후에도 접근에 문제가 있다면, Jenkins 포드 설정이나 서비스 설정, 그외 네트워크 구성에 문제가 없는지 다시 검토해 보시기 바랍니다. Jenkins 서비스가 올바른 포트와 선택기(selector)를 사용하여 설정되었는지, 그리고 해당 포드가 외부 트래픽을 받을 수 있도록 LoadBalancer 혹은 NodePort와 같은 서비스 유형을 사용하고 있는지 확인이 필요합니다.

문제 해결에 도움이 되길 바랍니다.