Red Hat Training

A Red Hat training course is available for Red Hat OpenStack Platform

OpenStack Dashboard の概要

Red Hat OpenStack Platform 13

Red Hat OpenStack Platform Dashboard グラフィカルユーザーインターフェイスの概要

概要

本書では、Red Hat OpenStack Platform Dashboard のユーザーインターフェイスで利用可能なオプションについて説明します。

はじめに

第1章 Red Hat OpenStack Platform Dashboard サービス (horizon)

Red Hat OpenStack Platform (RHOSP) Dashboard (horizon) は、RHOSP サービスを管理するのに使用できる Web ベースのグラフィカルユーザーインターフェイスです。

ブラウザーで Dashboard にアクセスするには、Dashboard Service がインストール済みで、かつその Dashboard のホスト名または IP アドレス、およびログインパスワードが必要となります。Dashboard の URL は、以下のような形式です。

http://HOSTNAME/dashboard/

1.1. 管理タブ

管理 タブは、管理者が使用状況の確認や、インスタンス、ボリューム、フレーバー、イメージ、プロジェクト、ユーザー、サービス、クォータの管理を行うことができるインターフェイスを提供します。

注記

管理 タブは、管理者権限のあるユーザーとしてログインしている場合にのみメインウィンドウに表示されます。

以下のオプションは 管理 タブから利用できます。

表1.1 システムパネル

パラメーター名説明

概要

基本的なレポートを表示します。

リソース使用状況

以下のタブを使用して、下に示す使用状況を表示します。

  • 使用状況レポート: 使用状況のレポートを表示します。
  • 統計情報: 全リソースの統計情報を表示します。

ハイパーバイザー

ハイパーバイザーの概要を表示します。

ホストアグリゲート

ホストアグリゲートを表示、作成、編集します。アベイラビリティーゾーンの一覧を表示します。

インスタンス

全プロジェクトではなく、一部のプロジェクトのユーザーに属する実行中のインスタンスを表示、一時停止、再開、休止、移行、ソフトリブート/ハードリブート、削除します。また、インスタンスのログを表示したり、コンソールを使用してインスタンスへアクセスしたりします。

ボリューム

ボリュームおよびボリューム種別を表示、作成、編集、削除します。

フレーバー

フレーバーを表示、作成、編集、削除したり、その追加スペックを表示したりします。フレーバーとは、OpenStack 内の仮想ハードウェアのテンプレートです。

イメージ

カスタムのイメージを表示、作成、削除し、イメージのプロパティーを編集します。

ネットワーク

ネットワークを表示、作成、削除し、ネットワークのプロパティーを編集します。

ルーター

ルーターを表示、作成、削除し、ルーターのプロパティーを編集します。

Floating IP

すべてのプロジェクトについて、割り当てられた Floating IP アドレスを表示します。

デフォルト値

環境内のリソースのデフォルトクォータ (上限) を表示、編集します。

メタデータ定義

メタデータ定義の名前空間をインポート、表示、編集して、メタデータ定義を特定のリソース種別と関連付けます。

システム情報

以下のようなタブがあります。

  • サービス: サービスの一覧を表示します。
  • コンピュートサービス: 全コンピュートサービスの一覧を表示します。
  • ネットワークエージェント: ネットワークエージェントを表示します。
  • ブロックストレージサービス: 全 Block Storage サービスの一覧を表示します。
  • オーケストレーションサービス: 全 Orchestration サービスの一覧を表示します。

1.1.1. 割り当てられた Floating IP アドレスの表示

Floating IP パネルを使用して、割り当てられた Floating IP アドレスの一覧を表示することができます。コマンドラインを使用して、この情報にアクセスすることもできます。

$ nova list --all-tenants

1.2. プロジェクトタブ

プロジェクト タブでは、プロジェクトリソースを表示および管理できます。ユーザー管理 > プロジェクト でプロジェクトを有効な状態に設定して、対象プロジェクトのリソースを表示、管理します。

以下のオプションは プロジェクト タブから利用できます。

表1.2 コンピュートタブ

パラメーター名説明

概要

プロジェクトのレポートを表示します。

インスタンス

インスタンスの表示、起動、スナップショットの作成、停止、一時停止、リブート、または コンソールからインスタンスに接続します。

ボリューム

以下のタブを使用して、以下に示すタスクを完了します。

  • ボリューム: ボリュームを表示、作成、編集、削除します。
  • ボリュームスナップショット: ボリュームのスナップショットを表示、作成、編集、削除します。

イメージ

プロジェクトユーザーが作成したイメージ、インスタンスのスナップショット、ボリュームのスナップショット、および公開されているイメージを表示します。イメージを作成、編集、削除したり、イメージやスナップショットからインスタンスを起動します。

アクセスとセキュリティー

以下のタブを使用して、以下に示すタスクを完了します。

  • セキュリティーグループ: セキュリティーグループおよびセキュリティーグループのルールを表示、作成、編集、削除します。
  • キーペア: キーペアを表示、作成、編集、インポート、削除します。
  • Floating IP: IP アドレスをプロジェクトに確保したり、プロジェクトから解放したりします。
  • API アクセス: API エンドポイントの表示、OpenStack RC ファイルのダウンロード、EC2 認証情報のダウンロード、ログイン中のプロジェクトユーザーの認証情報の表示を行います。

