8장. Ingress 컨트롤러 끝점 게시 전략 구성


8.1. Ingress 컨트롤러 끝점 게시 전략

NodePortService 끝점 게시 전략

NodePortService 끝점 게시 전략에서는 Kubernetes NodePort 서비스를 사용하여 Ingress 컨트롤러를 게시합니다.

이 구성에서는 Ingress 컨트롤러를 배포하기 위해 컨테이너 네트워킹을 사용합니다. 배포를 게시하기 위해 NodePortService가 생성됩니다. 특정 노드 포트는 OpenShift Container Platform에 의해 동적으로 할당됩니다. 그러나 정적 포트 할당을 지원하기 위해 관리형 NodePortService의 노드 포트 필드에 대한 변경 사항은 유지됩니다.

그림 8.1. Diagram of NodePortService

OpenShift Container Platform Ingress NodePort 끝점 게시 전략

이전 그래픽에서는 OpenShift Container Platform Ingress NodePort 끝점 게시 전략에 대한 다음 개념을 보여줍니다.

  • 클러스터에서 사용 가능한 모든 노드에는 외부에서 액세스할 수 있는 자체 IP 주소가 있습니다. 클러스터에서 실행 중인 서비스는 모든 노드의 고유한 NodePort에 바인딩됩니다.
  • 클라이언트가 그래픽에 10.0.128.4 IP 주소를 연결하여 다운된 노드에 클라이언트가 연결되면 노드 포트는 서비스를 실행 중인 사용 가능한 노드에 클라이언트를 직접 연결합니다. 이 시나리오에서는 로드 밸런싱이 필요하지 않습니다. 이미지가 표시된 대로 10.0.128.4 주소가 다운되어 다른 IP 주소를 대신 사용해야 합니다.
참고

Ingress Operator는 서비스의 .spec.ports[].nodePort 필드에 대한 업데이트를 무시합니다.

기본적으로 포트는 자동으로 할당되며 통합을 위해 포트 할당에 액세스할 수 있습니다. 그러나 동적 포트에 대한 응답으로 쉽게 재구성할 수 없는 기존 인프라와 통합하기 위해 정적 포트 할당이 필요한 경우가 있습니다. 정적 노드 포트와 통합하기 위해 관리 서비스 리소스를 직접 업데이트할 수 있습니다.

자세한 내용은 NodePort에 대한 Kubernetes 서비스 설명서를 참조하십시오.

HostNetwork 끝점 게시 전략

HostNetwork 끝점 게시 전략에서는 Ingress 컨트롤러가 배포된 노드 포트에 Ingress 컨트롤러를 게시합니다.

HostNetwork 끝점 게시 전략이 있는 Ingress 컨트롤러는 노드당 하나의 Pod 복제본만 가질 수 있습니다. n개의 복제본이 필요한 경우에는 해당 복제본을 예약할 수 있는 n개 이상의 노드를 사용해야 합니다. 각 pod 복제본은 예약된 노드 호스트에서 포트 80443을 요청하므로 동일한 노드의 다른 pod가 해당 포트를 사용하는 경우 복제본을 노드에 예약할 수 없습니다.

8.1.1. Ingress 컨트롤러 끝점 게시 범위를 Internal에 구성

클러스터 관리자가 클러스터가 프라이빗으로 지정되도록 지정하지 않고 새 클러스터를 설치하면 기본 Ingress 컨트롤러가 External 로 설정된 범위를 사용하여 생성됩니다. 클러스터 관리자는 외부 범위 Ingress 컨트롤러를 Internal 로 변경할 수 있습니다.

사전 요구 사항

  • oc CLI를 설치했습니다.

절차

  • 외부 범위가 지정된 Ingress 컨트롤러를 Internal 로 변경하려면 다음 명령을 입력합니다.

    $ oc -n openshift-ingress-operator patch ingresscontrollers/default --type=merge --patch='{"spec":{"endpointPublishingStrategy":{"type":"LoadBalancerService","loadBalancer":{"scope":"Internal"}}}}'
  • Ingress 컨트롤러의 상태를 확인하려면 다음 명령을 입력합니다.

    $ oc -n openshift-ingress-operator get ingresscontrollers/default -o yaml
    • Progressing 상태 조건은 추가 작업을 수행해야 하는지 여부를 나타냅니다. 예를 들어 상태 조건은 다음 명령을 입력하여 서비스를 삭제해야 함을 나타낼 수 있습니다.

      $ oc -n openshift-ingress delete services/router-default

      서비스를 삭제하면 Ingress Operator에서 내부로 다시 생성합니다.

8.1.2. Ingress 컨트롤러 끝점 게시 범위를 외부로 구성

클러스터 관리자가 클러스터가 프라이빗으로 지정되도록 지정하지 않고 새 클러스터를 설치하면 기본 Ingress 컨트롤러가 External 로 설정된 범위를 사용하여 생성됩니다.

설치 중 또는 이후에 Ingress 컨트롤러의 범위를 Internal 로 구성할 수 있으며 클러스터 관리자는 내부 Ingress 컨트롤러를 외부로 변경할 수 있습니다.

중요

일부 플랫폼에서는 서비스를 삭제하고 다시 생성해야 합니다.

범위를 변경하면 몇 분 동안 Ingress 트래픽이 중단될 수 있습니다. 이는 OpenShift Container Platform이 기존 서비스 로드 밸런서를 프로비저닝 해제하고 새 서비스를 프로비저닝하며 DNS를 업데이트할 수 있기 때문에 서비스를 삭제하고 다시 생성해야 하는 플랫폼에 적용됩니다.

사전 요구 사항

  • oc CLI를 설치했습니다.

절차

  • 내부 범위가 지정된 Ingress 컨트롤러를 외부로 변경하려면 다음 명령을 입력합니다.

    $ oc -n openshift-ingress-operator patch ingresscontrollers/private --type=merge --patch='{"spec":{"endpointPublishingStrategy":{"type":"LoadBalancerService","loadBalancer":{"scope":"External"}}}}'
  • Ingress 컨트롤러의 상태를 확인하려면 다음 명령을 입력합니다.

    $ oc -n openshift-ingress-operator get ingresscontrollers/default -o yaml
    • Progressing 상태 조건은 추가 작업을 수행해야 하는지 여부를 나타냅니다. 예를 들어 상태 조건은 다음 명령을 입력하여 서비스를 삭제해야 함을 나타낼 수 있습니다.

      $ oc -n openshift-ingress delete services/router-default

      서비스를 삭제하면 Ingress Operator가 외부로 다시 생성합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.