第 5 章 安装和配置 Tekton 插件


您可以使用 Tekton 插件来视觉化在 Kubernetes 或 OpenShift 集群中运行的 CI/CD 管道的结果。通过插件,用户可以视觉化查看管道中所有相关任务的高级别状态。

5.1. 安装

先决条件

  • 已安装并配置了 @backstage/plugin-kubernetes@backstage/plugin-kubernetes-backend 动态插件。
  • 您已将 Kubernetes 插件配置为使用 ServiceAccount 连接到集群。
  • 必须为 自定义资源(PipelineRuns 和 TaskRuns)授予访问集群的 ServiceAccount

    注意

    如果您配置了 RHDH Kubernetes 插件,则已授予 ClusterRole

  • 要查看 pod 日志,您被授予了 pod/log 的权限。
  • 您可以使用以下代码为自定义资源和 pod 日志授予 ClusterRole

    kubernetes:
       ...
       customResources:
         - group: 'tekton.dev'
           apiVersion: 'v1'
           plural: 'pipelineruns'
         - group: 'tekton.dev'
           apiVersion: 'v1'
    
    
     ...
      apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        name: backstage-read-only
      rules:
        - apiGroups:
            - ""
          resources:
            - pods/log
          verbs:
            - get
            - list
            - watch
        ...
        - apiGroups:
            - tekton.dev
          resources:
            - pipelineruns
            - taskruns
          verbs:
            - get
            - list

    您可以将准备的清单用于只读 ClusterRole,它为 Kubernetes 插件和 Tekton 插件提供访问权限。

  • 在实体的 catalog-info.yaml 文件中添加以下注解,以识别实体是否包含 Kubernetes 资源:

    annotations:
      ...
    
      backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
  • 您还可以添加 backstage.io/kubernetes-namespace 注解,以使用定义的命名空间来识别 Kubernetes 资源。

    annotations:
      ...
    
      backstage.io/kubernetes-namespace: <RESOURCE_NS>
  • 将以下注解添加到实体的 catalog-info.yaml 文件中,以启用 RHDH 中的 Tekton 相关功能。注解的值标识 RHDH 实体的名称:

    annotations:
      ...
    
      janus-idp.io/tekton : <BACKSTAGE_ENTITY_NAME>
  • 添加自定义标签选择器,它 RHDH 用于查找 Kubernetes 资源。标签选择器优先于 ID 注解。

    annotations:
      ...
    
      backstage.io/kubernetes-label-selector: 'app=my-app,component=front-end'
  • 在资源中添加以下标签,以便 Kubernetes 插件从请求的实体获取 Kubernetes 资源:

    labels:
      ...
    
      backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
    注意

    使用标签选择器时,上述标签必须存在于资源上。

流程

  • Tekton 插件在带有基本配置属性的 RHDH 中预加载。要启用它,请将 disabled 属性设置为 false,如下所示:

    global:
      dynamic:
        includes:
          - dynamic-plugins.default.yaml
        plugins:
          - package: ./dynamic-plugins/dist/janus-idp-backstage-plugin-tekton
            disabled: false
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.