表1.3 ネットワークタブ

パラメーター名説明

ネットワークトポロジー

対話型のネットワークトポロジーを表示します。

ネットワーク

パブリックネットワークおよびプライベートネットワークとサブネットを作成、管理します。

ルーター

ルーターを作成、管理します。

トランク

トランクを作成および管理します。OpenStack Networking (neutron) で trunk 拡張機能を有効にする必要があります。

表1.4 オブジェクトストアタブ

パラメーター名説明

コンテナー

ストレージコンテナーを作成および管理します。コンテナーとは、データ用のストレージコンパートメントで、データを整理する手段を提供します。これは、Linux のファイルディレクトリーと概念が似ていますが、入れ子状にはできません。

表1.5 オーケストレーションタブ

パラメーター名説明

スタック

OpenStack ネイティブの REST API と CloudFormation 互換の Query API の両方を介し、テンプレートを使用して、複数の複合クラウドプラットフォームをオーケストレーションします。

1.3. ユーザー管理タブ

ユーザー管理 タブでは、プロジェクトおよびユーザーの表示、管理を行うことができます。

以下のオプションは ユーザー管理 タブから利用できます。

  • プロジェクト: プロジェクトの表示、作成、編集、削除、プロジェクト使用状況の表示、プロジェクトメンバーとしてのユーザーの追加や削除、クォータの変更、有効なプロジェクトの設定を行います。
  • ユーザー: ユーザーの表示、作成、編集、無効化、削除とユーザーパスワードの変更を行います。ユーザー タブは、管理ユーザーとしてログインしている場合に利用できます。

Red Hat OpenStack Platform Dashboard を使用したクラウド管理についての詳しい情報は、以下のガイドを参照してください。

第2章 Dashboard のカスタマイズ

Red Hat OpenStack Platform (RHOSP) Dashboard (horizon) では、horizon コンテナー内に保管されるデフォルトのテーマ (RCUE) が使用されます。独自のテーマをコンテナーイメージに追加して、特定のパラメーターをカスタマイズして Dashboard の以下の要素の外観と操作感を変更することができます。

  • ロゴ
  • サイトの色
  • スタイルシート
  • HTML タイトル
  • サイトのブランディングリンク
  • ヘルプの URL
注記

変更した RHOSP コンテナーイメージが継続的にサポートされるには、変更後のイメージが Red Hat コンテナーのサポートポリシー を順守する必要があります。

2.1. horizon コンテナーイメージの取得

horizon コンテナーイメージのコピーを取得するには、イメージをアンダークラウドまたは podman を実行する別のクライアントシステムのいずれかにプルします。

手順

  • horizon コンテナーイメージをプルします。

    $ sudo docker pull registry.redhat.io/rhosp13/openstack-horizon

イメージ変更のベースとして、このイメージを使用できます。

2.2. RCUE テーマの取得

デフォルトでは、horizon コンテナーイメージは Red Hat ブランドの RCUE テーマを使用します。コンテナーイメージからテーマのコピーを抽出して、自分専用のテーマのベースとして使用することができます。

手順

  1. 自分専用のテーマ用のディレクトリーを作成します。

    $ mkdir ~/horizon-themes
    $ cd ~/horizon-themes
  2. ヌルループを実行するコンテナーを起動します。たとえば、以下のコマンドを実行します。

    $ sudo docker run --rm -d --name horizon-temp registry.redhat.io/rhosp13/openstack-horizon /usr/bin/sleep infinity
  3. RCUE テーマをコンテナーからローカルディレクトリーにコピーします。

    $ sudo docker cp -a horizon-temp:/usr/share/openstack-dashboard/openstack_dashboard/themes/rcue .
  4. コンテナーを強制終了します。

    $ sudo docker kill horizon-temp

結果: RCUE テーマのローカルコピーができたはずです。

2.3. RCUE をベースにした自分専用のテーマの作成

RCUE をベースとして使用するには、RCUE テーマのディレクトリー rcue 全体を新しい場所にコピーします。以下の手順では、名前の例として mytheme を使用しています。

手順

  • テーマをコピーします。

    $ cp -r rcue mytheme

テーマの色、グラフィックス、フォント、およびその他の要素を変更するには、mytheme 内のファイルを編集します。このテーマを編集する場合は、パス、ファイル、ディレクトリーを含む rcue のすべてのインスタンスを確認して、それらを新しい mytheme の名前に変更してください。

2.4. 自分専用のテーマを有効にして dashboard をカスタマイズするためのファイルの作成

dashboard コンテナー内の自分専用のテーマを有効にするには、AVAILABLE_THEMES パラメーターを上書きするファイルを作成する必要があります。

