Web コンソール

OpenShift Container Platform 4.10

OpenShift Container Platform Web コンソールのスタートガイド

概要

本書では、OpenShift Container Platform Web コンソールにアクセスし、カスタマイズする方法を説明します。

第1章 Web コンソールの概要

Red Hat OpenShift Container Platform Web コンソールは、プロジェクトデータを視覚化し、管理およびトラブルシューティングタスクを実行するグラフィカルユーザーインターフェイスを提供します。Web コンソールは、openshift-console プロジェクトのコントロールプレーンノードで Pod として実行されます。これは console-operator Pod によって管理されます。Administrator および Developer パースペクティブの両方がサポートされます。

Administrator および Developer パースペクティブの両方で、OpenShift Container Platform のクイックスタートチュートリアルを作成できます。クイックスタートは、ユーザータスクに関するガイド付きチュートリアルで、アプリケーション、Operator、またはその他の製品オファリングを理解するのに役立ちます。

1.1. Web コンソールの Administrator パースペクティブについて

Administrator パースペクティブでは、クラスターインベントリー、容量、全般的および特定の使用に関する情報、および重要なイベントのストリームを表示できます。これらはすべて、プランニングおよびトラブルシューティングの作業を簡素化するのに役立ちます。プロジェクト管理者とクラスター管理者の両方が Administrator パースペクティブを表示できます。

OpenShift Container Platform 4.7 以降の場合、クラスター管理者は Web ターミナル Operator を使用して組み込みのコマンドラインターミナルインスタンスを開くこともできます。

注記

表示されるデフォルトの Web コンソールパースペクティブは、ユーザーのロールによって異なります。ユーザーが管理者として認識される場合、Administrator パースペクティブがデフォルトで表示されます。

Administrator パースペクティブは、以下を実行する機能などの管理者のユースケースに固有のワークフローを提供します。

  • ワークロード、ストレージ、ネットワーク、およびクラスター設定を管理する。
  • Operator Hub を使用して Operator をインストールし、管理する。
  • ユーザーにログインを許可し、ロールおよびロールバインディングを使用してユーザーアクセスを管理できるようにするアイデンティティープロバイダーを追加する。
  • クラスターの更新、部分的なクラスターの更新、クラスター Operator、カスタムリソース定義 (CRD)、ロールバインディング、リソースクォータなど、さまざまな高度な設定を表示および管理する。
  • メトリクス、アラート、モニターリングダッシュボードなどのモニターリング機能にアクセスし、管理する。
  • クラスターについてのロギング、メトリクス、および高ステータスの情報を表示し、管理する。
  • OpenShift Container Platform の Administrator パースペクティブに関連するアプリケーション、コンポーネント、およびサービスと視覚的に対話する。

関連情報

Web ターミナル Operator の詳細は、Web コンソールの Web ターミナルについて を参照してください。

1.2. Web コンソールの Developer パースペクティブ

Developer パースペクティブは、アプリケーション、サービス、データベースをデプロイするために組み込まれたさまざまな手法を提供します。Developer パースペクティブでは、以下を実行できます。

  • コンポーネントでのロールアウトのローリングおよび再作成をリアルタイムに可視化する。
  • アプリケーションのステータス、リソースの使用状況、プロジェクトイベントのストリーミング、およびクォータの消費を表示する。
  • プロジェクトを他のユーザーと共有する。
  • プロジェクトで Prometheus Query Language (PromQL) クエリーを実行し、グラフに可視化されたメトリクスを検査して、アプリケーションに関する問題のトラブルシューティングを行う。メトリクスにより、クラスターの状態と、モニターしているユーザー定義のワークロードに関する情報が提供されます。

OpenShift Container Platform 4.7 以降の場合、クラスター管理者は Web コンソールで組み込みのコマンドラインターミナルインスタンスを開くこともできます。

注記

表示されるデフォルトの Web コンソールパースペクティブは、ユーザーのロールによって異なります。Developer パースペクティブは、ユーザーが開発者として認識される場合、デフォルトで表示されます。

Developer パースペクティブは、以下を実行する機能を含む、開発者のユースケースに固有のワークフローを提供します。

  • 既存のコードベース、イメージ、およびコンテナーファイルをインポートして、OpenShift Container Platform でアプリケーションを作成し、デプロイします。
  • アプリケーション、コンポーネント、およびプロジェクト内のこれらに関連付けられたサービスと視覚的に対話し、それらのデプロイメントとビルドステータスを監視します。
  • アプリケーション内のコンポーネントをグループ化し、アプリケーション内およびアプリケーション間でコンポーネントを接続します。
  • Serverless 機能 (テクノロジープレビュー) を統合します。
  • Eclipse Che を使用してアプリケーションコードを編集するためのワークスペースを作成します。

Topology ビューを使用して、プロジェクトのアプリケーション、コンポーネント、およびワークロードを表示できます。プロジェクトにワークロードがない場合、Topology ビューにはワークロードを作成またはインポートするためのリンクがいくつか表示されます。Quick Search を使用してコンポーネントを直接インポートすることもできます。

関連情報

Developer パースペクティブで Topology ビューを使用する方法の詳細については、Topology ビューを使用したアプリケーション設定の表示 を参照してください。

1.3. パースペクティブへのアクセス

次のように、Web コンソールから Administrator および Developer パースペクティブにアクセスできます。

前提条件

パースペクティブにアクセスするには、Web コンソールにログインしていることを確認してください。デフォルトのパースペクティブは、ユーザーの権限によって自動的に決定されます。すべてのプロジェクトへのアクセス権を持つユーザーには Administrator パースペクティブが選択され、自分のプロジェクトへのアクセスが制限されているユーザーには Developer パースペクティブが選択されます。

関連情報

パースペクティブの変更の詳細については、ユーザー設定の追加 を参照してください。

手順

  1. パースペクティブスイッチャーを使用して、Administrator パースペクティブまたは Developer パースペクティブに切り替えます。
  2. Project ドロップダウンリストから既存のプロジェクトを選択します。このドロップダウンから新しいプロジェクトを作成することもできます。
注記

パースペクティブスイッチャーは、cluster-admin としてのみ使用できます。

第2章 Web コンソールへのアクセス

OpenShift Container Platform Web コンソールは、Web ブラウザーからアクセスできるユーザーインターフェイスです。開発者は Web コンソールを使用してプロジェクトのコンテンツを視覚的に把握し、参照し、管理することができます。

2.1. 前提条件

2.2. Web コンソールの理解および Web コンソールへのアクセス

Web コンソールはマスター上で Pod として実行されます。Web コンソールを実行するために必要な静的アセットは Pod によって提供されます。OpenShift Container Platform が openshift-install create cluster を使用して正常にインストールされた後に、Web コンソールの URL およびインストールされたクラスターのログイン認証情報を、インストールプログラムの CLI 出力で確認します。以下に例を示します。

出力例

INFO Install complete!
INFO Run 'export KUBECONFIG=<your working directory>/auth/kubeconfig' to manage the cluster with 'oc', the OpenShift CLI.
INFO The cluster is ready when 'oc login -u kubeadmin -p <provided>' succeeds (wait a few minutes).
INFO Access the OpenShift web-console here: https://console-openshift-console.apps.demo1.openshift4-beta-abcorp.com
INFO Login to the console with user: kubeadmin, password: <provided>

これらの詳細を使用してログインし、Web コンソールにアクセスします。

インストールしていない既存のクラスターの場合、oc whoami --show-console を使用して Web コンソール URL を表示します。

2.3. マルチクラスターコンソール

マルチクラスターコンソールは、ハイブリッドクラウドコンソールの設計に一貫性をもたらします。この機能を有効にすると、同じブラウザータブで Advanced Cluster Management (ACM) とクラスターコンソールを切り替えることができます。簡素化され一貫性のある設計を提供します。これにより、コンポーネントの共有が可能になります。

2.3.1. Web コンソールでのマルチクラスターの有効化

重要

マルチクラスターコンソールは、テクノロジープレビュー機能としてのみご利用いただけます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

前提条件

警告

このフィーチャーゲートは実稼働クラスターで設定しないでください。機能ゲートの適用後にクラスターのアップグレードはできず、元に戻すことはできません。

