본문 바로가기

K8S

Minikube 에서 서비스 접속 사용하기

반응형

Vagrant 를 이용한 k8s 테스트셋을 사용하다 최근에 mac으로 변경하면서 로컬환경에서 minikube를 활용하여 테스트를 진행중이다.

앞선 포스트에서 테스트 했던 내용들을 복기중에,

LoadBalancer 관련된 부분이 minikube 에서는 다르게 동작하여 테스트한 내용이다.

 

https://blesslee.tistory.com/39

 

loadbalancer external ip pending

로컬환경에 K8s 를 구성하였을 때 external IP 가 Pending 상태로 되어 외부에서 접속이 안되는 경우 해결 방안이다. (metalLB 설치) 1. metaLB namespace 생성 kubectl apply -f https://raw.githubusercontent.com/metallb/metallb

blesslee.tistory.com

상기 포스트의 내용대로 진행하여 metal LB 로드 밸런서를 생성하고,

https://blesslee.tistory.com/47

 

Mysql DB pod로 생성하고 WAS(tomcat) 에서 접속하기 - 2

앞선 포스트에 생성한 컨테이너들을 pod와 service를 이용하여 상호 연결하는 것을 진행하도록 한다. 먼저 was, db pod를 연결할 service 를 각각 생성한다. 1. WAS Pod service apiVersion: v1 kind: Service metadata: na

blesslee.tistory.com

서비스를 생성하면서 mac의 아이피 대역대로 설정하였으나,

정상적으로 접속되지 않는 상황이 발생하였다.

metal LB 로드밸런서를 타고 정상적으로 엔드포인트도 생성됨을 확인하고,

해당 아이피로 접속을 시도하였으나 정상적으로 접속이 되지 않는다.

검색해보니 minikube에서는 로드밸런서를 지원하지 않고 터널링 방식의 다른 방식을 사용하여야 한다고 한다.

 

apiversion: v1 
kind: Service 
metadata:
   name: was-service-bless-1 
spec:
   selector:
     bless: pod
   ports:
   - port: 8080
   type: NodePort

위와 같이 NodePort 타입으로 변경하여 서비스를 생성한다.

cli 혹은 GUI 에서 서비스명을 확인한 후 minikube service 명령어로 접속 url을 생성해준다.

minikube service [서비스명] --url

생성된 url을 복사하여 웹브라우저에 붙여서 정상적으로 접속되는지 확인한다.

반응형