7장. 동적 플러그인
7.1. 동적 플러그인 개요
7.1.1. 동적 플러그인 정보
동적 플러그인을 사용하면 런타임 시 사용자 정의 페이지 및 기타 확장을 인터페이스에 추가할 수 있습니다. ConsolePlugin
사용자 정의 리소스는 콘솔에 플러그인을 등록하고 클러스터 관리자는 console-operator
구성에서 플러그인을 활성화합니다.
동적 플러그인을 생성하는 것은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.
Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
7.1.2. 주요 기능
동적 플러그인을 사용하면 OpenShift Container Platform 환경에 대해 다음과 같은 사용자 정의를 수행할 수 있습니다.
- 사용자 지정 페이지를 추가합니다.
- 관리자 및 개발자 이외의 관점 추가.
- 탐색 항목을 추가합니다.
- 리소스 페이지에 탭 및 작업을 추가합니다.
7.1.3. 일반 지침
플러그인을 생성할 때 다음 일반 지침을 따르십시오.
-
Node.js
및yarn
은 플러그인을 빌드하고 실행하는 데 필요합니다. -
충돌을 방지하려면 CSS 클래스 이름을 플러그인 이름으로 접두사로 지정합니다. 예를 들어
my-plugin__heading
및my-plugin_\_icon
입니다. - 다른 콘솔 페이지와 일관된 모양, 느낌 및 동작을 유지합니다.
플러그인을 생성할 때 react-i18next 현지화 지침을 따르십시오. 다음 예제에서와 같이
useTranslation
후크를 사용할 수 있습니다.conster Header: React.FC = () => { const { t } = useTranslation('plugin__console-demo-plugin'); return <h1>{t('Hello, World!')}</h1>; };
- 요소 선택기와 같이 플러그인의 구성 요소 외부에서 태그에 영향을 줄 수 있는 선택기를 사용하지 마십시오. 이는 API가 아니며 변경될 수 있습니다. 이를 사용하면 플러그인이 손상될 수 있습니다.
PatternFly 4 지침
플러그인을 생성할 때 PatternFly 사용에 대한 다음 지침을 따르십시오.
- PatternFly4 구성 요소 및 PatternFly CSS 변수를 사용합니다. 핵심 PatternFly 구성 요소는 SDK를 통해 사용할 수 있습니다. PatternFly 구성 요소 및 변수를 사용하면 향후 콘솔 버전에서 플러그인이 일관되게 보일 수 있습니다.
- PatternFly의 접근성 기본 을 통해 플러그인에 액세스할 수 있도록 합니다.
- Bootstrap 또는 Tailwind과 같은 다른 CSS 라이브러리를 사용하지 마십시오. PatternFly와 충돌할 수 있으며 콘솔 모양과 느낌과 일치하지 않습니다.