6.10. Tekton のインストールと設定
Tekton プラグインを使用すると、Kubernetes または OpenShift クラスターでの CI/CD パイプライン実行の結果を視覚化できます。このプラグインを使用すると、ユーザーはアプリケーションのパイプラインに含まれるすべての関連タスクの概略ステータスを視覚的に確認できます。
6.10.1. 管理者の場合
6.10.1.1. インストール
前提条件
-
@backstage/plugin-kubernetes
および@backstage/plugin-kubernetes-backend
動的プラグインがインストールおよび設定されている。動的プラグインのインストールの詳細は、6章動的プラグインのインストール を参照してください。 -
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
6.10.2. ユーザーの場合
6.10.2.1. RHDH での Tekton プラグインの使用
Tekton フロントエンドプラグインを使用して PipelineRun
リソースを表示できます。
前提条件
- Red Hat Developer Hub (RHDH) がインストールされている。
- Tekton プラグインがインストールされている。インストールプロセスについては、Tekton プラグインのインストールと設定 を参照してください。
手順
- RHDH アプリケーションを開き、Catalog ページからコンポーネントを選択します。
CI タブに移動します。
CI タブには、Kubernetes クラスターに関連付けられた PipelineRun リソースのリストが表示されます。リストには、NAME、VULNERABILITIES、STATUS、TASK STATUS、STARTED、DURATION などのパイプライン実行の詳細が含まれます。
リスト内の PipelineRun 名の横にある行展開ボタンをクリックして、PipelineRun の視覚化を表示します。パイプライン実行リソースには、完了すべきタスクが含まれます。タスクカードにマウスポインターをかざすと、その特定のタスクを完了する手順を表示できます。