7.3.3. 플러그인 서비스 프록시
플러그인에서 클러스터 내 서비스에 HTTP 요청을 수행해야 하는 경우 spec.proxy array 필드를 사용하여 ConsolePlugin 리소스에서 서비스 프록시를 선언할 수 있습니다. 콘솔 백엔드는 /api/proxy/plugin/<plugin-name>/<proxy-alias>/<request-path>?<optional-query-parameters > 끝점을 노출하여 플러그인과 서비스 간의 통신을 프록시합니다. 프록시 요청은 기본적으로 서비스 CA 번들을 사용합니다. 서비스에서 HTTPS를 사용해야 합니다.
플러그인은 JavaScript 코드에서 요청을 만들기 위해 consolefetch API를 사용해야 합니다. 그렇지 않으면 일부 요청이 실패할 수 있습니다. 자세한 내용은 "Dynamic plugin API"를 참조하십시오.
각 항목에 대해 끝점 및 별칭 필드 아래에 프록시의 끝점 과 별칭 을 지정해야 합니다. Service 프록시 유형의 경우 끝점 유형 필드를 Service 로 설정해야 하며 서비스에 이름,네임스페이스, 포트 필드의 값이 포함되어야 합니다. 예를 들어 /api/proxy/plugin/helm/ 은 10개의 helm 릴리스를 나열하는 helm-charts /release=10helm -charts 서비스가 있는 helm 플러그인의 프록시 요청 경로입니다.
서비스 프록시 예
apiVersion: console.openshift.io/v1
kind: ConsolePlugin
metadata:
name:<plugin-name>
spec:
proxy:
- alias: helm-charts
authorization: UserToken
caCertificate: '-----BEGIN CERTIFICATE-----\nMIID....'en
endpoint:
service:
name: <service-name>
namespace: <service-namespace>
port: <service-port>
type: Service
- 1
- 프록시의 별칭입니다.
- 2
- 서비스 프록시 요청에 로그인한 사용자의 OpenShift Container Platform 액세스 토큰이 포함되어야 하는 경우 권한 부여 필드를
UserToken으로 설정해야 합니다.참고서비스 프록시 요청에 로그인한 사용자의 OpenShift Container Platform 액세스 토큰이 포함되어 있지 않은 경우 권한 부여 필드를
None으로 설정합니다. - 3
- 서비스에서 사용자 정의 서비스 CA를 사용하는 경우
caCertificate필드에 인증서 번들이 포함되어야 합니다. - 4
- 프록시의 끝점입니다.