⚠️ Local Minikube 환경에서 진행하였습니다. ⚠️
▪︎ LoadBalancer
- cn-app-svc-l.yaml
apiVersion: v1
kind: Service
metadata:
name: cn-app-svc-l
spec:
selector:
name: cn-app
ports:
- port: 9002
targetPort: 8080
type: LoadBalancer
1️⃣ 매니페스트 파일로 서비스 배포하는 방법
- kubectl apply -f cn-app-svc-l.yaml
2️⃣ 명령어로 서비스 배포하는 방법
- kubectl expose deployment cn-app-dpy --type=LoadBalancer --name cn-app-svc-l
- 서비스 배포 후 확인해 보니 EXTERNAL-IP 가 계속 pending 상태인 것을 확인
- Minikube는 LoadBalancer Type 지원을 안 하기 때문에 외부 IP를 받아올 수가 없다.
1️⃣ 터널링하여 받은 외부 포트로 외부에서 서비스 접근 방법
- 아래 명령어로 터널링하여 받은 외부 포트를 통해 접속할 수 있다.
- minikube service cn-app-svc-l
2️⃣ 가상 LoadBalancer (MetalLB) 만들어서 외부에서 서비스 접근
- addon 명령어로 현재 노드를 Load Balancer로 설정
- config IP 지정을 위해 Minikube IP 확인
- cn-app-svc-ml.yaml
apiVersion: v1
kind: ConfigMap
metadata:
namespace: metallb-system
name: config
data:
config: |
address-pools:
- name: minikube-ip
protocol: layer2
addresses:
- 192.168.49.2/32
- MetalLB에 ConfigMap 적용
- 서비스로 노출시키니 로드밸런서 타입 확인 및 외부 IP (Minikube IP) 확인
- 외부 IP + 8080포트로 요청 보내도 과묵하시다..
💡 Docker driver를 사용중이라면 minikube service [svc-name] 명령어를 이용하여 접속
⎿ 나의 Minikube는 Docker Driver를 사용하는 것을 확인 !
⎿ 그래서 Docker Driver가 뭐길래 ? ⇒ Docker Driver 특성
- 결국 위 안내를 받아 minikube service 명령어 수행
- 요청에 응답 확인!
'Kubernetes' 카테고리의 다른 글
[NKS] NodePort / LoadBalancer 서비스 생성 (0) | 2022.11.13 |
---|---|
[NKS] Deployment 생성 (0) | 2022.11.13 |
[Minikube] NodePort Type 서비스 생성 (0) | 2022.11.12 |
[Minikube] ClusterIP Type 서비스 생성 (0) | 2022.11.12 |
[Minikube] ReplicaSet 생성 (0) | 2022.11.12 |