22.3. RHOSP Octavia를 사용하여 수신 트래픽 스케일링

Octavia 로드 밸런서를 사용하여 Kuryr를 사용하는 클러스터에서 Ingress 컨트롤러를 스케일링할 수 있습니다.

사전 요구 사항

  • OpenShift Container Platform 클러스터는 Kuryr을 사용합니다.
  • RHOSP 배포에서 Octavia를 사용할 수 있습니다.

프로세스

  1. 현재 내부 라우터 서비스를 복사하려면 명령줄에서 다음을 입력합니다.

    $ oc -n openshift-ingress get svc router-internal-default -o yaml > external_router.yaml
  2. 파일 external_router.yaml에서 metadata.namespec.type의 값을 LoadBalancer로 변경합니다.

    라우터 파일 예

    apiVersion: v1
    kind: Service
    metadata:
      labels:
        ingresscontroller.operator.openshift.io/owning-ingresscontroller: default
      name: router-external-default 1
      namespace: openshift-ingress
    spec:
      ports:
      - name: http
        port: 80
        protocol: TCP
        targetPort: http
      - name: https
        port: 443
        protocol: TCP
        targetPort: https
      - name: metrics
        port: 1936
        protocol: TCP
        targetPort: 1936
      selector:
        ingresscontroller.operator.openshift.io/deployment-ingresscontroller: default
      sessionAffinity: None
      type: LoadBalancer 2

    1
    이 값이 router-external-default와 같이 설명적인지 확인합니다.
    2
    이 값이 LoadBalancer인지 확인합니다.
참고

로드 밸런싱에 적합하지 않은 타임 스탬프 및 기타 정보를 삭제할 수 있습니다.

  1. 명령줄에서 external_router.yaml 파일의 서비스를 생성합니다.

    $ oc apply -f external_router.yaml
  2. 서비스의 외부 IP 주소가 로드 밸런서와 연결된 항목과 동일한지 확인합니다.

    1. 명령줄에서 서비스의 외부 IP 주소를 검색합니다.

      $ oc -n openshift-ingress get svc

      출력 예

      NAME                      TYPE           CLUSTER-IP       EXTERNAL-IP    PORT(S)                                     AGE
      router-external-default   LoadBalancer   172.30.235.33    10.46.22.161   80:30112/TCP,443:32359/TCP,1936:30317/TCP   3m38s
      router-internal-default   ClusterIP      172.30.115.123   <none>         80/TCP,443/TCP,1936/TCP                     22h

    2. 로드 밸런서의 IP 주소를 검색합니다.

      $ openstack loadbalancer list | grep router-external

      출력 예

      | 21bf6afe-b498-4a16-a958-3229e83c002c | openshift-ingress/router-external-default | 66f3816acf1b431691b8d132cc9d793c | 172.30.235.33  | ACTIVE | octavia |

    3. 이전 단계에서 검색한 주소가 유동 IP 목록에서 서로 연결되어 있는지 확인합니다.

      $ openstack floating ip list | grep 172.30.235.33

      출력 예

      | e2f80e97-8266-4b69-8636-e58bacf1879e | 10.46.22.161 | 172.30.235.33 | 655e7122-806a-4e0a-a104-220c6e17bda6 | a565e55a-99e7-4d15-b4df-f9d7ee8c9deb | 66f3816acf1b431691b8d132cc9d793c |

이제 EXTERNAL-IP 값을 새 Ingress 주소로 사용할 수 있습니다.

참고

Kuryr가 Octavia Amphora 드라이버를 사용하는 경우 모든 트래픽은 단일 Amphora VM(가상 머신)을 통해 라우팅됩니다.

병목 현상을 완화할 수 있는 추가 로드 밸런서를 생성하기 위해 이 절차를 반복할 수 있습니다.