手順

  1. クレデンシャルを使用して OpenShift Container Platform Web コンソールにログインします。
  2. AdministrationCluster SettingsConfigurationConsole console.operator.openshift.ioConsole Plugins の順に移動し、acmEnable をクリックして、Administrator パースペクティブで ACM を有効にします。
  3. ポップアップウィンドウが表示され、このコンソールプラグインのイネーブルメントを更新すると、更新の完了後にコンソールを更新するようにプロンプトが表示されることを伝えます。Enable を選択し、Save をクリックします。
  4. acm の有効にしたら、直ちに mce コンソールプラグインに対して前述の 2 つのステップを繰り返します。
  5. 有効にした後しばらくすると、Web コンソールの更新が利用可能であることを示すポップアップウィンドウが表示されます。ポップアップウィンドウの Refresh the web console をクリックして更新します。

    Refresh the web console をクリックするまでに 2 回目の再デプロイメントが行われていない場合、Web コンソールの更新を指示するポップアップウィンドウが 2 回表示される場合があります。

    • local-cluster および All Clusters がナビゲーションセクションのパースペクティブの上に表示されるようになります。
  6. AdministrationCluster SettingsConfigurationFeatureGate の順に移動し、以下のように YAML テンプレートを編集してフィーチャーゲートを有効にします。

    spec:
        featureSet: TechPreviewNoUpgrade
  7. Save をクリックして、すべてのクラスターのマルチクラスターコンソールを有効にします。

    重要

    保存するとこの機能が有効になり、元に戻すことはできません。

第3章 OpenShift Container Platform Dashboard を使用したクラスター情報の取得

OpenShift Container Platform Web コンソールから HomeDashboardsOverview に移動し、クラスターの概要情報をキャプチャーする OpenShift Container Platform ダッシュボードにアクセスします。

OpenShift Container Platform ダッシュボードは、個別のダッシュボードカードでキャプチャーされるさまざまなクラスター情報を提供します。

3.1. OpenShift Container Platform ダッシュボードページについて

OpenShift Container Platform ダッシュボードは以下のカードで設定されます。

  • Details は、クラスターの詳細情報の概要を表示します。

    ステータスには、okerrorwarningin progress、および unknown が含まれます。リソースでは、カスタムのステータス名を追加できます。

    • クラスター
    • プロバイダー
    • バージョン
  • Cluster Inventory は、リソースの数および関連付けられたステータスの詳細を表示します。これは、問題の解決に介入が必要な場合に役立ちます。以下についての情報が含まれます。

    • ノード数
    • Pod 数
    • 永続ストレージボリューム要求
    • クラスター内のベアメタルホスト。これらはステータス別に一覧表示されます (metal3 環境でのみ利用可能)。
  • Cluster Capacity チャートは、管理者が追加リソースがクラスターで必要になるタイミングを把握するのに役立ちます。このグラフには、現在の消費量を表示する内側の円が含まれ、外側の円には、以下の情報を含む、リソースに対して設定されたしきい値が表示されます。

    • CPU 時間
    • メモリー割り当て
    • 消費されるストレージ
    • 消費されるネットワークリソース
  • Cluster Utilization は指定された期間における各種リソースの容量を表示します。これは、管理者がリソースの高い消費量の規模および頻度を理解するのに役立ちます。
  • Events は、Pod の作成または別のホストへの仮想マシンの移行などのクラスター内の最近のアクティビティーに関連したメッセージを一覧表示します。
  • Top Consumers は、管理者がクラスターリソースの消費状況を把握するのに役立ちます。リソースをクリックし、指定されたクラスターリソース (CPU、メモリー、またはストレージ) の最大量を消費する Pod およびノードを一覧表示する詳細ページに切り替えます。

第4章 ユーザー設定の追加

要件に合わせてプロファイルのデフォルト設定を変更できます。デフォルトのプロジェクト、トポロジービュー (graph/list)、メディア (フォームまたは YAML) および言語設定を指定できます。

ユーザー設定への変更は自動的に保存されます。

4.1. ユーザー設定

クラスターのデフォルトのユーザー設定を指定できます。

手順

  1. ログイン認証情報を使用して OpenShift Container Platform Web コンソールにログインします。
  2. マストヘッドを使用して、ユーザープロファイルのユーザー名とパスワードにアクセスします。
  3. General セクションで、以下を実行します。

    1. perspective フィールドで、ログインするデフォルトのパースペクティブを設定できます。必要に応じて Administrator または Developer パースペクティブを選択できます。パースペクティブが選択されていない場合には、最後にアクセスしたパースペクティブにログインします。
    2. Project フィールドで、作業するプロジェクトを選択します。コンソールは、毎回ログインすると、そのプロジェクトにデフォルト設定されます。
    3. Topology フィールドで、トポロジービューのデフォルトをグラフビューか、一覧ビューに設定できます。選択されていない場合は、コンソールは使用した最後のビューにデフォルト設定されます。
    4. Create/Edit resource method フィールドで、リソースの作成または編集設定を指定できます。フォームおよび YAML オプションの両方が利用可能な場合には、選択した内容にコンソールはデフォルト設定されます。
  4. ブラウザーのデフォルトの言語設定を使用するには、言語セクションで、Default browser languageを選択します。それ以外の場合は、コンソールに使用する言語を選択します。

第5章 OpenShift Container Platform の Web コンソールの設定

OpenShift Container Platform の Web コンソールを変更してログアウトリダイレクト URL を設定したり、コンソールを無効にしたりすることができます。

5.1. 前提条件

  • OpenShift Container Platform クラスターをデプロイします。

5.2. Web コンソールの設定

console.config.openshift.io リソースを編集して Web コンソールを設定できます。

  • console.config.openshift.io リソースを編集します。

    $ oc edit console.config.openshift.io cluster

    以下の例は、コンソールのリソース定義のサンプルを示しています。

    apiVersion: config.openshift.io/v1
    kind: Console
    metadata:
      name: cluster
    spec:
      authentication:
        logoutRedirect: "" 1
    status:
      consoleURL: "" 2
    1
    ユーザーが Web コンソールからログアウトする際にロードするページの URL を指定します。値を指定しない場合、ユーザーは Web コンソールのログインページに戻ります。logoutRedirect URL を指定することにより、ユーザーはアイデンティティープロバイダー経由でシングルログアウト (SLO) を実行し、シングルサインオンセッションを破棄することができます。
    2
    Web コンソール URL。これをカスタム値に更新するには、Web コンソール URL のカスタマイズを参照してください。

第6章 OpenShift Container Platform の Web コンソールのカスタマイズ

OpenShift Container Platform の Web コンソールをカスタマイズして、カスタムロゴ、製品名、リンク、通知、およびコマンドラインのダウンロードを設定できます。これは、Web コンソールを企業や政府の特定要件を満たすように調整する必要がある場合にとくに役立ちます。

6.1. カスタムロゴおよび製品名の追加

カスタムロゴまたはカスタム製品名を追加することで、カスタムブランディングを作成できます。これらの設定は相互に独立しているため、両方またはいずれかを設定できます。

前提条件

  • 管理者の権限があること。
  • 使用するロゴのファイルを作成します。ロゴは、GIF、JPG、PNG、または SVG を含む共通のイメージ形式のファイルであり、60pxmax-height に制限されます。

手順

  1. ロゴファイルを openshift-config namespace の設定マップにインポートします。

    $ oc create configmap console-custom-logo --from-file /path/to/console-custom-logo.png -n openshift-config
    ヒント

    または、以下の YAML を適用して設定マップを作成できます。

    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: console-custom-logo
      namespace: openshift-config
    binaryData:
      console-custom-logo.png: <base64-encoded_logo> ... 1
    1
    有効な base64 でエンコードされたロゴを指定します。
  2. Web コンソールの Operator 設定を編集して、 customLogoFile および customProductName を組み込みます。

    $ oc edit consoles.operator.openshift.io cluster
    apiVersion: operator.openshift.io/v1
    kind: Console
    metadata:
      name: cluster
    spec:
      customization:
        customLogoFile:
          key: console-custom-logo.png
          name: console-custom-logo
        customProductName: My Console

    Operator 設定が更新されると、カスタムロゴ設定マップをコンソール namespace に同期し、これをコンソール Pod にマウントし、再デプロイします。

  3. 正常に実行されたかどうかを確認します。問題がある場合は、コンソールクラスター Operator は Degraded ステータスを報告し、コンソール Operator 設定も CustomLogoDegraded ステータスを KeyOrFilenameInvalid または NoImageProvided などの理由と共に報告します。

    clusteroperator を確認するには、以下を実行します。

    $ oc get clusteroperator console -o yaml

    コンソール Operator 設定を確認するには、以下を実行します。

    $ oc get consoles.operator.openshift.io -o yaml

6.3. コンソールルートのカスタマイズ

console および downloads ルートについて、カスタムルート機能が ingress 設定ルート設定 API を使用します。console カスタムルートが ingress 設定と console-operator 設定の両方に設定されている場合、新規の ingress 設定のカスタムルート設定が優先されます。console-operator 設定を使用したルート設定は非推奨になりました。

6.3.1. コンソールルートのカスタマイズ

クラスター Ingress 設定の spec.componentRoutes フィールドにカスタムホスト名および TLS 証明書を設定して、コンソールルートをカスタマイズできます。

前提条件

  • 管理者権限のあるユーザーでクラスターにログインしている。
  • openshift-config namespace に TLS 証明書およびキーを含めたシークレットを作成している。これは、カスタムホスト名の接尾辞のドメインがクラスターのドメイン接尾辞に一致しない場合に必要です。接尾辞が一致する場合には、シークレットはオプションです。

    ヒント

    oc create secret tls コマンドを使用して TLS シークレットを作成できます。

