7.2. 动态插件入门
您可以对 OpenShift Container Platform Web 控制台进行不同的自定义配置。设置您的环境以编写新的 OpenShift 控制台动态插件,并在 Pod 详情页面中添加标签页作为插件的一个示例扩展。
OpenShift Container Platform Web 控制台在一个连接到您登录的集群的容器中运行。有关在创建自己的前测试插件的信息,请参阅"运行您的动态插件"。
流程
在新标签页中,打开
console-plugin-template
存储库,其中包含用于在新标签页中创建插件的模板。重要红帽不支持自定义插件代码。对于插件,只有合作社区支持。
-
点 Use this template
Create new repository 从模板创建 GitHub 存储库。 - 使用插件的名称替换新存储库。
- 将新存储库克隆到本地机器,以便您可以编辑代码。
编辑
package.json
文件,将插件的元数据添加到consolePlugin
声明中。例如:"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 发行版本名称安装 Helm Chart,或由
-n
命令行选项指定的现有命名空间,以便在集群中部署插件。使用以下命令,提供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 页面查看添加的选项卡。