第5章 Tekton プラグインのインストールと設定


Tekton プラグインを使用すると、Kubernetes または OpenShift クラスターでの CI/CD パイプライン実行の結果を視覚化できます。このプラグインを使用すると、ユーザーはアプリケーションのパイプラインに含まれるすべての関連タスクの概略ステータスを視覚的に確認できます。

5.1. Installation

前提条件

  • @backstage/plugin-kubernetes および @backstage/plugin-kubernetes-backend 動的プラグインがインストールおよび設定されている。動的プラグインのインストールの詳細は、動的プラグインのインストールと表示 を参照してください。
  • Kubernetes プラグインが、ServiceAccount を使用してクラスターに接続するように設定されている。
  • ServiceAccount がクラスターにアクセスするように、ClusterRole がカスタムリソース (PipelineRuns および TaskRuns) に付与されている。

    注記

    RHDH Kubernetes プラグインが設定されている場合、ClusterRole はすでに付与されています。

  • Pod ログを表示するために、pods/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 アノテーションを追加して、定義された 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

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.