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 を表示するには、ClusterRolepipelinespipelinesrunstaskruns リソースへの読み取りアクセス権を付与する必要があります。

 ...
  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'

6.2.4. 仮想マシンの表示

仮想マシンを表示するには、Kubernetes クラスターに OpenShift Virtualization Operator をインストールして設定する必要があります。ClusterRoleVirtualMachines リソースへの読み取りアクセス権も付与する必要があります。

 ...
  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. ソースコードエディターまたはソースへのリンク

ソースコードエディターを使用して、関連付けられているアプリケーションの 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 アノテーションを追加することもできます。

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. 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 は取得されません。

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 インスタンスにリダイレクトする編集コードデコレーターをサポートする必要がある場合は、各エンティティーの 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 インスタンスを含むエンティティーに関連付けられたリソースにこれらのラベルを確実に追加する必要があります。

6.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
注記

その他の値の場合、ノードのアイコンはレンダリングされません。

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>}]'

ラベルとアノテーションの詳細は、Guidelines for labels and annotations for OpenShift applications を参照してください。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.