Red Hat OpenShift에서 NGINX Ingress Operator 시작하기
NGINX는 Red Hat과의 파트너십을 통해 OpenShift에서 DevOps 호환 서비스 제공을 위해 확장 가능하고 고성능 및 장기 솔루션이 필요한 엔터프라이즈급 사용자를 지원하는 데 계속 집중하고 있습니다. OpenShift 용 NGINX Ingress Operator는 Point-and-Click 설치 및 자동 업그레이드를 통해 OpenShift 환경에서 기본 라우터와 함께 Kubernetes 용 NGINX Plus Ingress Controller를 배포하기 위한 지원되고 인증된 메커니즘입니다. OLM(Operator Lifecycle Manager)을 활용하여 NGINX Ingress Operator의 설치, 업그레이드 및 구성을 수행할 수 있습니다.
이 포스트는 NGINX Ingress Operator 를 시작하는 데 필요한 모든 것을 제공합니다. 시작하기 전에 OpenShift 4.3 이상을 실행하는 OpenShift 클러스터 환경에 대한 관리자 액세스 권한이 있는지 확인하십시오.
목차
1. Operator 설치
2. NGINX Ingress Operator 장점
3. Red Hat + NGINX의 가치
1. Operator 설치
OpenShift 콘솔에서 NGINX Ingress Operator를 설치합니다.
1. OpenShift 콘솔에 관리자로 로그인합니다.
2. 왼쪽 메뉴 열에서 Operators를 클릭한 다음 OperatorHub를 클릭합니다. 검색 상자에 nginx를 입력하고 표시되는 Nginx Ingress Operator 상자를 클릭합니다.

3. 제품 정보 확인 후 Install 버튼을 클릭합니다.

4. Create Operator Subscription 페이지에서 operator를 설치할 클러스터 Namespace를 지정합니다(이 예에서는 nginx-ingress). 또한 Approval Strategy(승인 전략) 아래의 Automatic 버튼을 클릭하여 관리자의 수동 승인 없이 실행 중인 Operator 인스턴스의 자동 업데이트를 활성화합니다. Subscribe
버튼을 클릭합니다.

5. 설치가 완료되면 터미널에서 다음 명령을 실행하여 Operator가 실행 중인지 확인합니다.
# oc get pods –n nginx-ingress
NAME READY STATUS RESTARTS AGE
nginx-ingress-operator-dd546d869-xxxxx 1/1 Running 0 7m29s
6. 왼쪽 메뉴 열에서 Installed Operators를 클릭합니다. 페이지에서 제공된 API 열의 NginxIngressController 링크를 클릭합니다. NginxIngressController는 Operator가 OpenShift 클러스터에 NGINX Plus Ingress Controller를 배포하는 데 사용하는 사용자 정의 리소스입니다.

7. 페이지에서 다음 예시와 같은 Manifest를 텍스트 필드에 붙여 넣고 Create 버튼을 클릭하여 Kubernetes 배포용 NGINX Plus Ingress Controller를 배포합니다.
기본 Secret 및 wildcardTLS 필드에 TLS 인증서 및 Key가 있는 Secret을 포함하고 있습니다. 이렇게 하면 Ingress 정책에 Secret을 포함하지 않고도 TLS Termination 및 Passthrough가 가능합니다.
NGINX Plus Ingress Controller for Kubnetes를 구성할 때 GitHub Repo에 나열된 대로 설정할 수 있는 옵션이 많습니다.
apiVersion: k8s.nginx.org/v1alpha1
kind: NginxIngressController
metadata:
name: my-nginx-ingress-controller
namespace: nginx-ingress
spec:
enableCRDs: true
image:
pullPolicy: Always
repository: registry.hub.docker.com/nginx/nginx-ingress
tag: edge
nginxPlus: false
serviceType: LoadBalancer
type: deployment
replicas: 2
defaultSecret: nginx-ingress/default-server-secret
wildcardTLS: default/app-secret
configMapData:
error-log-level: debug
enableTLSPassthrough: true
globalConfiguration: nginx-ingress/nginx-configuration
8. 배포를 확인하려면 터미널에서 다음 명령을 실행합니다. 출력에 표시된 것처럼 이전 단계에서 사용한 Manifest는 NGINX Plus Ingress Controller의 두 Replica을 배포하고 LoadBalancer 서비스에 Expose 했습니다. (get 명령의 출력은 가독성을 위해 여러 줄에 분산되어 있습니다.)
# oc get pods -n nginx-ingress
NAME READY STATUS RESTARTS AGE
my-nginx-ingress-controller-579f455d7d-xxxxx 1/1 Running 0 5m53s
my-nginx-ingress-controller-579f455d7d-xxxxx 1/1 Running 0 5m53s
nginx-ingress-operator-dd546d869-xxxxx 1/1 Running 0 56m
# oc get svc –n nginx-ingress
my-nginx-ingress-controller LoadBalancer 172.xx.48.254 <pending> ...
nginx-ingress-operator-metrics ClusterIP 172.xx.209.190 <none> ...
... 80:32028/TCP,443:31973/TCP 10m
... 80:32028/TCP,443:31973/TCP 10m
9. 다음 명령을 실행하여 NGINX Plus Ingress Controller가 요청에 응답하는지 확인합니다. public_IP_address의 경우 NGINX Plus Ingress Controller를 노출하는 LoadBalancer 서비스의 External IP 주소를 대체합니다.
이 시점에서 명령은 404 Not Found를 반환합니다. 트래픽을 Backend Pod로 라우팅하기 위해 Ingress 리소스를 아직 구성 및 배포하지 않았기 때문입니다. 자세한 내용은 설명서를 참조하십시오.
# curl public_IP_address
<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.13.4</center>
</body>
</html>
최종 사용자는 NginxIngressController 리소스의 여러 Manifest를 제출할 수 있으며 각각에 대해 별도의 배포가 생성됩니다. Operator는 또한 다양한 Namespace에 걸친 배포를 지원합니다. Namespace는 Manifest의 Metadata 섹션에서 지정할 수 있습니다.
2. NGINX Ingress Operator 장점
NGINX Ingress Operator는 특히 다음을 통해 NGINX Plus Ingress Controller 배포를 관리하는 데 도움이 됩니다.
- Configuration – 몇 가지 입력 매개변수와 하나의 Manifest 만으로 기본 배포 시작할 수 있습니다.
- Scaling – 원활한 Replica 추가 및 제거
- Upgrading – Downtime 없이 Rolling 업데이트 활용
- Uninstalling – 모든 Operator 및 Kubernetes Ingress Controller 객체가 적절하고 안전하게 제거되었는지 확인합니다.
이제 NGINX Plus Ingress Controller가 준비 및 배포되었으므로 OpenShift에서 NGINX Plus의 고급 기능을 사용하려면 설명서 및 GitHub Repo를 참조하십시오.
3. Red Hat + NGINX의 가치

NGINX Plus Ingress Controller와 Red Hat OpenShift를 함께 사용해 보려면 지금 30일 무료 평가판을 신청하거나 사용 사례에 대해 최신 소식을 빠르게 전달받고 싶으시면 아래 뉴스레터를 구독하세요.
댓글을 달려면 로그인해야 합니다.