手順

  1. horizon-themes ディレクトリー内に _12_mytheme_theme.py という名前の新たなファイルを作成し、以下の内容を追加します。

    AVAILABLE_THEMES = [('mytheme', 'My Custom Theme', 'themes/mytheme')]

    ファイル名の 12 により、このファイルが 11 を使用する RCUE ファイルの後に読み込まれ、AVAILABLE_THEMES パラメーターが上書きされます。

  2. (オプション): _12_mytheme_theme.py ファイルで、カスタムパラメーターを設定することもできます。以下の例を目安にしてください。

    SITE_BRANDING

    ブラウザーウィンドウの上部に表示される HTML タイトルを設定します。

    SITE_BRANDING = "Example, Inc. Cloud"
    SITE_BRANDING_LINK

    デフォルトでは、テーマのロゴのハイパーリンクは horizon:user_home にリダイレクトします。

    SITE_BRANDING_LINK = "http://example.com"

2.5. 変更した horizon イメージの生成

カスタムテーマの作成が完了したら、新たなコンテナーイメージを作成して自分専用のテーマを有効にして使用することができます。

手順

  1. dockerfile により、元の horizon イメージをベースとして、新たなコンテナーイメージを生成します。以下の dockerfile の例を目安にしてください。

    FROM registry.redhat.io/rhosp13/openstack-horizon
    MAINTAINER Acme
    LABEL name="rhosp13/openstack-horizon-mytheme" vendor="Acme" version="0" release="1"
    COPY mytheme /usr/share/openstack-dashboard/openstack_dashboard/themes/mytheme
    COPY _12_mytheme_theme.py /etc/openstack-dashboard/local_settings.d/_12_mytheme_theme.py
    RUN sudo chown horizon:horizon /etc/openstack-dashboard/local_settings.d/_12_mytheme_theme.py
  2. このファイルを dockerfile という名前でご自分の horizon-themes ディレクトリーに保存します。
  3. dockerfile を使用して新しいイメージを生成します。

    sudo docker build . -t "192.168.24.1:8787/rhosp13/openstack-horizon-mytheme:0-1"

    -t オプションで、生成されるイメージに名前およびタグを付けます。このオプションには、以下の構文を使用します。

    [LOCATION]/[NAME]:[TAG]
    LOCATION
    これは通常、オーバークラウドがイメージをプルするのに使用するコンテナーレジストリーの場所です。このイメージをアンダークラウドのコンテナーレジストリーにプッシュするには、この項目をアンダークラウドの IP アドレスおよびポートに設定します。
    NAME
    一貫性を保つため、通常は元のコンテナーイメージと同じ名前で、その後はご自分のテーマの名前になります。この例では、rhosp13/openstack-horizon-mytheme です。
    TAG
    イメージのタグです。バージョンおよびリリースラベルをこのタグのベースとして使用することで、Red Hat の命名規則に従うことができます。このイメージの新しいバージョンを生成する場合には、リリースの数字を増やします (例: 0-2)。
  4. 生成されたイメージをアンダークラウドのコンテナーレジストリーにプッシュします。

    $ docker push 192.168.24.1:8787/rhosp13/openstack-horizon-mytheme:0-1
重要

RHOSP を更新またはアップグレードする場合には、新しい horizon イメージにテーマを再度適用し、変更したイメージの新しいバージョンをアンダークラウドにプッシュする必要があります。

2.6. 変更したコンテナーイメージのオーバークラウドでの使用

変更したコンテナーイメージをオーバークラウドのデプロイメントに使用するには、コンテナーイメージの場所の一覧が含まれる環境ファイルを編集します。この環境ファイルの名前は、通常 overcloud-images.yaml です。

手順

  1. DockerHorizonConfigImage および DockerHorizonImage パラメーターを編集して、変更したコンテナーイメージをポイントします。

    parameter_defaults:
      ...
      DockerHorizonConfigImage: 192.168.24.1:8787/rhosp13/openstack-horizon-mytheme:0-1
      DockerHorizonImage: 192.168.24.1:8787/rhosp13/openstack-horizon-mytheme:0-1
      ...
  2. この新しいバージョンの overcloud-images.yaml ファイルを保存します。

2.7. puppet パラメーターの編集

director には、環境ファイルを使用して変更することのできる Dashboard のパラメーターセットが用意されています。

手順

  • ExtraConfig パラメーターを使用して Puppet hieradata を設定します。たとえば、デフォルトのヘルプ URL は Red Hat OpenStack Platform の製品ドキュメント をポイントします。この URL を変更するには、以下の環境ファイルの内容を使用して、URL を置き換えます。

    parameter_defaults:
      ExtraConfig:
        horizon::help_url: "http://openstack.example.com"

2.8. Dashboard をカスタマイズしたオーバークラウドのデプロイ

手順

  • Dashboard をカスタマイズしたオーバークラウドをデプロイするには、openstack overcloud deploy コマンドで以下の環境ファイルを指定します。

    • 変更したコンテナーイメージの場所を定義した環境ファイル
    • 追加の dashboard 変更を定義した環境ファイル
    • ご自分のオーバークラウド設定に関連するその他すべての環境ファイル

      $ openstack overcloud deploy --templates \
          -e /home/stack/templates/overcloud-images.yaml \
          -e /home/stack/templates/help_url.yaml \
          [OTHER OPTIONS]