4.1.4.1 NGINX Ingress Controller with OCI Network Load Balancer 설치하기
NGINX Ingress Controller 설치
kubectl 사용이 가능한 Cloud Shell 또는 작업환경에 접속합니다.
nginx ingress controller 설치할 파일 deploy.yaml을 다운로드 받습니다.
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.0/deploy/static/provider/cloud/deploy.yaml
ingress-nginx-controller의 Load Balancer Service 유형에 대한 설정을 annotation으로 추가합니다.
oci.oraclecloud.com/load-balancer-type: "nlb"
을 추가하여 OCI Network Load Balancer를 사용하도록 지정합니다.--- apiVersion: v1 kind: Service metadata: labels: ... name: ingress-nginx-controller namespace: ingress-nginx annotations: oci.oraclecloud.com/load-balancer-type: "nlb" spec: loadBalancerIP: 152.69.xxx.xxx ... type: LoadBalancer
설정값 설명
항목 값 설명 oci.oraclecloud.com/load-balancer-type
"nlb"
Default: "lb"
- OCI Load Balancer 사용"nlb"
- L4을 지원하는 OCI Network Load Balancer, 무료 서비스loadBalancerIP: Reserved Public IP를 사전에 만들어 가지고 있는 경우, 해당 IP를 직접 입력하여, 원하는 IP를 부여합니다.
다음 명령으로 NGINX Ingress Controller를 설치합니다.
kubectl apply -f deploy.yaml
설치 확인
ingress-nginx namespace에 아래와 같이 설치된 것을 확인할 수 있습니다.
kubectl get all -n ingress-nginx
Ingress Controller 서비스의 로드밸런서 IP인 EXTERNAL-IP를 확인합니다.
$ kubectl get svc -n ingress-nginx NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE ingress-nginx-controller LoadBalancer 10.96.29.183 152.xx.xxx.xxx 80:30456/TCP,443:31096/TCP 111s ...
생성된 OCI Network Load Balancer 확인
OCI 콘솔에 로그인합니다.
좌측 상단 햄버거 메뉴에서 Networking > Load Balancers > Network Load Balancer로 이동합니다.
동일한 Public IP로 생성된 Network Load Balancer를 확인할 수 있습니다.
해당 Network Load Balancer를 클릭합니다.
Listener를 보면 그림과 같이 TCP 프로토콜로 80, 443 포트로 수신하고 있습니다.
이 글은 개인으로서, 개인의 시간을 할애하여 작성된 글입니다. 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다.