반응형
로컬환경에 K8s 를 구성하였을 때 external IP 가 Pending 상태로 되어
외부에서 접속이 안되는 경우 해결 방안이다.
(metalLB 설치)
1. metaLB namespace 생성
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.12.1/manifests/namespace.yaml namespace/metallb-system created |
metaLB가 사용할 namespace 를 생성한다.
2. metaLB 생성
kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.12.1/manifests/metallb.yaml |
3. 생성확인
kubectl get all -n metallb-system |
4. configmap 생성
apiVersion: v1 kind: ConfigMap metadata: namespace: metallb-system name: config data: config: | address-pools: - name: default protocol: layer2 addresses: - 192.168.56.200-192.168.56.250 |
해당 서버에서 외부로 노출될 수 있는 IP대역을 설정하여 configmap 을 생성한다.
해당 예제에서는 VM 서버 IP대역대가 192.168.56 대역대여서 56 대역대로 접근하도록 설정하였다.
kubectl apply -f configmapmeta.yaml |
5. service 상태 확인
kubectl get service/frontend-external |
앞서 확인한 상태와 달리 externarl-ip 가 pending 상태가 아닌 설정한 IP 대역대로 나오는 것을 볼 수 있으며,
쿠버네티스 대시보드에서도 외부 엔드포인트 아이피와 포트가 출력됨을 확인할 수 있다.
IP와 Port를 입력하여 정상적으로 외부에서 접속이 가능함을 확인하였다.
반응형
'K8S' 카테고리의 다른 글
POD - 3 (Label, Nodeschedule) (0) | 2023.02.14 |
---|---|
POD - 2 (0) | 2023.02.13 |
POD - 1 (0) | 2023.02.10 |
k8s 서비스 예제 (0) | 2023.02.10 |
vagrant 를 이용한 K8S 구성 (0) | 2023.02.07 |