본문 바로가기

K8S

loadbalancer external ip pending

반응형

로컬환경에 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