6.2. 配置
6.2.1. 查看 OpenShift 路由
要查看 OpenShift 路由,您必须授予集群角色中路由资源的读取访问权限:
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: backstage-read-only rules: ... - apiGroups: - route.openshift.io resources: - routes verbs: - get - list
您还必须在 app-config.yaml
文件中的 kubernetes.customResources
属性中添加以下内容:
kubernetes: ... customResources: - group: 'route.openshift.io' apiVersion: 'v1' plural: 'routes'
6.2.2. 查看 pod 日志
要查看 pod 日志,您必须为 ClusterRole
授予以下权限:
apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: backstage-read-only rules: ... - apiGroups: - '' resources: - pods - pods/log verbs: - get - list - watch
6.2.3. 查看 Tekton PipelineRuns
要查看 Tekton PipelineRuns,您必须授予对 ClusterRole
中的 管道
、pipelinesruns
和 taskruns
资源的读取访问权限:
... apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: backstage-read-only rules: ... - apiGroups: - tekton.dev resources: - pipelines - pipelineruns - taskruns verbs: - get - list
要在侧面面板中查看 Tekton PipelineRuns 列表,以及 Topology 节点 decorator 中的最新的 PipelineRuns 状态,您必须将以下代码添加到 app-config.yaml
文件中的 kubernetes.customResources
属性中:
kubernetes: ... customResources: - group: 'tekton.dev' apiVersion: 'v1' plural: 'pipelines' - group: 'tekton.dev' apiVersion: 'v1' plural: 'pipelineruns' - group: 'tekton.dev' apiVersion: 'v1' plural: 'taskruns'
6.2.4. 查看虚拟机
要查看虚拟机,必须在 Kubernetes 集群上安装和配置 OpenShift Virtualization Operator。您还必须在 ClusterRole
中授予对 VirtualMachines
资源的读访问权限:
... apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: backstage-read-only rules: ... - apiGroups: - kubevirt.io resources: - virtualmachines - virtualmachineinstances verbs: - get - list
要查看拓扑插件上的虚拟机节点,您必须将以下代码添加到 app-config.yaml
文件中的 kubernetes.customResources
属性中:
kubernetes: ... customResources: - group: 'kubevirt.io' apiVersion: 'v1' plural: 'virtualmachines' - group: 'kubevirt.io' apiVersion: 'v1' plural: 'virtualmachineinstances'
6.2.5. 启用源代码编辑器
要启用源代码编辑器,您必须授予对 ClusterRole
中的 CheClusters 资源的读取访问权限,如下例所示:
... apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: backstage-read-only rules: ... - apiGroups: - org.eclipse.che resources: - checlusters verbs: - get - list
要使用源代码编辑器,您必须将以下配置添加到 app-config.yaml
文件中的 kubernetes.customResources
属性中:
kubernetes: ... customResources: - group: 'org.eclipse.che' apiVersion: 'v2' plural: 'checlusters'
6.2.6. 标签和注解
6.2.6.1. 连接到源代码编辑器或源
将以下注解添加到工作负载资源中,如 Deployments,以使用源代码编辑器导航到关联应用程序的 Git 存储库:
annotations: app.openshift.io/vcs-uri: <GIT_REPO_URL>
添加以下注解以导航到特定分支:
annotations: app.openshift.io/vcs-ref: <GIT_REPO_BRANCH>
如果已安装并配置了 Red Hat OpenShift Dev Spaces,并且 git URL 注解也会添加到工作负载 YAML 文件中,点 edit code decorator 会将您重定向到 Red Hat OpenShift Dev Spaces 实例。
当您使用 OCP Git 导入流部署应用时,您不需要添加标签,因为导入流会这样做。否则,您需要手动将标签添加到工作负载 YAML 文件中。
您还可以使用 decorator 使用您要访问的编辑 URL 添加 app.openshift.io/edit-url
注解。
6.2.6.2. 实体注解/标签
要使 RHDH 检测实体是否具有 Kubernetes 组件,请将以下注解添加到实体的 catalog-info.yaml
中:
annotations: backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
在资源中添加了以下标签,以便 Kubernetes 插件从请求的实体获取 Kubernetes 资源,将以下标签添加到资源中:
labels: backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>`
在使用标签选择器时,上述标签必须存在于资源上。
6.2.6.3. 命名空间注解
要使用定义的命名空间识别 Kubernetes 资源,请添加 backstage.io/kubernetes-namespace
注解:
annotations: backstage.io/kubernetes-namespace: <RESOURCE_NS>
如果将 backstage.io/kubernetes-namespace
注解添加到 catalog-info.yaml
文件中,则无法使用源代码编辑器访问 Red Hat OpenShift Dev Spaces 实例。
要检索实例 URL,您需要 CheCluster 自定义资源(CR)。因为 CheCluster CR 在 openshift-devspaces 命名空间中创建,因此如果命名空间注解值不是 openshift-devspaces,则不会检索实例 URL。
6.2.6.4. 标签选择器查询注解
您可以自行编写自定义标签,RHDH 用来查找 Kubernetes 资源。标签选择器优先于 ID 注解:
annotations: backstage.io/kubernetes-label-selector: 'app=my-app,component=front-end'
如果您在配置 Red Hat Dev Spaces 时有多个实体,并希望多个实体支持重定向到 Red Hat Dev Spaces 实例的编辑代码 decorator,您可以将 backstage.io/kubernetes-label-selector 注解添加到每个实体的 catalog-info.yaml 文件中。
annotations: backstage.io/kubernetes-label-selector: 'component in (<BACKSTAGE_ENTITY_NAME>,che)'
如果使用前面的标签选择器,您必须将以下标签添加到资源中,以便 Kubernetes 插件从请求的实体获取 Kubernetes 资源:
labels: component: che # add this label to your che cluster instance labels: component: <BACKSTAGE_ENTITY_NAME> # add this label to the other resources associated with your entity
您还可以为带有唯一标签的标签选择器编写您自己的自定义查询,以区分您的实体。但是,您需要确保将这些标签添加到与包括 CheCluster 实例在内的实体关联的资源中。
6.2.6.5. 节点中显示的图标
要在拓扑节点中显示运行时图标,请在工作负载资源中添加以下标签,如 Deployment:
labels: app.openshift.io/runtime: <RUNTIME_NAME>
另外,您可以包含以下标签来显示运行时图标:
labels: app.kubernetes.io/name: <RUNTIME_NAME>
< RUNTIME_NAME>
支持的值包括:
- django
- dotnet
- drupal
- go-gopher
- golang
- Grails
- jboss
- jruby
- js
- nginx
- nodejs
- openjdk
- perl
- phalcon
- php
- python
- Quarkus
- Rails
- redis
- rh-spring-boot
- rust
- java
- rh-openjdk
- ruby
- Spring
- spring-boot
其他值会导致节点无法呈现图标。
6.2.6.6. 应用程序分组
要显示可视组中部署或 pod 等工作负载资源,请添加以下标签:
labels: app.kubernetes.io/part-of: <GROUP_NAME>
6.2.6.7. 节点连接器
要显示使用可视连接器的部署或 pod 等工作负载资源,请添加以下注解:
annotations: app.openshift.io/connects-to: '[{"apiVersion": <RESOURCE_APIVERSION>,"kind": <RESOURCE_KIND>,"name": <RESOURCE_NAME>}]'
如需有关标签和注解的更多信息,请参阅 OpenShift 应用的标签和注解指南。