2.2. 클러스터 외부의 트래픽에 서비스 노출 정보


메시의 서비스에 액세스하기 위해 OpenShift 클러스터 외부에서 트래픽을 활성화하려면 서비스 유형을 LoadBalancer 로 설정하거나 OpenShift 라우터를 사용하여 게이트웨이 프록시를 공개해야 합니다.

Kubernetes 로드 밸런싱을 사용하여 인바운드 게이트웨이를 통해 들어오는 트래픽을 직접 처리하면 데이터 암호화와 관련된 대기 시간을 줄일 수 있습니다. 인바운드 게이트웨이에서 암호화를 관리하면 종종 대기 시간을 추가하는 메시 내에서 중간 암호 해독 및 재암호화 단계를 방지할 수 있습니다. 이 방법을 사용하면 메시 트래픽을 한 번만 암호화 및 해독할 수 있으므로 일반적으로 더 효율적입니다.

OpenShift 라우터는 수신 트래픽을 관리하기 위한 표준 접근 방식을 제공하며 라우터를 사용하여 동일한 방법을 사용하여 모든 클러스터 인그레스 트래픽의 인증서를 관리할 수 있습니다. 그러나 OpenShift 라우터는 인바운드 트래픽과 메시 애플리케이션 간에 추가 홉을 도입합니다. 일반적으로 라우터에서 암호를 해독한 다음, 대기 시간을 유발하는 서비스 메시 수신 게이트웨이에서 다시 암호화하여 트래픽을 라우팅합니다.

OpenShift 경로를 사용하여 클러스터 외부의 트래픽에 게이트웨이를 노출할 수 있습니다. 이 접근 방식은 클러스터 외부의 트래픽에 게이트웨이를 노출해야 할 때 Kubernetes 로드 밸런서 서비스를 사용하는 대신 사용할 수 있습니다.

사전 요구 사항

  • Istio 게이트웨이 및 VirtualService 리소스를 사용하여 서비스를 노출하는 절차를 완료했습니다.

프로세스

  1. 다음 명령을 실행하여 서비스 유형이 ClusterIP 로 설정되어 있는지 확인합니다.

    $ oc patch service <gateway_name> -n <gateway_namespace> -p '{"spec": {"type": "ClusterIP"}}'
    Copy to Clipboard Toggle word wrap
  2. httpbin 서비스의 경로를 정의하는 httpbin-route.yaml 이라는 YAML 파일을 생성합니다.

    apiVersion: route.openshift.io/v1
    kind: Route
    metadata:
      name: httpbin
      namespace: <gateway_namespace>
    spec:
      host: httpbin.example.com
      port:
        targetPort: http2
      to:
        kind: Service
        name: <gateway_name>
        weight: 100
      wildcardPolicy: None
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 실행하여 YAML 파일을 적용합니다.

    $ oc apply -f httpbin-route.yaml
    Copy to Clipboard Toggle word wrap
  4. 인그레스 라우터를 통해 클러스터 외부에서 httpbin 서비스에 액세스할 수 있는지 확인합니다. 클러스터가 실행 중인 환경에 대해 INGRESS_HOST 변수를 적절하게 설정해야 합니다.

    1. 클러스터가 AWS에서 실행되는 경우 다음 명령을 실행하여 INGRESS_HOST 변수를 설정합니다.

      $ INGRESS_HOST=$(oc get service router-default -n openshift-ingress -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')
      Copy to Clipboard Toggle word wrap
    2. 클러스터가 GCP 또는 Azure에서 실행되는 경우 다음 명령을 실행하여 INGRESS_HOST 변수를 설정합니다.

      $ INGRESS_HOST=$(oc get service router-default -n openshift-ingress -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
      Copy to Clipboard Toggle word wrap
    3. 다음 명령을 실행하여 수신 라우터의 호스트를 사용하여 curl 요청을 httpbin 서비스로 보냅니다.

      $ curl -s -I -H Host:httpbin.example.com http://$INGRESS_HOST/headers
      Copy to Clipboard Toggle word wrap
  5. 응답에 HTTP/1.1 200 OK 상태가 있는지 확인합니다. 이 상태는 요청이 성공했음을 나타냅니다.
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat