7.3.3. 플러그인 서비스 프록시
플러그인에서 클러스터 내 서비스에 HTTP 요청을 수행해야 하는 경우 spec.proxy 어레이 필드를 사용하여 ConsolePlugin 리소스에서 서비스 프록시를 선언할 수 있습니다. 콘솔 백엔드는 /api/proxy/plugin/<plugin-name>/<proxy-alias>/<request-path>?<optional-query-parameters> 끝점을 노출하여 플러그인과 서비스 간의 통신을 프록시합니다. 프록시 요청은 기본적으로 서비스 CA 번들을 사용합니다. 서비스에서 HTTPS를 사용해야 합니다.
플러그인은 JavaScript 코드에서 요청을 만들기 위해 consolefetch API를 사용해야 합니다. 그렇지 않으면 일부 요청이 실패할 수 있습니다. 자세한 내용은 "Dynamic plugin API"를 참조하십시오.
각 항목에 대해 끝점 및 별칭 필드 아래에 프록시의 끝점 과 별칭 을 지정해야 합니다. 서비스 프록시 유형의 경우 엔드포인트 유형 필드를 서비스 로 설정해야 하며, 서비스에는 name , namespace 및 port 필드에 대한 값이 포함되어야 합니다. 예를 들어 /api/proxy/plugin/helm/helm-charts/releases?limit=10 은 10개의 helm 릴리스를 나열하는helm-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