27.8. 로드 밸런서 허용된 소스 범위를 사용하여 수신 클러스터 트래픽 구성

IngressController 에 대한 IP 주소 범위 목록을 지정할 수 있습니다. 이렇게 하면 endpointPublishingStrategyLoadBalancerService 인 경우 로드 밸런서 서비스에 대한 액세스가 제한됩니다.

27.8.1. 로드 밸런서 허용 소스 범위 구성

spec.endpointPublishingStrategy.loadBalancer.allowedSourceRanges 필드를 활성화하고 구성할 수 있습니다. 로드 밸런서 허용 소스 범위를 구성하면 Ingress 컨트롤러의 로드 밸런서에 대한 액세스를 지정된 IP 주소 범위 목록으로 제한할 수 있습니다. Ingress Operator는 로드 밸런서 서비스를 조정하고 AllowedSourceRanges 를 기반으로 spec.loadBalancerSourceRanges 필드를 설정합니다.

참고

이전 버전의 OpenShift Container Platform에서 spec.loadBalancerSourceRanges 필드 또는 로드 밸런서 서비스 anotation service.beta.kubernetes.io/load-balancer-source-ranges 를 이미 설정한 경우 Ingress 컨트롤러는 업그레이드 후 Progressing=True 보고를 시작합니다. 이 문제를 해결하려면 spec.loadBalancerSourceRanges 필드를 덮어쓰는 AllowedSourceRanges 를 설정하고 service.beta.kubernetes.io/load-balancer-source-ranges 주석을 지웁니다. Ingress 컨트롤러는 Progressing=False 보고를 다시 시작합니다.

사전 요구 사항

  • 실행 중인 클러스터에 배포된 Ingress 컨트롤러가 있어야 합니다.

절차

  • 다음 명령을 실행하여 Ingress 컨트롤러에 허용되는 소스 범위 API를 설정합니다.

    $ oc -n openshift-ingress-operator patch ingresscontroller/default \
        --type=merge --patch='{"spec":{"endpointPublishingStrategy": \
        {"loadBalancer":{"allowedSourceRanges":["0.0.0.0/0"]}}}}' 1
    1
    예제 값 0.0.0.0/0 은 허용되는 소스 범위를 지정합니다.

27.8.2. 로드 밸런서 허용 소스 범위로 마이그레이션

이미 주석 service.beta.kubernetes.io/load-balancer-source-ranges 를 설정한 경우 로드 밸런서 허용된 소스 범위로 마이그레이션할 수 있습니다. AllowedSourceRanges 를 설정하면 Ingress 컨트롤러에서 AllowedSourceRanges 값을 기반으로 spec.loadBalancerSourceRanges 필드를 설정하고 service.beta.kubernetes.io/load-balancer-source-ranges 주석을 설정 해제합니다.

참고

이전 버전의 OpenShift Container Platform에서 spec.loadBalancerSourceRanges 필드 또는 로드 밸런서 서비스 anotation service.beta.kubernetes.io/load-balancer-source-ranges 를 이미 설정한 경우 Ingress 컨트롤러는 업그레이드 후 Progressing=True 보고를 시작합니다. 이 문제를 해결하려면 spec.loadBalancerSourceRanges 필드를 덮어쓰는 AllowedSourceRanges 를 설정하고 service.beta.kubernetes.io/load-balancer-source-ranges 주석을 지웁니다. Ingress 컨트롤러는 Progressing=False 보고를 다시 시작합니다.

사전 요구 사항

  • service.beta.kubernetes.io/load-balancer-source-ranges 주석을 설정했습니다.

절차

  1. service.beta.kubernetes.io/load-balancer-source-ranges 가 설정되어 있는지 확인합니다.

    $ oc get svc router-default -n openshift-ingress -o yaml

    출력 예

    apiVersion: v1
    kind: Service
    metadata:
      annotations:
        service.beta.kubernetes.io/load-balancer-source-ranges: 192.168.0.1/32

  2. spec.loadBalancerSourceRanges 필드가 설정되지 않은지 확인합니다.

    $ oc get svc router-default -n openshift-ingress -o yaml

    출력 예

    ...
    spec:
      loadBalancerSourceRanges:
      - 0.0.0.0/0
    ...

  3. 클러스터를 OpenShift Container Platform 4.12로 업데이트합니다.
  4. 다음 명령을 실행하여 ingresscontroller 에 허용되는 소스 범위 API를 설정합니다.

    $ oc -n openshift-ingress-operator patch ingresscontroller/default \
        --type=merge --patch='{"spec":{"endpointPublishingStrategy": \
        {"loadBalancer":{"allowedSourceRanges":["0.0.0.0/0"]}}}}' 1
    1
    예제 값 0.0.0.0/0 은 허용되는 소스 범위를 지정합니다.

27.8.3. 추가 리소스