手順

  1. クラスター Ingress 設定を編集します。

    $ oc edit ingress.config.openshift.io cluster
  2. カスタムのホスト名を設定し、オプションで提供する証明書とキーを設定します。

    apiVersion: config.openshift.io/v1
    kind: Ingress
    metadata:
      name: cluster
    spec:
      componentRoutes:
        - name: console
          namespace: openshift-console
          hostname: <custom_hostname> 1
          servingCertKeyPairSecret:
            name: <secret_name> 2
    1
    カスタムホスト名。
    2
    TLS 証明 h そ (tls.crt) およびキー (tls.key) を含む openshift-config namespace のシークレットへの参照。これは、カスタムホスト名の接尾辞のドメインがクラスターのドメイン接尾辞に一致しない場合に必要です。接尾辞が一致する場合には、シークレットはオプションです。
  3. 変更を適用するためにファイルを保存します。

6.3.2. ダウンロードルートのカスタマイズ

クラスター Ingress 設定の spec.componentRoutes フィールドにカスタムホスト名および TLS 証明書を設定して、ダウンロードルートをカスタマイズできます。

前提条件

  • 管理者権限のあるユーザーでクラスターにログインしている。
  • openshift-config namespace に TLS 証明書およびキーを含めたシークレットを作成している。これは、カスタムホスト名の接尾辞のドメインがクラスターのドメイン接尾辞に一致しない場合に必要です。接尾辞が一致する場合には、シークレットはオプションです。

    ヒント

    oc create secret tls コマンドを使用して TLS シークレットを作成できます。

手順

  1. クラスター Ingress 設定を編集します。

    $ oc edit ingress.config.openshift.io cluster
  2. カスタムのホスト名を設定し、オプションで提供する証明書とキーを設定します。

    apiVersion: config.openshift.io/v1
    kind: Ingress
    metadata:
      name: cluster
    spec:
      componentRoutes:
        - name: downloads
          namespace: openshift-console
          hostname: <custom_hostname> 1
          servingCertKeyPairSecret:
            name: <secret_name> 2
    1
    カスタムホスト名。
    2
    TLS 証明 h そ (tls.crt) およびキー (tls.key) を含む openshift-config namespace のシークレットへの参照。これは、カスタムホスト名の接尾辞のドメインがクラスターのドメイン接尾辞に一致しない場合に必要です。接尾辞が一致する場合には、シークレットはオプションです。
  3. 変更を適用するためにファイルを保存します。

6.4. ログインページのカスタマイズ

サービス利用規約情報をカスタムログインページを使用して作成します。カスタムログインページは、GitHub や Google などのサードパーティーログインプロバイダーを使用している場合にも、ユーザーが信頼し、予想できるブランドのページを提示して、その後にユーザーを認証プロバイダーにリダイレクトする際に役立ちます。また、認証プロセス中にカスタムエラーページをレンダリングすることもできます。

注記

エラーテンプレートのカスタマイズは、要求ヘッダーや OIDC ベースの IDP などのリダイレクトを使用するアイデンティティープロバイダー (IDP) に限定されます。LDAP や htpasswd などのダイレクトパスワード認証を使用する IDP にはこれによる影響がありません。

前提条件

  • 管理者の権限があること。

手順

  1. 以下のコマンドを実行して、変更可能なテンプレートを作成します。

    $ oc adm create-login-template > login.html
    $ oc adm create-provider-selection-template > providers.html
    $ oc adm create-error-template > errors.html
  2. シークレットを作成します。

    $ oc create secret generic login-template --from-file=login.html -n openshift-config
    $ oc create secret generic providers-template --from-file=providers.html -n openshift-config
    $ oc create secret generic error-template --from-file=errors.html -n openshift-config
  3. 以下を実行します。

    $ oc edit oauths cluster
  4. 仕様を更新します。

    spec:
      templates:
        error:
            name: error-template
        login:
            name: login-template
        providerSelection:
            name: providers-template

    oc explain oauths.spec.templates を実行して、オプションを把握します。

6.6. カスタム通知バナーの作成

前提条件

  • 管理者の権限があること。

手順

  1. AdministrationCustom Resource Definitions から、ConsoleNotification をクリックします。
  2. Instances タブを選択します。
  3. Create Console Notification をクリックし、ファイルを編集します。

    apiVersion: console.openshift.io/v1
    kind: ConsoleNotification
    metadata:
      name: example
    spec:
      text: This is an example notification message with an optional link.
      location: BannerTop 1
      link:
        href: 'https://www.example.com'
        text: Optional link text
      color: '#fff'
      backgroundColor: '#0088ce'
    1
    有効な場所の設定は、BannerTopBannerBottom、および BannerTopBottom です。
  4. Create をクリックして変更を適用します。

6.7. CLI ダウンロードのカスタマイズ

ファイルパッケージを直接ポイントしたり、パッケージを提供する外部ページをポイントできるカスタムのリンクテキストおよび URL を使用して、CLI をダウンロードするリンクを設定できます。

前提条件

  • 管理者の権限があること。

手順

  1. AdministrationCustom Resource Definitions に移動します。
  2. カスタムリソース定義 (CRD) の一覧から ConsoleCLIDownload を選択します。
  3. YAML タブをクリックし、編集を行います。

    apiVersion: console.openshift.io/v1
    kind: ConsoleCLIDownload
    metadata:
      name: example-cli-download-links-for-foo
    spec:
      description: |
        This is an example of download links for foo
      displayName: example-foo
      links:
      - href: 'https://www.example.com/public/foo.tar'
        text: foo for linux
      - href: 'https://www.example.com/public/foo.mac.zip'
        text: foo for mac
      - href: 'https://www.example.com/public/foo.win.zip'
        text: foo for windows
  4. Save ボタンをクリックします。

6.8. YAML サンプルの Kubernetes リソースへの追加

YAML サンプルはいつでも Kubernetes リソースに動的に追加できます。

前提条件

  • クラスター管理者の権限があること。

手順

  1. AdministrationCustom Resource Definitions から、ConsoleYAMLSample をクリックします。
  2. YAML をクリックし、ファイルを編集します。

    apiVersion: console.openshift.io/v1
    kind: ConsoleYAMLSample
    metadata:
      name: example
    spec:
      targetResource:
        apiVersion: batch/v1
        kind: Job
      title: Example Job
      description: An example Job YAML sample
      yaml: |
        apiVersion: batch/v1
        kind: Job
        metadata:
          name: countdown
        spec:
          template:
            metadata:
              name: countdown
            spec:
              containers:
              - name: counter
                image: centos:7
                command:
                - "bin/bash"
                - "-c"
                - "for i in 9 8 7 6 5 4 3 2 1 ; do echo $i ; done"
              restartPolicy: Never

    spec.snippet を使用して、YAML サンプルが完全な YAML リソース定義ではなく、ユーザーのカーソルで既存の YAML ドキュメントに挿入できる断片を示します。

  3. Save をクリックします。

第7章 動的プラグインの OpenShift Container Platform Web コンソールへの追加

ランタイム時に読み込まれるクラスターに動的プラグインを作成し、デプロイできます。

重要

動的プラグインの作成は、テクノロジープレビュー機能としてのみご利用いただけます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

7.1. 動的プラグインについて

動的プラグインを使用すると、実行時にカスタムページおよびその他のエクステンションをインターフェイスに追加できます。ConsolePlugin カスタムリソースはコンソールと共にプラグインを登録し、クラスター管理者は console-operator 設定でプラグインを有効にします。

7.1.1. 主な特長

動的プラグインを使用すると、以下のカスタマイズを OpenShift Container Platform エクスペリエンスに設定することができます。

  • カスタムページを追加します。
  • パースペクティブを追加し、ナビゲーションアイテムを更新します。
  • タブおよびアクションをリソースページに追加します。

7.1.2. PatternFly 4 ガイドライン

プラグインを作成する場合は、PatternFly の使用に関する以下のガイドラインに従ってください。

  • PatternFly4 コンポーネントおよび PatternFly CSS 変数を使用します。コア PatternFly コンポーネントは SDK から利用できます。Pattern Fly コンポーネントと変数を使用すると、将来のコンソールバージョンでプラグインが一貫しているように見えます。
  • PatternFly のアクセシビリティーの基本 に従って、プラグインにアクセスできるようにします。
  • Bootstrap や Tailwind などの他の CSS ライブラリーは 使用しないでください。これらは、PatternFly と競合する可能性があり、コンソールのルックアンドフィールとは一致しません。

7.1.3. 全般的なガイドライン

