7.3. Topology プラグインのラベルとアノテーションの管理
7.3.1. ソースコードエディターまたはソースへのリンク リンクのコピーリンクがクリップボードにコピーされました!
ソースコードエディターを使用して、関連付けられているアプリケーションの Git リポジトリーに移動するには、デプロイメントなどのワークロードリソースに次のアノテーションを追加します。
annotations: app.openshift.io/vcs-uri: <GIT_REPO_URL>
annotations:
app.openshift.io/vcs-uri: <GIT_REPO_URL>
特定のブランチに移動するには、次のアノテーションを追加します。
annotations: app.openshift.io/vcs-ref: <GIT_REPO_BRANCH>
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.3.2. エンティティーアノテーション/ラベル リンクのコピーリンクがクリップボードにコピーされました!
RHDH がエンティティーに Kubernetes コンポーネントがあることを検出するには、エンティティーの catalog-info.yaml
ファイルに次のアノテーションを追加します。
annotations: backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
annotations:
backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>
Kubernetes プラグインが要求されたエンティティーから Kubernetes リソースを取得できるように、以下のラベルをリソースに追加します。
labels: backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>`
labels:
backstage.io/kubernetes-id: <BACKSTAGE_ENTITY_NAME>`
ラベルセレクターを使用する場合は、上記のラベルがリソースに存在する必要があります。
7.3.3. namespace アノテーション リンクのコピーリンクがクリップボードにコピーされました!
手順
定義された namespace を使用して Kubernetes リソースを識別するには、
backstage.io/kubernetes-namespace
アノテーションを追加します。annotations: backstage.io/kubernetes-namespace: <RESOURCE_NS>
annotations: backstage.io/kubernetes-namespace: <RESOURCE_NS>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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.3.4. ラベルセレクタークエリーアノテーション リンクのコピーリンクがクリップボードにコピーされました!
RHDH が Kubernetes リソースを見つけるために使用する独自のカスタムラベルを作成できます。ラベルセレクターは ID アノテーションよりも優先されます。
annotations: backstage.io/kubernetes-label-selector: 'app=my-app,component=front-end'
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)'
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
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.3.5. ノードに表示されるアイコン リンクのコピーリンクがクリップボードにコピーされました!
トポロジーノードにランタイムアイコンを表示するには、デプロイメントなどのワークロードリソースに次のラベルを追加します。
labels: app.openshift.io/runtime: <RUNTIME_NAME>
labels:
app.openshift.io/runtime: <RUNTIME_NAME>
あるいは、次のラベルを含めてランタイムアイコンを表示することもできます。
labels: app.kubernetes.io/name: <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.3.6. アプリケーションのグループ化 リンクのコピーリンクがクリップボードにコピーされました!
ビジュアルグループ内のデプロイメントや Pod などのワークロードリソースを表示するには、次のラベルを追加します。
labels: app.kubernetes.io/part-of: <GROUP_NAME>
labels:
app.kubernetes.io/part-of: <GROUP_NAME>
7.3.7. ノードコネクター リンクのコピーリンクがクリップボードにコピーされました!
手順
ビジュアルコネクターを使用してデプロイメントや Pod などのワークロードリソースを表示するには、次のアノテーションを追加します。
+
annotations: app.openshift.io/connects-to: '[{"apiVersion": <RESOURCE_APIVERSION>,"kind": <RESOURCE_KIND>,"name": <RESOURCE_NAME>}]'
annotations:
app.openshift.io/connects-to: '[{"apiVersion": <RESOURCE_APIVERSION>,"kind": <RESOURCE_KIND>,"name": <RESOURCE_NAME>}]'
ラベルとアノテーションの詳細は、Guidelines for labels and annotations for OpenShift applications を参照してください。