작성
·
274
2
안녕하세요. 구글 클라우드 플랫폼 이용해서 실습 중입니다.
현재 강의는 VM 환경이라 동일한 환경은 아니라 환경 문제인진 모르겠습니다만, 영상과 동일하게 Service를 Node Port 모드로 생성한 후에, 'Node1의 내부 IP:30000'으로 curl 명령어를 보내면 `Time out` 상태로 리턴합니다.
어떻게하면 성공적으로 리턴을 받을 수 있을까요?
답변 3
2
GCP 환경에서 curl [Node1의 내부IP]:30000/hostname 명령어가 실행되려면 node에 ssh 접속 후 실행하시면 됩니다.
노드에 접속하는 방법은...
"compute engine > vm 인스턴스" 메뉴에서 kubernetes cluster 생성할 때 만들어진 node 머신 리스트를 확인할 수 있고
연결(ssh) 방법 중 gcloud 명령어를 클릭해서 복사하신 후 콘솔 창에서 실행하면 해당 노드에 접속됩니다.
gcloud compute ssh --zone "asia-east2-c" "인스턴스 템플릿" --project "프로젝트 ID"
1
네 답변을 늦게 봤네요! 죄송합니다!
김태민님 강의에서는 'Node1의 내부 IP:30000/hostname' 을 해도 curl 명령어가 정상 실행이 되더라구요. 이 부분은 gcp와 vm의 차이인 거 같습니다. 어찌됐건 vm 호스트들은 메인 PC의 내부 아이피를 할당 받아서 사용하는 것이라 메인 PC와 vm 호스트들 간의 내부 IP로의 통신이 가능하지만, gcp는 이런 환경이 아니라서 안 되는 것 같더라구요.
하지만, 'Node1의 외부 IP:30000/hostname' 에 대해서는 방화벽을 통해서 해결했습니다.
빠르고 정확하고 좋은 답변 감사합니다! 남은 시간 더 화이팅해서 강의 듣겠습니다~
=> 실제로 링크 주신 것을 살펴보면 방화벽은 외부 IP(public IP)에 대한 방화벽 설정인 것으로 나와 있는 거 같습니다!
1
안녕하세요.
제가 GKE 환경을 항상 유지하고 있는 상태가 아니라서 직접 확인을 해보기가 힘들고요.
검색을 해보니까 방화벽을 열어주라는 얘기가 있네요.
----------------
or GCE opening up the above for publicly on all nodes could look like:
gcloud compute firewall-rules create myservice --allow tcp:30080,tcp:30443
Once this is in place your services should be accessable through any of the public IPs of your nodes. You'll find them with:
gcloud compute instances list
----------------
한번 해보시겠어요?
https://stackoverflow.com/questions/42040238/how-to-expose-nodeport-to-internet-on-gce