プラグインの作成時には、以下の一般的なガイドラインに従ってください。

  • CSS クラス名の前にプラグイン名を付けて、競合を回避します。例: my-plugin__heading および my-plugin_\_icon
  • 他のコンソールページとの一貫したルック、フィール、および動作を維持します。
  • ローカリゼーションには react-i18next を使用します。
  • マークアップでコンソール CSS クラスを使用したり、コンソールの CSS クラスを上書きしたり しないでください。これらは API ではなく、変更される可能性があります。これらを使用すると、プラグインが破損する可能性があります。プラグインのコンポーネント外のマークアップに影響を与える可能性のある要素セレクターなどのセレクターを回避します。

7.2. 動的プラグインを使い始める

ダイナミックプラグインの使用を開始するには、新しい Open Shift Console ダイナミックプラグインを作成するように環境をセットアップする必要があります。

前提条件

  • Node.js がインストールされていることを確認します。
  • yarn がインストールされていることを確認します。

手順

  1. プラグインを作成するためのテンプレートを含むこの リポジトリー に移動します。
  2. <> Code タブから Use this Template を選択して GitHub リポジトリーを作成します。
  3. テンプレートの名前をプラグインの名前に変更します。
  4. コピーしたリポジトリーからローカルマシンにクローンを作成して、コードを編集できるようにします。
  5. package.jsonconsolePlugin 宣言でプラグインのメタデータを編集します。

    "consolePlugin": {
      "name": "my-plugin", 1
      "version": "0.0.1", 2
      "displayName": "My Plugin", 3
      "description": "Enjoy this shiny, new console plugin!", 4
      "exposedModules": {
        "ExamplePage": "./components/ExamplePage"
      },
      "dependencies": {
        "@console/pluginAPI": "*"
      }
    }
    1
    プラグインの名前を更新します。
    2
    バージョンを更新します。
    3
    プラグインの表示名を更新します。
    4
    プラグインの概要を使用して、説明を更新します。

7.3. 動的プラグインの実行

ローカルの開発環境を使用してプラグインを実行できます。OpenShift コンソールは、ログインしているクラスターに接続されているコンテナーで実行されます。

前提条件

  • OpenShift CLI (oc) がインストールされている必要があります。
  • OpenShift クラスターが実行中である必要があります。
  • Docker または少なくとも v3.2.0 の Podman がインストールされている必要があります。

手順

  • クローンを作成したリポジトリーのローカルディレクトリーで 2 つのターミナルウィンドウを開きます。

    1. 1 つ目のターミナルで以下のコマンドを実行します。

      $ yarn install
      $ yarn run start
    2. 2 つ目のターミナルウィンドウで次のコマンドを実行します。

      $ oc login
      $ yarn run start-console

検証

7.3.1. Pod ページへのタブの追加

以下の手順では、サンプルとしてプラグインにタブを Pod Details ページに追加します。

手順

  1. console-extensions.json ファイルに以下を追加します。

    {
      "type": "console.tab/horizontalNav",
      "properties": {
        "page": {
          "name": "Example Tab",
          "href": "example"
        },
        "model": {
          "group": "core",
          "version": "v1",
          "kind": "Pod"
        },
        "component": { "$codeRef": "ExampleTab" }
      }
    }
  2. package.json ファイルを編集して以下の変更を追加します。

            "exposedModules": {
                "ExamplePage": "./components/ExamplePage",
                "ExampleTab": "./components/ExampleTab"
            }
  3. 新しいファイル src/components/ExampleTab.tsx を作成し、以下のスクリプトを追加することで、Pod ページの新規カスタムタブに表示されるメッセージを作成します。

    import * as React from 'react';
    
    export default function ExampleTab() {
        return (
            <p>This is a custom tab added to a resource using a dynamic plugin.</p>
        );
    }

検証

  • Pod ページに移動し、追加されたタブを表示します。

7.4. プラグインへの新規エクステンションの追加

実行時に読み込まれるプラグインにエクステンションを追加できます。

7.5. Docker を使用したイメージのビルド

クラスターにプラグインをデプロイするには、イメージをビルドし、これをイメージレジストリーにプッシュする必要があります。

手順

  1. 以下のコマンドでイメージをビルドします。

    $ docker build -t quay.io/my-repositroy/my-plugin:latest .
  2. オプション: イメージをテストする場合は、以下のコマンドを実行します。

    $ docker run -it --rm -d -p 9001:80 quay.io/my-repository/my-plugin:latest
  3. 以下のコマンドを実行してイメージをプッシュします。

    $ docker push quay.io/my-repository/my-plugin:latest

7.6. クラスターへのプラグインのデプロイ

レジストリーに変更を加えたイメージをプッシュした後、プラグインをクラスターにデプロイできます。

手順

  1. プラグインをクラスターにデプロイするには、以下のコマンドを実行して テンプレート をインスタンス化します。

    $ oc process -f template.yaml \
      -p PLUGIN_NAME=my-plugin \ 1
      -p NAMESPACE=my-plugin-namespace \ 2
      -p IMAGE=quay.io/my-repository/my-plugin:latest \ 3
      | oc create -f -
    1
    プラグインの名前で更新します。
    2
    namespace で更新します。
    3
    作成したイメージの名前で更新します。

    このコマンドは、軽量の NGINX HTTP サーバーを実行し、プラグインのアセットを提供します。

重要

PLUGIN_NAME は、package.jsonconsolePlugin 宣言で使用したプラグイン名と一致している必要があります。

  1. 以下のコマンドを実行して、Console Operator 設定にパッチを適用し、プラグインを有効にします。

    $ oc patch consoles.operator.openshift.io cluster --patch '{ "spec": { "plugins": ["my-plugin"] } }' --type=merge

7.7. 関連情報

第8章 Web コンソールの Web ターミナルについて

Web コンソールで組み込みコマンドラインターミナルインスタンスを起動できます。Web 端末を使用するには、まず Web 端末 Operator をインストールする必要があります。

注記

クラスター管理者は、OpenShift Container Platform 4.7 以降の Web 端末にアクセスできます。

この端末のインスタンスは、ockubectlodokntknhelmkubenssubctl および kubectx などのクラスターと対話するための一般的な CLI ツールと共に事前にインストールされます。また、これには作業しているプロジェクトのコンテキストが含まれ、ユーザーの認証情報を使用してユーザーのログインを自動的に行います。

8.1. Web 端末のインストール

OpenShift Container Platform OperatorHub に一覧表示されている Operator を使用して Web 端末をインストールできます。Web 端末 Operator をインストールする際に、DevWorkspace CRD などのコマンドラインの設定に必要なカスタムリソース定義 (CRD) が自動的にインストールされます。Web コンソールでは、Web 端末を開く際に必要なリソースを作成します。

前提条件

  • cluster-admin パーミッションを持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。

手順

  1. Web コンソールの Administrator パースペクティブで、Operators → OperatorHub に移動します。
  2. Filter by keyword ボックスを使用してカタログで Web Terminal Operator を検索し、Web Terminal タイルをクリックします。
  3. Web Terminal ページで Operator についての簡単な説明を確認してから、Install をクリックします。
  4. Install Operator ページで、すべてのフィールドのデフォルト値を保持します。

    • Update Channel メニューの fast オプションは、Web 端末 Operator の最新リリースのインストールを可能にします。
    • Installation Mode メニューの All namespaces on the cluster オプションにより、Operator にクラスターのすべての namespace を監視され、Operator をこれらの namespace で利用可能にすることができます。
    • Installed Namespace メニューの openshift-operators オプションは、Operator をデフォルトの openshift-operators namespace にインストールします。
    • Approval Strategy メニューの Automatic オプションにより、Operator への今後のアップグレードは Operator Lifecycle Manager によって自動的に処理されます。
  5. Install をクリックします。
  6. Installed Operators ページで、View Operator をクリックし、Operator が Installed Operators ページに一覧表示されていることを確認します。

    注記

    OpenShift Container Platform 4.8 よりも前のバージョンでは、Web 端末 Operator はそのすべての機能を単一 Operator にバンドルしていました。OpenShift Container Platform 4.8 では、Web 端末 Operator は依存関係として DevWorkspace Operator をインストールし、同じ機能を提供します。

  7. Operator のインストール後に、ページを更新し、コンソールの右上にあるコマンドラインターミナルアイコンを確認します。

8.2. Web 端末の使用

Web 端末 Operator のインストール後に、以下のように Web 端末を使用できます。

  1. Web 端末を起動するには、コンソールの右上にあるコマンドラインターミナルアイコン ( odc wto icon ) をクリックします。Web 端末インスタンスが、Command line terminal ペインに表示されます。このインスタンスは、お使いの認証情報を使用して自動的にログインします。
  2. Project ドロップダウンリストから DevWorkspace CR を作成する必要のあるプロジェクトを選択します。デフォルトでは、現在のプロジェクトが選択されます。

    注記
    • DevWorkspace CR は存在しない場合にのみ作成されます。
    • openshift-terminal プロジェクトは、クラスター管理者に使用されるデフォルトのプロジェクトです。別のプロジェクトを選択するオプションはありません。
  3. Start をクリックし、選択したプロジェクトを使用して Web 端末を初期化します。

