1.20.4. threescale-wasm-auth 모듈 구성
OpenShift Container Platform의 클러스터 관리자는 애플리케이션 바이너리 인터페이스(ABI)를 통해 3scale API Management에 HTTP 요청을 인증하도록 threescale-wasm-auth
모듈을 구성할 수 있습니다. ABI는 호스트와 모듈 간의 상호 작용을 정의하고, 호스트 서비스를 공개하며, 모듈을 사용하여 프록시 요청을 처리할 수 있습니다.
1.20.4.1. 서비스 메시 확장
서비스 메시는 ServiceMeshExtension
라는 사이드카 프록시에 프록시-WASM 확장을 지정하고 적용할 수 있는 사용자 정의 리소스 정의를 제공합니다. Service Mesh는 이 사용자 정의 리소스를 3scale로 HTTP API 관리가 필요한 워크로드 세트에 적용합니다.
WebAssembly 확장 구성은 현재 수동 프로세스입니다. 3scale 시스템에서 서비스 구성 가져오기 지원은 향후 릴리스에서 사용할 수 있습니다.
사전 요구 사항
- 이 모듈을 적용할 서비스 메시 배포에서 Kubernetes 워크로드 및 네임스페이스를 식별합니다.
- 3scale 테넌트 계정이 있어야 합니다. 일치하는 서비스 및 관련 애플리케이션 및 메트릭이 정의된 SaaS 또는 3scale 2.11 On-Premises 를 참조하십시오.
bookinfo
네임스페이스의productpage
마이크로 서비스에 모듈을 적용하면 Bookinfo 샘플 애플리케이션을 참조하십시오.다음 예제는
threescale-wasm-auth
모듈의 사용자 정의 리소스의 YAML 형식입니다. 이 예에서는 Service Mesh, ServiceMeshExtension API의 업스트림 Maistra 버전을 나타냅니다. 모듈이 적용할 애플리케이션 세트를 식별하기 위해WorkloadSelector
와 함께 3-scale-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
필드는 애플리케이션에 따라 다릅니다. 다른 모든 필드는 이 사용자 정의 리소스의 여러 인스턴스에서 유지됩니다. 예를 들면 다음과 같습니다.-
이미지
: 최신 버전의 모듈이 배포되는 경우에만 변경됩니다. -
단계
: 프록시를 수행한 후 OpenID Connect (OIDC) 토큰 검증과 같은 이 모듈을 호출해야 하므로 동일하게 유지됩니다.
-
spec.config
및 나머지 사용자 정의 리소스에 모듈 구성이 있으면oc apply
명령을 사용하여 적용합니다.$ oc apply -f threescale-wasm-auth-bookinfo.yaml
추가 리소스