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 中的 管道pipelinesrunstaskruns 资源的读取访问权限:

 ...
  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 应用的标签和注解指南

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.