3.4. 앰비언트 모드에서 Kubernetes 게이트웨이 API를 사용하여 게이트웨이를 통해 송신 트래픽 전달


Kubernetes Gateway API 및 waypoint 프록시를 사용하여 송신 게이트웨이를 통해 아웃바운드 HTTP 트래픽을 전달합니다.

사전 요구 사항

  • OpenShift Service Mesh Operator 버전 3.2 이상을 설치했습니다.
  • 앰비언트 프로필을 사용하여 IstioIstioCNI 리소스를 구성했습니다.
  • Ztunnel 리소스를 생성했습니다.

프로세스

  1. 선택 사항: {k8} 게이트웨이 API CRD(사용자 정의 리소스 정의)를 활성화합니다.

    참고

    Kubernetes 1.28 및 OpenShift Container Platform 4.18 또는 이전 버전의 Red Hat OpenShift Service Mesh에서 Kubernetes Gateway API CRD는 기본적으로 사용할 수 없으며 CRD를 사용하려면 먼저 CRD를 설치해야 합니다. OpenShift Container Platform 4.19 이상 버전은 기본적으로 CRD를 설치합니다.

  2. 다음 명령을 실행하여 egress-gateway 라는 네임스페이스를 생성합니다.

    $ oc create namespace egress-gateway
    Copy to Clipboard Toggle word wrap
  3. 다음 명령을 실행하여 네임스페이스에 앰비언트 모드 레이블을 적용합니다.

    $ oc label namespace egress-gateway istio.io/dataplane-mode=ambient
    Copy to Clipboard Toggle word wrap
  4. ServiceEntry 를 정의하는 egress-se.yaml 이라는 YAML 파일을 생성합니다.

    apiVersion: networking.istio.io/v1
    kind: ServiceEntry
    metadata:
      name: httpbin-ext
      namespace: egress-gateway
      labels:
        istio.io/use-waypoint: waypoint
    spec:
      hosts:
      - httpbin.org
      ports:
      - number: 80
        name: http
        protocol: HTTP
      resolution: DNS
    Copy to Clipboard Toggle word wrap
    1. 다음 명령을 실행하여 YAML 파일을 적용합니다.

      $ oc apply -f egress-se.yaml
      Copy to Clipboard Toggle word wrap
    2. 다음 예와 유사한 egress-gateway 네임스페이스에서 waypoint 프록시를 생성하는 waypoint.yaml 이라는 YAML 파일을 생성합니다.

      apiVersion: gateway.networking.k8s.io/v1
      kind: Gateway
      metadata:
        name: waypoint
        namespace: egress-gateway
        labels:
          istio.io/gateway-for: service
      spec:
        gatewayClassName: istio-waypoint
        listeners:
        - name: mesh
          port: 15008
          protocol: HBONE
      Copy to Clipboard Toggle word wrap
    3. 다음 명령을 실행하여 YAML 파일을 적용합니다.

      $ oc apply -f waypoint.yaml
      Copy to Clipboard Toggle word wrap
참고

waypoint.yaml YAML 파일을 생성하는 대신 다음 명령을 실행하여 waypoint 프록시를 설정할 수도 있습니다.

$ istioctl waypoint apply --enroll-namespace --name waypoint --namespace egress-gateway
Copy to Clipboard Toggle word wrap

--enroll-namespace 옵션을 사용하면 egress-gateway 네임스페이스의 모든 서비스( ServiceEntries포함)가 트래픽을 정점으로 라우팅합니다.

검증

  1. 다음 명령을 실행하여 게이트웨이 구성의 상태를 확인합니다.

    $ oc get gateways.gateway.networking.k8s.io waypoint -n egress-gateway
    Copy to Clipboard Toggle word wrap

    PROGRAMMED 열에는 다음 예와 유사하게 구성이 성공하면 True 가 표시됩니다.

    NAME       CLASS            ADDRESS          PROGRAMMED   AGE
    waypoint   istio-waypoint   172.30.227.148   True         9s
    Copy to Clipboard Toggle word wrap
  2. 다음 명령을 실행하여 egress-gateway 네임스페이스에 curl 포드를 생성합니다.

    $ oc run test-pod --image=curlimages/curl:latest -n egress-gateway --rm -it --restart=Never -- sh
    Copy to Clipboard Toggle word wrap
  3. curl 클라이언트를 사용하여 다음 명령을 실행하여 송신 게이트웨이를 통해 httpbin.org 에 액세스할 수 있는지 확인합니다.

    $ curl -v http://httpbin.org/get
    Copy to Clipboard Toggle word wrap

    출력에는 구성된 게이트웨이를 통한 송신 트래픽 경로를 나타내는 httpbin.org 서비스의 응답이 표시됩니다. ztunnel 로그는 웨이포인트를 통해 라우팅되는 트래픽을 표시해야 합니다. 터미널에 다음 출력과 유사한 정보가 표시되어야 합니다.

    2025-10-24T08:08:35.242159Z info access connection complete src.addr=[fd01:0:0:5::b0]:56288 src.workload="test-pod" src.namespace="egress-gateway" src.identity="spiffe://cluster.local/ns/egress-gateway/sa/default" dst.addr=[fd01:0:0:5::af]:15008 dst.hbone_addr=[2001:2::2]:80 dst.service="httpbin.org" dst.workload="waypoint-5b668759d5-vrnx8" dst.namespace="egress-gateway" dst.identity="spiffe://cluster.local/ns/egress-gateway/sa/waypoint" direction="outbound" bytes_sent=78 bytes_recv=540 duration="957ms"
    Copy to Clipboard Toggle word wrap
맨 위로 이동
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

Theme

© 2025 Red Hat