7.2. 設定
7.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'
7.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
7.2.3. Tekton PipelineRuns の表示 リンクのコピーリンクがクリップボードにコピーされました!
Tekton PipelineRuns を表示するには、ClusterRole の pipelines、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 ノードデコレーターで最新の 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'
7.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'
7.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'
7.2.6. ラベルとアノテーション リンクのコピーリンクがクリップボードにコピーされました!
7.2.6.1. ソースコードエディターまたはソースへのリンク リンクのコピーリンクがクリップボードにコピーされました!
ソースコードエディターを使用して、関連付けられているアプリケーションの 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 ファイルに追加されている場合は、編集コードデコレーターをクリックすると、Red Hat OpenShift Dev Spaces インスタンスにリダイレクトされます。
OCP Git インポートフローを使用してアプリケーションをデプロイする場合は、インポートフローによってラベルが追加されるため、独自に追加する必要はありません。それ以外の場合は、ワークロード YAML ファイルにラベルを手動で追加する必要があります。
デコレーターを使用してアクセスする編集 URL を含む app.openshift.io/edit-url アノテーションを追加することもできます。
7.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>`
ラベルセレクターを使用する場合は、上記のラベルがリソースに存在する必要があります。
7.2.6.3. namespace アノテーション リンクのコピーリンクがクリップボードにコピーされました!
定義された namespace を使用して 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 namespace に作成されるため、namespace のアノテーション値が openshift-devspaces でない場合、インスタンス URL は取得されません。
7.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 インスタンスにリダイレクトする編集コードデコレーターをサポートする必要がある場合は、各エンティティーの catalog-info.yaml ファイルに backstage.io/kubernetes-label-selector アノテーションを追加できます。
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 インスタンスを含むエンティティーに関連付けられたリソースにこれらのラベルを確実に追加する必要があります。
7.2.6.5. ノードに表示されるアイコン リンクのコピーリンクがクリップボードにコピーされました!
トポロジーノードにランタイムアイコンを表示するには、デプロイメントなどのワークロードリソースに次のラベルを追加します。
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
その他の値の場合、ノードのアイコンはレンダリングされません。
7.2.6.6. アプリケーションのグループ化 リンクのコピーリンクがクリップボードにコピーされました!
ビジュアルグループ内のデプロイメントや Pod などのワークロードリソースを表示するには、次のラベルを追加します。
labels:
app.kubernetes.io/part-of: <GROUP_NAME>
7.2.6.7. ノードコネクター リンクのコピーリンクがクリップボードにコピーされました!
ビジュアルコネクターを使用してデプロイメントや Pod などのワークロードリソースを表示するには、次のアノテーションを追加します。
annotations:
app.openshift.io/connects-to: '[{"apiVersion": <RESOURCE_APIVERSION>,"kind": <RESOURCE_KIND>,"name": <RESOURCE_NAME>}]'
ラベルとアノテーションの詳細は、Guidelines for labels and annotations for OpenShift applications を参照してください。