Web 端末を初期化した後に、Web 端末で ockubectlodokntknhelmkubenssubctl、および kubectx などの事前インストールされた CLI ツールを使用できます。

8.3. Web 端末のアンインストール

Web 端末のアンインストールは 2 つの手順で実行されます。

  1. Operator のインストール時に追加された Web 端末 Operator および関連するカスタムリソース (CR) をアンインストールします。
  2. Web 端末 Operator の依存関係として追加された DevWorkspace Operator とそれに関連するカスタムリソースをアンインストールします。

Web 端末 Operator をアンインストールしても、Operator のインストール時に作成されるカスタムリソース定義 (CRD) または管理リソースは削除されません。これらのコンポーネントは、セキュリティー上の目的で手動でアンインストールする必要があります。これらのコンポーネントを削除すると、Operator のアンインストール時に端末がアイドル状態にならないようにしてクラスターリソースを保存することもできます。

前提条件

  • cluster-admin 権限を持つアカウントを使用して OpenShift Container Platform クラスターにアクセスできる。

8.3.1. Web 端末 Operator およびこれをサポートするカスタムリソースの削除

コンソールおよび CLI を使用して、Web 端末 Operator のインストール時に作成された既存の Web 端末および CR を削除します。

注記

OpenShift Container Platform 4.8 よりも前のバージョンでは、Web 端末 Operator は Web 端末機能を提供するために異なる CRD を使用していました。Web 端末 Operator のバージョン 1.2.1 以前をアンインストールするには、OpenShift Container Platform 4.7 のドキュメントを参照してください。

手順

  1. Web コンソールを使用して Web 端末 Operator をアンインストールします。

    1. Web コンソールの Administrator パースペクティブで、Operators → Installed Operators に移動します。
    2. フィルター一覧をスクロールするか、または Filter by name ボックスにキーワードを入力して Web 端末 Operator を見つけます。
    3. Web 端末 Operator の Options メニュー kebab をクリックし、Uninstall Operator を選択します。
    4. Uninstall Operator 確認ダイアログボックスで、Uninstall をクリックし、Operator、Operator デプロイメント、および Pod をクラスターから削除します。この Operator は実行を停止し、更新を受信しなくなります。
  2. Operator によって使用される CR を削除します。

    $ oc delete devworkspaces.workspace.devfile.io --all-namespaces \
        --selector 'console.openshift.io/terminal=true' --wait
    $ oc delete devworkspacetemplates.workspace.devfile.io --all-namespaces \
        --selector 'console.openshift.io/terminal=true' --wait

8.3.2. DevWorkspace Operator 依存関係の削除

CLI を使用して、Web 端末 Operator のインストール時に作成されるカスタムリソース定義 (CRD) および追加のリソースを削除します。

重要

DevWorkspace Operator はスタンドアロン Operator として機能し、クラスターにインストールされている他の Operator の依存関係として必要になる場合があります (たとえば、CodeReady Workspaces Operator はこれに依存する場合があります)。DevWorkspace Operator が不要であることが確実な場合にのみ、以下の手順に従ってください。

手順

  1. デプロイメントなどの関連する Kubernetes オブジェクトと共に、Operator が使用する DevWorkspace カスタムリソースを削除します。

    $ oc delete devworkspaces.workspace.devfile.io --all-namespaces --all --wait
    $ oc delete devworkspaceroutings.controller.devfile.io --all-namespaces --all --wait
    警告

    この手順が完了しない場合、ファイナライザーは Operator を簡単に、かつ完全にアンインストールすることができないようにします。

  2. Operator によって使用される CRD を削除します。

    警告

    DevWorkspace Operator は、変換 Webhook を使用するカスタムリソース定義 (CRD) を提供します。これらの CRD の削除に失敗すると、クラスターで問題が発生する可能性があります。

    $ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaceroutings.controller.devfile.io
    $ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaces.workspace.devfile.io
    $ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspacetemplates.workspace.devfile.io
    $ oc delete customresourcedefinitions.apiextensions.k8s.io devworkspaceoperatorconfigs.controller.devfile.io
  3. 関連するすべてのカスタムリソース定義が削除されていることを確認します。以下のコマンドでは、結果が何も表示されないはずです。

    $ oc get customresourcedefinitions.apiextensions.k8s.io | grep "devfile.io"
  4. devworkspace-webhook-server デプロイメント、変更用および検証用の Webhook を削除します。

    $ oc delete deployment/devworkspace-webhook-server -n openshift-operators
    $ oc delete mutatingwebhookconfigurations controller.devfile.io
    $ oc delete validatingwebhookconfigurations controller.devfile.io
    注記

    変更用および検証用の Webhook を削除せずに devworkspace-webhook-server デプロイメントを削除すると、oc exec コマンドを使用してクラスターのコンテナーでコマンドを実行することはできません。Webhook を削除すると、oc exec コマンドを再び使用できるようになります。

  5. 残りのサービス、シークレット、および設定マップを削除します。インストールによっては、以下のコマンドに含まれる一部のリソースがクラスターに存在しない場合があります。

    $ oc delete all --selector app.kubernetes.io/part-of=devworkspace-operator,app.kubernetes.io/name=devworkspace-webhook-server -n openshift-operators
    $ oc delete serviceaccounts devworkspace-webhook-server -n openshift-operators
    $ oc delete configmap devworkspace-controller -n openshift-operators
    $ oc delete clusterrole devworkspace-webhook-server
    $ oc delete clusterrolebinding devworkspace-webhook-server
  6. Web コンソールを使用して Operator をアンインストールします。

    1. Web コンソールの Administrator パースペクティブで、Operators → Installed Operators に移動します。
    2. フィルター一覧をスクロールするか、または Filter by name ボックスにキーワードを入力して DevWorkspace Operator を見つけます。
    3. DevWorkspace Operator の Options メニュー kebab をクリックし、Uninstall Operator を選択します。
    4. Uninstall Operator 確認ダイアログボックスで、Uninstall をクリックし、Operator、Operator デプロイメント、および Pod をクラスターから削除します。この Operator は実行を停止し、更新を受信しなくなります。

第9章 OpenShift Container Platform の Web コンソールの無効化

OpenShift Container Platform の Web コンソールを無効にすることができます。

9.1. 前提条件

  • OpenShift Container Platform クラスターをデプロイします。

9.2. Web コンソールの無効化

consoles.operator.openshift.io リソースを編集して Web コンソールを無効にすることができます。

  • consoles.operator.openshift.io リソースを編集します。

    $ oc edit consoles.operator.openshift.io cluster

    以下の例は、変更できるリソースのパラメーターを表示しています。

    apiVersion: operator.openshift.io/v1
    kind: Console
    metadata:
      name: cluster
    spec:
      managementState: Removed 1
    1
    managementState パラメーター値を Removed に設定し、Web コンソールを無効にします。このパラメーターの他の有効な値には以下が含まれます。Managed ではクラスターの制御下でコンソールを有効にし、Unmanaged は Web コンソール管理を制御するのがユーザーであることを意味します。

第10章 Web コンソールでのクイックスタートチュートリアルの作成

OpenShift Container Platform Web コンソールのクイックスタートチュートリアルを作成する場合は、以下のガイドラインに従って、すべてのクイックスタートで一貫したユーザーエクスペリエンスを維持するようにしてください。

10.1. クイックスタートについて

クイックスタートは、ユーザータスクに関するガイド付きチュートリアルです。Web コンソールでは、Help メニューでクリックスタートにアクセスできます。これらは、アプリケーション、Operator、または他の製品オファリングを使用する場合に役立ちます。

クイックスタートは、主にタスクとステップで設定されます。タスクごとに複数のステップがあり、各クイックスタートには複数のタスクがあります。以下に例を示します。

  • タスク 1

    • ステップ 1
    • ステップ 2
    • ステップ 3
  • タスク 2

    • ステップ 1
    • ステップ 2
    • ステップ 3
  • タスク 3

    • ステップ 1
    • ステップ 2
    • ステップ 3

10.2. クイックスタートのユーザーワークフロー

既存のクイックスタートチュートリアルと対話する場合、以下が想定されるワークフローエクスペリエンスになります。

  1. Administrator または Developer パースペクティブで、Help アイコン をクリックし、Quick Starts を選択します。
  2. クイックスタートカードをクリックします。
  3. 表示されるパネルで Start をクリックします。
  4. 画面上の手順を実行し、Next をクリックします。
  5. 表示される Check your work モジュールで質問に回答し、タスクが正常に完了したことを確認します。

    1. Yes を選択した場合には、Next をクリックして次のタスクに進みます。
    2. No を選択した場合は、タスクの手順を繰り返して作業を再度確認します。
  6. 上記の手順 1 から 6 を繰り返し、クイックスタートの残りのタスクを完了します。
  7. 最終タスクが完了したら、Close をクリックしてクイックスタートを閉じます。

10.3. クイックスタートのコンポーネント

