1.2.2.2.6.1 OCI Network Load Balancer로 Nginx Ingress Controller 설치하기
NGINX Ingress Controller 설치
-
kubectl 사용이 가능한 Cloud Shell 또는 작업환경에 접속합니다.
-
nginx ingress controller 설치할 파일 deploy.yaml을 다운로드 받습니다.
wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.9.5/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.53.157 10.0.20.170,152.69.xxx.xx 80:30944/TCP,443:31890/TCP 15m ingress-nginx-controller-admission ClusterIP 10.96.130.90 <none> 443/TCP 15m ...
생성된 OCI Network Load Balancer 확인
-
OCI 콘솔에 로그인합니다.
-
좌측 상단 햄버거 메뉴에서 Networking > Load Balancers > Network Load Balancer로 이동합니다.
-
동일한 Public IP로 생성된 Network Load Balancer를 확인할 수 있습니다.
-
해당 Network Load Balancer를 클릭합니다.
-
Listener를 보면 그림과 같이 TCP 프로토콜로 80, 443 포트로 수신하고 있습니다.
이 글은 개인으로서, 개인의 시간을 할애하여 작성된 글입니다. 글의 내용에 오류가 있을 수 있으며, 글 속의 의견은 개인적인 의견입니다.