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

최선을 다하자님의 프로필 이미지
최선을 다하자

작성한 질문수

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

k8s 앱 배포하기 문의

작성

·

163

0

k8s에서 앱을 실행할 때  강의 예제처럼

GKE 의 경우 kubectl expose deployment http go type LoadBalancer name http go svc port=8080 target port=8080

실행하면 GCP 에서 자동으로  LB를 생성하고  LB external ip(공인 IP)가 부여 되지만

Virtual box로 생성 시에는 

kubectl expose deployment http-go --port=8080 --target-port=8080 로 실행했습니다.

이경우 아래와 같이 나옵니다.  이 때 어떻게 테스트를 해야 할지요?

server1@master:~$ kubectl get service

NAME         TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)    AGE

http-go      ClusterIP   10.97.204.64   <none>        8080/TCP   6s

kubernetes   ClusterIP   10.96.0.1      <none>        443/TCP    16m

처음 하셨던 port-forward로 테스트를 해야 할지요?

답변 3

0

이것은 뒤쪽에 서비스 내용을 진행하시면 내용이 더 나옵니다 gcp게이트웨이 규칙으로 노드포트에 서비스를 포워딩하는 구조를 갖습니다~

0

외부 로드 발란서와 연동 하려면 어떻게 하면 될까요??? 수동으로 LB랑 연결 하고 싶을 경우에는요

0

안녕하세요 이건 동일하게  

kubectl expose deployment http go type LoadBalancer name http go svc port=8080 target port=8080

를 실행하셔도 됩니다. svc는 잘 만들어지실 겁니다. 다만 외부에 로드밸런서가 생기지는 않아요.

실행하고 kubectlget service 확인해보시면 EXTERNAL-IP는 pending이라고 뜨실건데 무시하셔도됩니다.

이제 로컬에서 접속하시는 방법을 말씀드리겠습니다.

PORT에 보면 3xxxx번호로 떠있는 포트를 확인하실 수 있는데 나중에 배우게될 노드포트라는 겁니다.

아무 노드의 3xxxx 포트로 접속하시면 http-go로 접속할 수 있습니다. 

curl 127.0.0.1:3xxxx 이렇게 요청하셔도 됩니다.

잘 안되시면 다시 문의 부탁드립니다!

최선을 다하자님의 프로필 이미지
최선을 다하자

작성한 질문수

질문하기