クイックスタートは、以下のセクションで設定されます。

  • Card: タイトル、説明、時間 (time commitment)、完了ステータスなどの、クイックスタートの基本情報を提供するカタログタイル
  • Introduction: クイックスタートの目的およびタスクの概要
  • Task headings: クイックスタートの各タスクのハイパーリンクタイトル
  • Check your work module: ユーザーがクイックスタートの次のタスクに進む前に、タスクが正常に完了したことを確認するためのモジュール
  • Hints: ユーザーによる製品の特定の機能を識別するのに役立つアニメーション
  • Buttons

    • Next and back buttons: クイックスタートの各タスク内のステップおよびモジュールに移動するためのボタン
    • Final screen buttons: クイックスタートを閉じたり、クイックスタート内の前のタスクに戻ったり、クイックスタートをすべて表示したりするためのボタン

クイックスタートの主なコンテンツエリアには、以下のセクションが含まれます。

  • Card copy
  • はじめに
  • タスクの手順
  • Modals and in-app messaging
  • Check your work module

10.4. クイックスタートの継続

OpenShift Container Platform では、ConsoleQuickStart オブジェクトで定義されるクイックスタートのカスタムリソースが導入されています。Operator および管理者は、このリソースを使用してクイックスタートをクラスターに提供できます。

前提条件

  • クラスター管理者の権限があること。

手順

  1. 新規のクイックスタートを作成するには、以下を実行します。

    $ oc get -o yaml consolequickstart spring-with-s2i > my-quick-start.yaml
  2. 以下を実行します。

    $ oc create -f my-quick-start.yaml
  3. 本書で説明されているガイダンスを使用して、YAML ファイルを更新します。
  4. 編集を保存します。

10.4.1. クイックスタート API ドキュメントの表示

手順

  • クイックスタートの API ドキュメントを確認するには、以下を実行します。

    $ oc explain consolequickstarts

oc explain の使用方法についての詳細は、oc explain -h を実行します。

10.4.2. クイックスタートの要素からクイックスタート CR へのマッピング

このセクションでは、クイックスタートのカスタムリソース (CR) の部分を、Web コンソール内のクイックスタートのこれらが表示される場所に視覚的にマッピングする方法を説明します。

10.4.2.1. conclusion 要素

YAML ファイルの conclusion 要素の表示

...
summary:
  failed: Try the steps again.
  success: Your Spring application is running.
title: Run the Spring application
conclusion: >-
  Your Spring application is deployed and ready. 1

1
conclusion テキスト

Web コンソールでの conclusion 要素の表示

クイックスタートの最後のセクションに conclusion が表示されます。

Web コンソールでのクイックスタートの conclusion

10.4.2.2. description 要素

YAML ファイルでの description 要素の表示

apiVersion: console.openshift.io/v1
kind: ConsoleQuickStart
metadata:
  name: spring-with-s2i
spec:
  description: 'Import a Spring Application from git, build, and deploy it onto OpenShift.' 1
...

1
description テキスト

Web コンソールでの description 要素の表示

この description は、Quick Starts ページのクイックスタートの導入部分のタイルに表示されます。

Web コンソールでのクイックスタートの description

10.4.2.3. displayName 要素

YAML ファイルの displayName 要素の表示

apiVersion: console.openshift.io/v1
kind: ConsoleQuickStart
metadata:
  name: spring-with-s2i
spec:
  description: 'Import a Spring Application from git, build, and deploy it onto OpenShift.'
  displayName: Get started with Spring 1
  durationMinutes: 10

1
displayName テキスト。

Web コンソールでの displayName 要素の表示

表示名は、Quick Starts ページの導入部分のタイルに表示されます。

Web コンソールでのクイックスタートの名前

10.4.2.4. durationMinutes 要素

YAML ファイルでの durationMinutes 要素の表示

apiVersion: console.openshift.io/v1
kind: ConsoleQuickStart
metadata:
  name: spring-with-s2i
spec:
  description: 'Import a Spring Application from git, build, and deploy it onto OpenShift.'
  displayName: Get started with Spring
  durationMinutes: 10 1

1
durationMinutes 値 (分単位)。この値は、クイックスタートの完了までにかかる時間を定義します。

Web コンソールでの durationMinutes 要素の表示

duration minutes 要素は、Quick Starts ページのクイックスタートの導入部分のタイルに表示されます。

Web コンソールでのクイックスタートの durationMinutes 要素

10.4.2.5. icon 要素

YAML ファイルでの icon 要素の表示

