Kubernetes

[Minikube] NodePort Type 서비스 생성

uuuhhh 2022. 11. 12. 17:46

⚠️ Local Minikube 환경에서 진행하였습니다. ⚠️

 

▪︎ NodePort


apiVersion: v1
kind: Service
metadata:
  name: cn-app-svc-n
spec:
  selector:
    app: cn-app
  ports:
    - port: 9001
      targetPort: 8080
	  # 기본적으로 그리고 편의상 `targetPort` 는 `port` 필드와 동일한 값으로 설정
  type: NodePort

 

1️⃣ 매니페스트 파일로 서비스 배포하는 방법

  • kubectl apply -f cn-app-svc-n.yaml

2️⃣ 명령어로 서비스 배포하는 방법

  • kubectl expose deployment cn-app-dpy --type=NodePort --name cn-app-svc-n

 

  • NodePort Type으로 서비스 배포
  • 자동으로 지정된 NodePort를 확인할 수 있다.

 

  • 서비스의 ENDPOINT 확인

 

  • MiniKube Node의 IP와 NodePort로 요청을 보내보지만 응답 없음..

 

  • /hello의 GET 요청을 보내봐도 응답 xx ..

 

⇒ 왜 Minikube에선 안되는 걸까..

💡 Docker driver를 사용 중이라면 minikube service [svc-name] 명령어를 이용하여 접속
⎿  나의 MinikubeDocker driver를 사용하는 것을 확인 !
⎿  Docker driver의 특성으로 container IP로 직접 접근 X ⇒ Docker Driver 특성
⎿  vmware / hyperv 드라이버 사용 추천
 

Docker Driver 특성

📍 Epilogue CSP의 KS8 서비스를 사용하기 전에 Minikube를 사용하여 프로젝트를 진행하였다. 노드에 올려놓은 파드에 대해서 여러 가지 타입으로 서비스를 배포하고자 하였다. 그런데 NodePort, LoadBalanc

code1212-uh.tistory.com

 

  • minikube service cn-app-svc-n 의 명령어를 사용하면
  • 서비스에 접근 가능한 IP와 포트를 터널링을 통해서 얻을 수 있다.
  • Localhost(127.0.0.1) → TunnelingDocker container(192.168.49.2)