7.4. 동적 플러그인 예
예제를 수행하기 전에 동적 플러그인 개발 단계에 따라 플러그인이 작동하는지 확인합니다.
7.4.1. Pod 페이지에 탭 추가
OpenShift Container Platform 웹 콘솔에는 다양한 사용자 정의가 있습니다. 새 OpenShift Console 동적 플러그인을 작성하도록 환경을 설정하고 플러그인에 대한 예제 확장으로 포드 세부 정보 페이지에 탭을 추가합니다.
OpenShift Container Platform 웹 콘솔은 로그인한 클러스터에 연결된 컨테이너에서 실행됩니다. 자체 플러그인을 만들기 전에 플러그인을 테스트하는 정보는 "Dynamic plugin development"를 참조하십시오.
절차
새 탭에서 새 탭에서 플러그인을 생성하기 위한 템플릿이 포함된
console-plugin-template
리포지토리를 엽니다.중요Red Hat은 사용자 정의 플러그인 코드를 지원하지 않습니다. 플러그인에 대해 Cooperative 커뮤니티 지원 만 제공됩니다.
-
이 템플릿 사용
새 리포지토리 만들기를 클릭하여 템플릿 의 GitHub 리포지토리를 생성합니다. - 새 리포지토리의 이름을 플러그인 이름으로 변경합니다.
- 새 리포지토리를 로컬 머신에 복제하여 코드를 편집할 수 있습니다.
플러그인의 메타데이터를
consolePlugin
선언에 추가하여package.json
파일을 편집합니다. 예를 들어 다음과 같습니다."consolePlugin": { "name": "my-plugin", 1 "version": "0.0.1", 2 "displayName": "My Plugin", 3 "description": "Enjoy this shiny, new console plugin!", 4 "exposedModules": { "ExamplePage": "./components/ExamplePage" }, "dependencies": { "@console/pluginAPI": "/*" } }
console-extensions.json
파일에 다음을 추가합니다.{ "type": "console.tab/horizontalNav", "properties": { "page": { "name": "Example Tab", "href": "example" }, "model": { "group": "core", "version": "v1", "kind": "Pod" }, "component": { "$codeRef": "ExampleTab" } } }
다음 변경 사항을 포함하도록
package.json
파일을 편집합니다."exposedModules": { "ExamplePage": "./components/ExamplePage", "ExampleTab": "./components/ExampleTab" }
새 파일
src/components/ExampleTab.tsx
를 생성하고 다음 스크립트를 추가하여 Pod 페이지의 새 사용자 지정 탭에 표시할 메시지를 작성합니다.import * as React from 'react'; export default function ExampleTab() { return ( <p>This is a custom tab added to a resource using a dynamic plugin.</p> ); }
플러그인 이름을 Helm 릴리스 이름으로 사용하여
-n
명령줄 옵션에 지정된 기존 네임스페이스 또는 기존 네임스페이스에 Helm 차트를 설치하고 다음 명령을 사용하여 클러스터에 플러그인을 배포하기 위해plugin.image
매개변수 내에 이미지의 위치를 제공합니다.$ helm upgrade -i my-plugin charts/openshift-console-plugin -n my-plugin-namespace --create-namespace --set plugin.image=my-plugin-image-location
참고클러스터에 플러그인을 배포하는 방법에 대한 자세한 내용은 "클러스터에서 플러그인 배포"를 참조하십시오.
검증
- Pod 페이지를 방문하여 추가된 탭을 확인합니다.