...
spec:
  description: 'Import a Spring Application from git, build, and deploy it onto OpenShift.'
  displayName: Get started with Spring
  durationMinutes: 10
  icon: >-   1
    data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGlkPSJMYXllcl8xIiBkYXRhLW5hbWU9IkxheWVyIDEiIHZpZXdCb3g9IjAgMCAxMDI0IDEwMjQiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojMTUzZDNjO30uY2xzLTJ7ZmlsbDojZDhkYTlkO30uY2xzLTN7ZmlsbDojNThjMGE4O30uY2xzLTR7ZmlsbDojZmZmO30uY2xzLTV7ZmlsbDojM2Q5MTkxO308L3N0eWxlPjwvZGVmcz48dGl0bGU+c25vd2Ryb3BfaWNvbl9yZ2JfZGVmYXVsdDwvdGl0bGU+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAxMi42OSw1OTNjLTExLjEyLTM4LjA3LTMxLTczLTU5LjIxLTEwMy44LTkuNS0xMS4zLTIzLjIxLTI4LjI5LTM5LjA2LTQ3Ljk0QzgzMy41MywzNDEsNzQ1LjM3LDIzNC4xOCw2NzQsMTY4Ljk0Yy01LTUuMjYtMTAuMjYtMTAuMzEtMTUuNjUtMTUuMDdhMjQ2LjQ5LDI0Ni40OSwwLDAsMC0zNi41NS0yNi44LDE4Mi41LDE4Mi41LDAsMCwwLTIwLjMtMTEuNzcsMjAxLjUzLDIwMS41MywwLDAsMC00My4xOS0xNUExNTUuMjQsMTU1LjI0LDAsMCwwLDUyOCw5NS4yYy02Ljc2LS42OC0xMS43NC0uODEtMTQuMzktLjgxaDBsLTEuNjIsMC0xLjYyLDBhMTc3LjMsMTc3LjMsMCwwLDAtMzEuNzcsMy4zNSwyMDguMjMsMjA4LjIzLDAsMCwwLTU2LjEyLDE3LjU2LDE4MSwxODEsMCwwLDAtMjAuMjcsMTEuNzUsMjQ3LjQzLDI0Ny40MywwLDAsMC0zNi41NywyNi44MUMzNjAuMjUsMTU4LjYyLDM1NSwxNjMuNjgsMzUwLDE2OWMtNzEuMzUsNjUuMjUtMTU5LjUsMTcyLTI0MC4zOSwyNzIuMjhDOTMuNzMsNDYwLjg4LDgwLDQ3Ny44Nyw3MC41Miw0ODkuMTcsNDIuMzUsNTIwLDIyLjQzLDU1NC45LDExLjMxLDU5MywuNzIsNjI5LjIyLTEuNzMsNjY3LjY5LDQsNzA3LjMxLDE1LDc4Mi40OSw1NS43OCw4NTkuMTIsMTE4LjkzLDkyMy4wOWEyMiwyMiwwLDAsMCwxNS41OSw2LjUyaDEuODNsMS44Ny0uMzJjODEuMDYtMTMuOTEsMTEwLTc5LjU3LDE0My40OC0xNTUuNiwzLjkxLTguODgsNy45NS0xOC4wNSwxMi4yLTI3LjQzcTUuNDIsOC41NCwxMS4zOSwxNi4yM2MzMS44NSw0MC45MSw3NS4xMiw2NC42NywxMzIuMzIsNzIuNjNsMTguOCwyLjYyLDQuOTUtMTguMzNjMTMuMjYtNDkuMDcsMzUuMy05MC44NSw1MC42NC0xMTYuMTksMTUuMzQsMjUuMzQsMzcuMzgsNjcuMTIsNTAuNjQsMTE2LjE5bDUsMTguMzMsMTguOC0yLjYyYzU3LjItOCwxMDAuNDctMzEuNzIsMTMyLjMyLTcyLjYzcTYtNy42OCwxMS4zOS0xNi4yM2M0LjI1LDkuMzgsOC4yOSwxOC41NSwxMi4yLDI3LjQzLDMzLjQ5LDc2LDYyLjQyLDE0MS42OSwxNDMuNDgsMTU1LjZsMS44MS4zMWgxLjg5YTIyLDIyLDAsMCwwLDE1LjU5LTYuNTJjNjMuMTUtNjQsMTAzLjk1LTE0MC42LDExNC44OS0yMTUuNzhDMTAyNS43Myw2NjcuNjksMTAyMy4yOCw2MjkuMjIsMTAxMi42OSw1OTNaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMzY0LjE1LDE4NS4yM2MxNy44OS0xNi40LDM0LjctMzAuMTUsNDkuNzctNDAuMTFhMjEyLDIxMiwwLDAsMSw2NS45My0yNS43M0ExOTgsMTk4LDAsMCwxLDUxMiwxMTYuMjdhMTk2LjExLDE5Ni4xMSwwLDAsMSwzMiwzLjFjNC41LjkxLDkuMzYsMi4wNiwxNC41MywzLjUyLDYwLjQxLDIwLjQ4LDg0LjkyLDkxLjA1LTQ3LjQ0LDI0OC4wNi0yOC43NSwzNC4xMi0xNDAuNywxOTQuODQtMTg0LjY2LDI2OC40MmE2MzAuODYsNjMwLjg2LDAsMCwwLTMzLjIyLDU4LjMyQzI3Niw2NTUuMzQsMjY1LjQsNTk4LDI2NS40LDUyMC4yOSwyNjUuNCwzNDAuNjEsMzExLjY5LDI0MC43NCwzNjQuMTUsMTg1LjIzWiIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTUyNy41NCwzODQuODNjODQuMDYtOTkuNywxMTYuMDYtMTc3LjI4LDk1LjIyLTIzMC43NCwxMS42Miw4LjY5LDI0LDE5LjIsMzcuMDYsMzEuMTMsNTIuNDgsNTUuNSw5OC43OCwxNTUuMzgsOTguNzgsMzM1LjA3LDAsNzcuNzEtMTAuNiwxMzUuMDUtMjcuNzcsMTc3LjRhNjI4LjczLDYyOC43MywwLDAsMC0zMy4yMy01OC4zMmMtMzktNjUuMjYtMTMxLjQ1LTE5OS0xNzEuOTMtMjUyLjI3QzUyNi4zMywzODYuMjksNTI3LDM4NS41Miw1MjcuNTQsMzg0LjgzWiIvPjxwYXRoIGNsYXNzPSJjbHMtNCIgZD0iTTEzNC41OCw5MDguMDdoLS4wNmEuMzkuMzksMCwwLDEtLjI3LS4xMWMtMTE5LjUyLTEyMS4wNy0xNTUtMjg3LjQtNDcuNTQtNDA0LjU4LDM0LjYzLTQxLjE0LDEyMC0xNTEuNiwyMDIuNzUtMjQyLjE5LTMuMTMsNy02LjEyLDE0LjI1LTguOTIsMjEuNjktMjQuMzQsNjQuNDUtMzYuNjcsMTQ0LjMyLTM2LjY3LDIzNy40MSwwLDU2LjUzLDUuNTgsMTA2LDE2LjU5LDE0Ny4xNEEzMDcuNDksMzA3LjQ5LDAsMCwwLDI4MC45MSw3MjNDMjM3LDgxNi44OCwyMTYuOTMsODkzLjkzLDEzNC41OCw5MDguMDdaIi8+PHBhdGggY2xhc3M9ImNscy01IiBkPSJNNTgzLjQzLDgxMy43OUM1NjAuMTgsNzI3LjcyLDUxMiw2NjQuMTUsNTEyLDY2NC4xNXMtNDguMTcsNjMuNTctNzEuNDMsMTQ5LjY0Yy00OC40NS02Ljc0LTEwMC45MS0yNy41Mi0xMzUuNjYtOTEuMThhNjQ1LjY4LDY0NS42OCwwLDAsMSwzOS41Ny03MS41NGwuMjEtLjMyLjE5LS4zM2MzOC02My42MywxMjYuNC0xOTEuMzcsMTY3LjEyLTI0NS42Niw0MC43MSw1NC4yOCwxMjkuMSwxODIsMTY3LjEyLDI0NS42NmwuMTkuMzMuMjEuMzJhNjQ1LjY4LDY0NS42OCwwLDAsMSwzOS41Nyw3MS41NEM2ODQuMzQsNzg2LjI3LDYzMS44OCw4MDcuMDUsNTgzLjQzLDgxMy43OVoiLz48cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik04ODkuNzUsOTA4YS4zOS4zOSwwLDAsMS0uMjcuMTFoLS4wNkM4MDcuMDcsODkzLjkzLDc4Nyw4MTYuODgsNzQzLjA5LDcyM2EzMDcuNDksMzA3LjQ5LDAsMCwwLDIwLjQ1LTU1LjU0YzExLTQxLjExLDE2LjU5LTkwLjYxLDE2LjU5LTE0Ny4xNCwwLTkzLjA4LTEyLjMzLTE3My0zNi42Ni0yMzcuNHEtNC4yMi0xMS4xNi04LjkzLTIxLjdjODIuNzUsOTAuNTksMTY4LjEyLDIwMS4wNSwyMDIuNzUsMjQyLjE5QzEwNDQuNzksNjIwLjU2LDEwMDkuMjcsNzg2Ljg5LDg4OS43NSw5MDhaIi8+PC9zdmc+Cg==
...

1
base64 値として定義される icon。

Web コンソールでの icon 要素の表示

このアイコンは、Quick Starts ページのクイックスタートの導入部分のタイルに表示されます。

Web コンソールでのクイックスタート icon 要素

10.4.2.6. introduction 要素

YAML ファイルでの introduction 要素の表示

...
  introduction: >- 1
    **Spring** is a Java framework for building applications based on a distributed microservices architecture.

    - Spring enables easy packaging and configuration of Spring applications into a self-contained executable application which can be easily deployed as a container to OpenShift.

    - Spring applications can integrate OpenShift capabilities to provide a natural "Spring on OpenShift" developer experience for both existing and net-new Spring applications. For example:

    - Externalized configuration using Kubernetes ConfigMaps and integration with Spring Cloud Kubernetes

    - Service discovery using Kubernetes Services

    - Load balancing with Replication Controllers

    - Kubernetes health probes and integration with Spring Actuator

    - Metrics: Prometheus, Grafana, and integration with Spring Cloud Sleuth

    - Distributed tracing with Istio & Jaeger tracing

    - Developer tooling through Red Hat OpenShift and Red Hat CodeReady developer tooling to quickly scaffold new Spring projects, gain access to familiar Spring APIs in your favorite IDE, and deploy to Red Hat OpenShift
...

1
introduction は、クイックスタートを紹介し、この中でタスクを一覧表示します。

Web コンソールでの introduction 要素の表示

クイックスタートカードをクリックすると、その中のサイドパネルスライドがクイックスタートを開始し、この中でタスクを一覧表示します。

Web コンソールでのクイックスタートの introduction 要素

10.4.3. カスタムアイコンのクイックスタートへの追加

デフォルトのアイコンがすべてのクイックスタートについて指定されます。独自のカスタムアイコンを指定することができます。

手順

  1. カスタムアイコンとして使用する .svg ファイルを見つけます。
  2. オンラインツールを使用して、テキストを base64 に変換 します。
  3. YAML ファイルに icon: >- を追加し、次の行に data:image/svg+xml;base64 とそれに続く base64 変換からの出力が含まれます。以下に例を示します。

    icon: >-
       data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHJvbGU9ImltZyIgdmlld.

10.4.4. クイックスタートへのアクセス制限

すべてのユーザーがすべてのクイックスタートを利用できる訳ではありません。YAML ファイルの accessReviewResources セクションでは、クイックスタートへのアクセスを制限する機能を提供します。

ユーザーに HelmChartRepository リソースを作成する機能がある場合にのみクイックスタートにアクセスできるようにするには、以下の設定を使用します。

accessReviewResources:
  - group: helm.openshift.io
    resource: helmchartrepositories
    verb: create

ユーザーに Operator グループおよびパッケージマニフェストを一覧表示し、Operator をインストールできる機能がある場合にのみクイックスタートにアクセスできるようにするには、以下の設定を使用します。

accessReviewResources:
  - group: operators.coreos.com
    resource: operatorgroups
    verb: list
  - group: packages.operators.coreos.com
    resource: packagemanifests
    verb: list

10.4.5. その他のクイックスタートのリンク

手順

  • YAML ファイルの nextQuickStart セクションで、リンクするクイックスタートの name (displayName ではない) を指定します。以下に例を示します。

    nextQuickStart:
      - add-healthchecks

10.4.6. クイックスタートでサポートされるタグ

これらのタグを使用して、クイックスタートコンテンツをマークダウンで記述します。マークダウンが HTML に変換されます。

タグ説明

'b',

太字テキストを定義します。

'img',

イメージを埋め込みます。

'i',

イタリックテキストを定義します。

'strike',

取り消し線 (strike-through) テキストを定義します。

's',

小さいテキストを定義します。

'del',

小さいテキストを定義します。

'em',

エミュレートしたテキストを定義します。

'strong',

重要なテキストを定義します。

'a',

アンカータグを定義します。

'p',

段落テキストを定義します。

'h1',

レベル 1 の見出しを定義します。

