4.7. waypoint 프록시 배포
info 애플리케이션 네임스페이스에 waypoint 프록시를 배포하여 Istio 앰비언트 데이터 플레인을 통해 트래픽을 라우팅하고 L7 정책을 적용할 수 있습니다.
사전 요구 사항
- 앰비언트 모드 기능에 필요한 지원되는 Kubernetes 게이트웨이 API CRD(사용자 정의 리소스 정의)를 제공하는 OpenShift Container Platform 4.19 이상에 로그인했습니다.
- Red Hat OpenShift Service Mesh Operator 3.2.0 이상이 OpenShift 클러스터에 설치되어 있어야 합니다.
- 앰비언트 모드에서 Istio가 배포되었습니다.
-
다음 예제에
info샘플 애플리케이션을 배포했습니다. -
대상 네임스페이스에
istio.io/dataplane-mode=앰비 레이블을추가했습니다.
프로세스
다음 예와 유사한
info애플리케이션 네임스페이스에 waypoint 프록시를 배포합니다.설정 예
apiVersion: gateway.networking.k8s.io/v1 kind: Gateway metadata: labels: istio.io/waypoint-for: service name: waypoint namespace: info spec: gatewayClassName: istio-waypoint listeners: - name: mesh port: 15008 protocol: HBONE다음 명령을 실행하여
waypointCR(사용자 정의 리소스)을 적용합니다.$ oc apply -f waypoint.yamlistio.io/waypoint-for: service레이블은 waypoint가 서비스의 트래픽을 처리함을 나타냅니다. 레이블은 처리된 트래픽 유형을 결정합니다. 자세한 내용은 "Waypoint 트래픽 유형"을 참조하십시오.다음 명령을 실행하여 waypoint를 사용하도록
info네임스페이스를 등록합니다.$ oc label namespace info istio.io/use-waypoint=waypoint
네임스페이스를 등록한 후 앰비언트 데이터 플레인을 사용하여 정보 서비스에 대한 Pod의 요청은 L7 처리 및 정책 시행을 위한 방법을 통과합니다.
검증
다음 명령을 실행하여
info네임스페이스의 모든 서비스에서 waypoint 프록시가 사용되는지 확인합니다.$ istioctl ztunnel-config svc --namespace ztunnel출력 예
NAMESPACE SERVICE NAME SERVICE VIP WAYPOINT ENDPOINTS info details 172.30.15.248 waypoint 1/1 info details-v1 172.30.114.128 waypoint 1/1 info productpage 172.30.155.45 waypoint 1/1 info productpage-v1 172.30.76.27 waypoint 1/1 info ratings 172.30.24.145 waypoint 1/1 info ratings-v1 172.30.139.144 waypoint 1/1 info reviews 172.30.196.50 waypoint 3/3 info reviews-v1 172.30.172.192 waypoint 1/1 info reviews-v2 172.30.12.41 waypoint 1/1 info reviews-v3 172.30.232.12 waypoint 1/1 info waypoint 172.30.92.147 None 1/1
각 서비스 또는 Pod에 라벨을 지정하여 방법을 사용하도록 특정 서비스 또는 Pod만 구성할 수도 있습니다. Pod를 명시적으로 등록할 때 istio.io/waypoint-for: workload 레이블도 해당 게이트웨이 리소스에 추가합니다.