1.20.4. 3scale-wasm-auth 모듈 구성
OpenShift Container Platform의 클러스터 관리자는 ABI(애플리케이션 바이너리 인터페이스)를 통해 HTTP 요청을 3scale API Management에 인증하도록 threescale -wasm-auth
모듈을 구성할 수 있습니다. ABI는 호스트와 모듈 간의 상호 작용을 정의하여 호스트 서비스를 노출하며 모듈을 사용하여 프록시 요청을 처리할 수 있습니다.
1.20.4.1. 서비스 메시 확장
서비스 메시는 ServiceMeshExtension
이라는 사이드카 프록시에 프록시-WASM 확장을 지정하고 적용하는 사용자 정의 리소스 정의를 제공합니다. 서비스 메시는 이 사용자 정의 리소스를 3scale을 사용하여 HTTP API 관리가 필요한 워크로드 집합에 적용합니다.
WebAssembly 확장 구성은 현재 수동 프로세스입니다. 3scale 시스템에서 서비스 구성 가져오기 지원은 향후 릴리스에서 제공됩니다.
사전 요구 사항
- 이 모듈을 적용할 Service Mesh 배포에서 Kubernetes 워크로드 및 네임스페이스를 식별합니다.
- 3scale 테넌트 계정이 있어야 합니다. 일치하는 서비스 및 정의된 관련 애플리케이션 및 메트릭 이 포함된 SaaS 또는 3scale 2.11 온- 프리미스를 참조하십시오.
이 모듈을
bookinfo
네임스페이스의productpage
마이크로 서비스에 적용하는 경우 Bookinfo 샘플 애플리케이션을 참조하십시오.다음 예제는
threescale-wasm-auth
모듈의 사용자 정의 리소스의 YAML 형식입니다. 이 예는 ServiceMeshExtension API의 업스트림 Maistra 버전 ServiceMeshExtension API를 나타냅니다. 모듈이 적용할 애플리케이션 세트를 식별하기 위해WorkloadSelector
와 함께threescale-wasm-auth
모듈이 배포된 네임스페이스를 선언해야 합니다.apiVersion: maistra.io/v1 kind: ServiceMeshExtension metadata: name: threescale-wasm-auth namespace: bookinfo 1 spec: workloadSelector: 2 labels: app: productpage config: <yaml_configuration> image: registry.redhat.io/openshift-service-mesh/3scale-auth-wasm-rhel8:0.0.1 phase: PostAuthZ priority: 100
spec.config
필드는 모듈 구성에 따라 달라지며 이전 예제에서는 채워지지 않습니다. 대신 예제에서는<yaml_configuration>
자리 표시자 값을 사용합니다. 이 사용자 정의 리소스 예제의 형식을 사용할 수 있습니다.spec.config
필드는 애플리케이션에 따라 다릅니다. 다른 모든 필드는 이 사용자 정의 리소스의 여러 인스턴스에 걸쳐 유지됩니다. 예를 들면 다음과 같습니다.-
image
: 최신 버전의 모듈이 배포되는 경우에만 변경됩니다. -
phase
: 프록시가 OIDC(OpenID Connect) 토큰 검증과 같은 로컬 권한을 수행한 후 이 모듈을 호출해야 하므로 동일하게 유지됩니다.
-
spec.config
에 모듈 구성이 있고 나머지 사용자 정의 리소스가 있으면oc apply
명령을 사용하여 적용합니다.$ oc apply -f threescale-wasm-auth-bookinfo.yaml