'h2',

レベル 2 の見出しを定義します。

'h3',

レベル 3 の見出しを定義します。

'h4',

レベル 4 の見出しを定義します。

'ul',

順序のないリストを定義します。

'ol',

順序付きのリストを定義します。

'li',

リスト項目を定義します。

'code',

テキストをコードとして定義します。

'pre',

事前にフォーマットされたテキストのブロックを定義します。

'button',

テキストでボタンを定義します。

10.4.7. クイックスタートでのマークダウン参照の強調表示

ハイライトまたはヒントの機能により、クイックスタートに Web コンソールのコンポーネントを強調表示したり、アニメーションで表示できるリンクを追加することができます。

マークダウン構文には以下が含まれます。

  • ブラケット付きリンクテキスト
  • highlight のキーワードと、それに続くアニメーションで表示する要素の ID

10.4.7.1. パースペクティブスイッチャー

[Perspective switcher]{{highlight qs-perspective-switcher}}

10.4.7.2. Administrator パースペクティブのナビゲーションリンク

[Home]{{highlight qs-nav-home}}
[Operators]{{highlight qs-nav-operators}}
[Workloads]{{highlight qs-nav-workloads}}
[Serverless]{{highlight qs-nav-serverless}}
[Networking]{{highlight qs-nav-networking}}
[Storage]{{highlight qs-nav-storage}}
[Service catalog]{{highlight qs-nav-servicecatalog}}
[Compute]{{highlight qs-nav-compute}}
[User management]{{highlight qs-nav-usermanagement}}
[Administration]{{highlight qs-nav-administration}}

10.4.7.3. Developer パースペクティブのナビゲーションリンク

[Add]{{highlight qs-nav-add}}
[Topology]{{highlight qs-nav-topology}}
[Search]{{highlight qs-nav-search}}
[Project]{{highlight qs-nav-project}}
[Helm]{{highlight qs-nav-helm}}

10.4.7.4. 一般的なナビゲーションリンク

[Builds]{{highlight qs-nav-builds}}
[Pipelines]{{highlight qs-nav-pipelines}}
[Monitoring]{{highlight qs-nav-monitoring}}

10.4.8. コードスニペットのマークダウン参照

CLI コードスニペットがクイックスタートに含まれる場合に、これを Web コンソールから実行できるようになりました。この機能を使用するには、まず Web ターミナル Operator をインストールする必要があります。Web ターミナルで実行する Web ターミナルおよびコードスニペットの各種アクションは、Web ターミナル Operator をインストールしない場合は表示されません。または、Web ターミナル Operator がインストールされているかどうかに関係なく、コードスニペットをクリップボードにコピーできます。

10.4.8.1. インラインコードスニペットの構文

`code block`{{copy}}
`code block`{{execute}}
注記

execute 構文が使用される場合、Web ターミナル Operator がインストールされているかどうかに関係なく、Copy to clipboard アクションが表示されます。

10.4.8.2. 複数行コードスニペットの構文

```
multi line code block
```{{copy}}

```
multi line code block
```{{execute}}

10.5. クイックスタートのコンテンツガイドライン

10.5.1. Card copy

クイックスタートカードのタイトルと説明をカスタマイズできますが、ステータスをカスタマイズすることはできません。

  • 説明を 1 または 2 文にまとめます。
  • 動詞から始め、ユーザーの目的を伝えるものにします。正しい例:

    Create a serverless application.

10.5.2. はじめに

クイックスタートカードをクリックすると、その中のサイドパネルスライドがクイックスタートを開始し、この中でタスクを一覧表示します。

  • 導入部分のコンテンツを明確に、簡潔に、説明的に、また読みやすいものにします。
  • クイックスタートの結果について示します。ユーザーは、クイックスタートを開始する前にその目的を理解している必要があります。
  • ユーザーに (クイックスタートではなく) 実行するアクションを示します。

    • 正しい例:

      In this quick start, you will deploy a sample application to {product-title}.
    • 正しくない例:

      This quick start shows you how to deploy a sample application to {product-title}.
  • 導入部分は、機能の複雑さに応じて最大 4 から 5 つの文章で設定される必要があります。導入部分が長いとユーザーを圧倒してしまう可能性があります。
  • 導入部分の後にクイックスタートのタスクを一覧表示し、各タスクの一覧についてはそれぞれ動詞で始まります。タスクが追加または削除されるたびにコピーを更新する必要が生じるため、タスクの数は指定しないでください。

    • 正しい例:

      Tasks to complete: Create a serverless application; Connect an event source; Force a new revision
    • 正しくない例:

      You will complete these 3 tasks: Creating a serverless application; Connecting an event source; Forcing a new revision

10.5.3. タスクの手順

ユーザーが Start をクリックした後に、クイックスタートを完了するために実行する必要のある一覧のステップが表示されます。

タスクのステップを作成する場合は、以下の一般的なガイドラインに従います。

  • ボタンとラベルには Click を使用します。チェックボックス、ラジオボタン、およびドロップダウンメニューには Select を使用します。
  • Click on ではなく Click を使用します。

    • 正しい例:

      Click OK.
    • 正しくない例:

      Click on the OK button.
  • ユーザーに対し、Administrator パースペクティブと Developer パースペクティブ間を移動する方法を示します。ユーザーがすでに適切なパースペクティブにいると思われる場合でも、ユーザーが適切なパースペクティブに確実に移動していることを確認できるように、ユーザーに対してパースペクティブへの移動方法を示します。

    例 :

    Enter the Developer perspective: In the main navigation, click the dropdown menu and select Developer.
    Enter the Administrator perspective: In the main navigation, click the dropdown menu and select Admin.
  • Location, action の構造を使用します。ユーザーに対し、実行すべきアクションを示す前に移動する必要のある場所を示します。

    • 正しい例:

      In the node.js deployment, hover over the icon.
    • 正しくない例:

      Hover over the icon in the node.js deployment.
  • 製品の用語については一貫して大文字表記を使用します。
  • メニュータイプまたはリストをドロップダウンとして指定する必要がある場合は、ハイフンなしで dropdown と 1 単語で記述します。
  • ユーザーアクションと製品機能に関する追加情報を明確に区別します。

    • ユーザーアクション:

      Change the time range of the dashboard by clicking the dropdown menu and selecting time range.
    • 追加情報:

      To look at data in a specific time frame, you can change the time range of the dashboard.
  • 右上隅でアイコンをクリックなどの指示文は使用しないようにしてください。指示文は UI レイアウトが変更されるたびに古くなります。また、デスクトップユーザー向けの指示は、異なるサイズの画面を使用するユーザーには適切ではない場合があります。代わりに、名前を使用して内容を特定できるようにします。

    • 正しい例:

      In the navigation menu, click Settings.
    • 正しくない例:

      In the left-hand menu, click Settings.
  • "Click the gray circle (灰色の円をクリック)" など、色のみで項目を特定することはしないでください。色の識別子は、視力制限のあるユーザー、とくに色覚異常のユーザーの役に立ちません。代わりに、ボタンコピーのような名前またはコピーを使用して項目を特定します。

    • 正しい例:

      The success message indicates a connection.
    • 正しくない例:

      The message with a green icon indicates a connection.
  • 二人称を使用で統一します。

    • 正しい例:

      Set up your environment.
    • 正しくない例:

      Let's set up our environment.

10.5.4. 作業モジュールの確認

  • ユーザーがステップを完了すると、 Check your work モジュールが表示されます。このモジュールは、ユーザーに対してステップの結果についての質問への yes または no の回答を求めるプロンプトを出し、ユーザーはここで作業を確認することができます。このモジュールでは、1 つの yes または no の回答を求める質問のみ作成する必要があります。

    • ユーザーが Yes と回答すると、チェックマークが表示されます。
    • ユーザーが No と回答すると、必要に応じて関連するドキュメントへのリンクと共にエラーメッセージが表示されます。その後、ユーザーは戻ってやり直すことができます。

10.5.5. UI 要素のフォーマット

以下のガイドラインを使用して UI 要素をフォーマットします。

  • ボタン、ドロップダウン、タブ、フィールド、その他の UI コントロールのコピー: UI に表示されるようにコピーを作成し、これを太字にします。
  • ページ、ウィンドウ、およびパネル名を含むその他のすべての UI 要素: UI に表示されるようにコピーを作成し、これを太字にします。
  • コードまたはユーザーが入力するテキスト: 等幅フォントを使用します。
  • ヒント: ナビゲーションまたはマストヘッド要素へのヒントが含まれる場合は、リンクのようにテキストのスタイルを変更します。
  • CLI コマンド: 等幅フォントを使用します。
  • 実行中のテキストで、コマンドに太字の等幅フォントを使用します。
  • パラメーターまたはオプションが可変値である場合、イタリック体の等幅フォントを使用します。
  • パラメーターに太字の等幅フォントを使用し、オプションに等幅フォントを使用します。

10.6. 関連情報