第7章 コンテナープロバイダー

コンテナープロバイダーとは、コンテナーのリソースを管理するサービスで、 Red Hat CloudForms アプライアンスに追加することができます。

Red Hat CloudForms は、OpenShift コンテナープロバイダーに接続して、インフラストラクチャーおよびクラウドプロバイダーなどと同様にこれらを管理できます。これにより、環境のさまざまな側面を制御し、以下のような情報を確認することが可能となります。

  • 環境内のコンテナー数
  • 特定のノードに十分なリソースがあるかどうか
  • 使用されている個別のイメージ数
  • 使用されているイメージレジストリー

CloudForms は、コンテナー環境に接続する際に、環境の異なる領域の情報を収集します。

  • ポッド、ノード、サービスなどのエンティティー
  • エンティティー間の基本的なリレーションシップ (例: ポッドに対してサービスを提供しているサービス)
  • リレーションシップに関する詳細なインサイト (例: 同じイメージを使用している 2 つのコンテナー)
  • イベント、プロジェクト、ルート、メトリックなどの追加情報

タグを追加することによってコンテナーのエンティティーのポリシーを管理することができます。ボリューム以外のコンテナーエンティティーはすべてタグ付けすることが可能です。

7.1. OpenShift Container Platform Management トークンの取得

openshift-ansible-3.0.20 (以降) を使用して OpenShift Enterprise をデプロイする場合に、Red Hat CloudForms で必要とされる OpenShift Container Platform service account および roles はデフォルトでインストールされます。

注記

デフォルトのロール一覧については「OpenShift Container Platform documentation」を参照してください。

プロバイダーの定義に使用するトークンを取得するには、以下の手順で、お使いの OpenShift Container Platform のバージョンに対応するステップに従ってください。

7.1.1. OpenShift Container Platform 3.3 以降での管理トークンの取得

OpenShift Container Platform 3.3 (以降) のプロバイダーを追加するのに必要なトークンを取得するには以下を実行します。

# oc sa get-token -n management-infra management-admin
eyJhbGciOiJSUzI1NiI...

7.1.2. OpenShift Enterprise 3.2 の管理トークンの取得

OpenShift Container Platform 3.2 のプロバイダーを追加するのに必要なトークンを取得するには以下を実行します。

# oc sa get-token -n management-infra management-admin
eyJhbGciOiJSUzI1NiI...

7.1.3. OpenShift Enterprise 3.1 の管理トークンの取得

OpenShift Container Platform 3.1 のプロバイダーを追加するのに必要なトークンを取得するには以下を実行します。

  1. 以下を実行して、management サービスアカウントのトークン名を取得します。

    # oc describe sa -n management-infra management-admin
    ...
    Tokens:  management-admin-token-0f3fh
             management-admin-token-q7a87
  2. 完全なトークンの出力を取得するには、トークンの 1 つを選択して記述します。management-admin-token-0f3fh はトークンの名前に置き換えてください。

    # oc describe secret -n management-infra management-admin-token-0f3fh
    ...
    Data
    ====
    token:  eyJhbGciOiJSUzI1NiI...

7.2. OpenShift Cluster メトリックの有効化

OpenShift Cluster メトリックのプラグインを使用してノード、ポッド、コンテナーのメトリックを 1 つの場所に収集します。これにより、使用状況を追跡して共通の問題を特定します。

7.3. OpenShift Container Platform プロバイダーの追加

初回のインストールが完了し、Red Hat CloudForms 環境が作成された後に、???で取得したトークンを使用して以下の手順に従い OpenShift Container Platform プロバイダーを追加します。

  1. コンピュートコンテナープロバイダー に移動します。
  2. Configuration (構成) をクリックして、 Add a New Containers Provider (既存のコンテナープロバイダーの追加) を選択します。
  3. プロバイダーの 名前 を入力します。
  4. タイプ の一覧から OpenShift Container Platform を選択します。
  5. プロバイダー用に適切な ゾーン を入力します。ゾーンを指定しない場合は、ゾーンは default に設定されます。
  6. デフォルト タブの エンドポイント で、OpenShift プロバイダーの以下の内容を設定します。

    1. セキュリティープロトコル の方法を選択して、プロバイダーの認証方法を指定します。

      • SSL: 信頼済みの認証局を使用してセキュアにプロバイダーを認証します。プロバイダーに有効な SSL 証明書があり、信頼済みの認証局により署名されている場合にはこのオプションを選択します。このオプションでは、他の設定は必要ありません。
      • SSL の信頼されたカスタム CA: 自己署名済みの証明書でプロバイダーを認証します。このオプションでは、プロバイダーの CA 証明書を .PEM 形式の 信頼された CA 証明書 ボックスにコピーします。

        注記

        OpenShift Container Platform プロバイダーの CA 証明書を取得するには、プロバイダー上で oc get secret コマンドを実行します。その際、必要に応じてプロバイダーとトークンの値は適切なものに置き換えてください。プロバイダーのトークンを取得する方法は「OpenShift Container Platform Management トークンの取得」を参照してください。

        以下に例を示します。

        # oc get secret --namespace management-infra management-admin-token-8ixxs --template='{{index .data "ca.crt"}}' | base64 --decode

        出力 (-----BEGIN CERTIFICATE----- で始まるブロック) を 信頼された CA 証明書 フィールドに貼り付けます。

      • 検証なしの SSL: セキュアでない方法でプロバイダーを認証します (非推奨)。
    2. プロバイダーの ホスト名 か、IPv4 または IPv6 アドレスを入力します。

      重要

      ホスト名 には、完全修飾ドメイン名を使用する必要があります。

    3. プロバイダーの API ポート を入力します。デフォルトのポートは 8443 です。
    4. トークン フィールドに OpenShift 管理トークンを入力します。これは、先ほど「OpenShift Container Platform Management トークンの取得」で取得したトークンです。
    5. トークンの確認 フィールドに同じトークンを入力します。
    6. 検証 をクリックして、Red Hat CloudForms が OpenShift Container Platform プロバイダーに接続できることを確認します。
  7. Hawkular タブの エンドポイント で、Hawkular の容量および使用状況のメトリック収集に関する以下の項目を設定します。

    1. セキュリティープロトコル の方法を選択して、プロバイダーの認証方法を指定します。

      • SSL: 信頼済みの認証局を使用してセキュアにプロバイダーを認証します。プロバイダーに有効な SSL 証明書があり、信頼済みの認証局により署名されている場合にはこのオプションを選択します。このオプションでは、他の設定は必要ありません。
      • SSL の信頼されたカスタム CA: 自己署名済みの証明書でプロバイダーを認証します。このオプションでは、プロバイダーの CA 証明書を .PEM 形式の 信頼された CA 証明書 ボックスにコピーします。

        注記

        OpenShift では、ルーターをデフォルトでデプロイメントすると、インストール時に証明書が生成され、この証明書を SSL trusting custom CA オプションで使用することができます。このオプションで Hawkular エンドポイントを接続する場合は、クラスターがサービス証明書に使用する CA 証明書が必要です。このサービス証明書は、クラスターの最初のマスター上の /etc/origin/master/service-signer.crt に保存されます。また、プロバイダー上で以下を実行して、クラスターから証明書を取得することも可能です。

        # oc get secrets $(oc get secrets -n default -o jsonpath='{.items[?(@.type=="kubernetes.io/service-account-token")].metadata.name}{"\n"}' | grep  -Eo "router.+" | awk '{print $1}') -n default -o jsonpath='{.data.ca\.crt}{"\n"}' | base64 -d
      • 検証なしの SSL: SSL を使用してセキュアでない方法でプロバイダーを認証します (推奨ではありません)。
    2. プロバイダーの ホスト名 か、IPv4 または IPv6 アドレスを入力します。
    3. Hawkular プロバイダーがアクセスに標準以外のポートを使用する場合には、API ポート を入力します。デフォルトのポートは 443 です。
    4. 検証 をクリックして、Red Hat CloudForms が Hawkular エンドポイントに接続できることを確認します。
  8. 追加 をクリックします。

7.4. コンテナープロバイダーのタグ付け

ネットワークプロバイダーを同時にまとめて分類するには、タグを適用します。

  1. コンピュートコンテナープロバイダー に移動します。
  2. タグ付けするコンテナープロバイダーのチェックボックスを選択します。
  3. Policy (ポリシー) をクリックして、 Edit Tags (タグの編集) を選択します。
  4. ドロップダウンメニューから割り当てるタグを選択します。

    2219

  5. 割り当てる値を選択します。
  6. 保存 をクリックします。

7.5. コンテナープロバイダーの削除

使用しなくなったコンテナープロバイダーは VMDB から削除する必要がある場合があります。

  1. コンピュートコンテナープロバイダー に移動します。
  2. 削除するコンテナープロバイダーのチェックボックスを選択します。
  3. Configuration (構成) をクリックして、 Remove Containers Providers from the VMDB (VMDB からコンテナープロバイダーの削除) を選択します。
  4. OK をクリックします。

7.6. コンテナープロバイダーの編集

プロバイダーの情報 (例: 名前、ホスト名、IP アドレス、ポート) を編集します。

  1. コンピュートコンテナープロバイダー に移動します。
  2. 編集するコンテナープロバイダーをクリックします。
  3. Configuration (構成) をクリックして、 Edit Selected Containers Provider (選択したコンテナープロバイダーの編集) を選択します。
  4. 基本情報 を編集します。表示される項目は、プロバイダーの タイプ によって異なります。

    注記

    タイプ の値は変更できません。

    異なるコンテナープロバイダーを使用するには、新規作成します。

  5. 新しい トークン 入力して 認証情報 を編集します。
  6. 検証 をクリックして、検証が成功したことを知らせるメッセージが表示されるのを待ちます。
  7. 保存 をクリックします。

7.7. コンテナープロバイダーのタイムラインの表示

コンテナープロバイダーに登録されているインスタンスのイベントのタイムラインを表示します。

  1. コンピュートコンテナープロバイダー に移動します。
  2. タイムラインを表示するコンテナープロバイダーをクリックします。
  3. Monitoring (監視) をクリックして、 Timelines (タイムライン) を選択します。
  4. オプション から、表示する期間や表示するイベントタイプをカスタマイズします。

    • 表示 を使用して、通常の管理イベントとポリシーイベントを選択します。
    • 間隔 のドロップダウンを使用して、毎時または毎日のいずれかのデータポイントを選択します。
    • 日付 で、表示するタイムラインの日付を入力します。
    • 毎日のタイムラインを表示するように選択した場合は、表示 を使用して、何日分遡るかを設定します。最大の履歴は 31 日です。
    • レベル のドロップダウンリストで 概要 のイベントか、イベントの 詳細 の一覧を選択します。
    • 3 つの イベントグループ ドロップダウンリストでは、異なるイベントグループを選択して表示することができます。それぞれ独自の色が使用されます。

詳細情報については各項目をクリックします。

7.8. コンテナーの概要のページ

コンピュートコンテナーオブジェクト の順に移動して、多くの異なるコンテナーオブジェクトの情報を表示します。

7.8.1. プロバイダー間共通のインサイト

プロバイダー間共通のインサイトは、Red Hat CloudForms が認識しているインフラストラクチャーの全レイヤーを結び付けて、分析のためのデータを収集する機能です。

この機能は、以下の環境内で利用可能な全レイヤーのクロスリンクをサポートしています。

  • OpenStack
  • Red Hat Virtualization
  • VMware vCenter
  • Amazon EC2
  • Google Cloud Engine

収集される情報には、その他 (インフラストラクチャーまたはクラウド) のプロバイダーで利用可能な全データも含まれます。

注記

Amazon EC2 (AWS) および Google Cloud Engine (GCE) をサポートするには、適切なクラウドプロバイダーを使用して OpenShift をインストールする必要があります。詳しくは、『OpenShift Enterprise Installation and Configuration』ガイドを参照して、希望の OpenShift バージョンを使用していることを確認します。

7.8.2. コンテナーの概要のページを使用した作業

Red Hat CloudForms が認識している全コンテナープロバイダーおよびエンティティーについての情報は、コンテナーの 概要 ページに要約されます。概要 のページでは、コンテナープロバイダーおよびエンティティーについてのさらに詳しい情報を記載した他の概要ページへのリンクが提供されます。概要 ページでは、集計されたノードの使用状況ネットワーク使用状況のトレンド新規イメージ使用状況のトレンドノードの使用状況、および ポッド作成および削除のトレンド についてのメトリックが表示されます。

Containers Overview

コンテナーの概要のページを使用した作業

  1. コンピュートコンテナー概要 に移動します。
  2. 必要なコンテナーのエンティティーまたはプロバイダー (該当する場合) をクリックして、概要とさらなる情報を表示します。

7.8.2.1. オブジェクトの概要の表示

オブジェクトの概要へは コンピュートコンテナー<オブジェクト の順で移動し、このページではオブジェクト数の情報やそのコンポーネントを表示することができます。

コンテナープロバイダーの概要の表示

コンピュートコンテナープロバイダー の順に移動して、コンテナープロバイダーの異なる面に関する情報を表示します。概要には以下が含まれます。

  • プロバイダーとそのコンポーネントのステータス
  • コンテナープロバイダーの異なるエンティティー間のリレーションシップ。これらのリレーションシップは、概要ページの右側の リレーションシップ のボックスに要約されます。

    Entity Relationships

  • 全ノードの全 CPU コアの総容量および全ノードの全メモリーの総容量についての追加情報
コンテナーノードの概要の表示

コンピュートコンテナープロバイダー の順に移動して、コンテナーノードの異なる面に関する情報を表示します。概要には以下が含まれます。

  • ノード上のエンティティー数
  • ノードの容量と使用状況
  • ベースに使用されているオペレーティングシステムとソフトウェアのバージョン

コンテナーノードの概要ページからノードのイベントのタイムラインを表示するには、 Monitoring (監視) をクリックして、 Timelines (タイムライン) 選択します。

コンテナーの概要の表示

コンピュートコンテナーコンテナー の順に移動して、コンテナーの異なる面に関する情報を表示します。概要には以下が含まれます。

  • コンテナーと関連するノード/ポッド/イメージとの関係
  • コンテナーが実行されているノード
  • コンテナーの ID
  • 名前、タグなどのコンテナーイメージのプロパティー
コンテナーイメージの概要の表示

コンピュートコンテナーコンテナーイメージ の順に移動して、コンテナーイメージの異なる面に関する情報を表示します。概要には以下が含まれます。

  • 現在このイメージを使用するコンテナー
  • イメージのソースとなるイメージレジストリー
イメージレジストリーの概要の表示

コンピュートコンテナーイメージレジストリー の順に移動して、イメージレジストリーの異なる面に関する情報を表示します。概要には以下が含まれます。

  • どのイメージがレジストリーをベースとしているか
  • このレジストリーをベースとするイメージ数
  • このレジストリーからのイメージを使用するコンテナー
  • レジストリーのホストとポート
ポッドの概要の表示

コンピュートコンテナーポッド の順に移動して、ポッドの異なる面に関する情報を表示します。概要には以下が含まれます。

  • ポッドに属するコンテナー
  • ポッドを参照するサービス
  • ポットが実行されるノード
  • ポッドがレプリケーターで制御されているかどうか
  • ポッドの IP アドレス
レプリケーターの概要の表示

コンピュートコンテナーレプリケーター の順に移動して、レプリケーターの異なる面に関する情報を表示します。概要には以下が含まれます。

  • 要求されたポッドの数
  • 現在のポッド数
  • レプリケーターのラベルとセレクター
コンテナーサービスの概要の表示

コンピュートコンテナーコンテナー の順に移動して、コンテナーサービスの異なる面に関する情報を表示します。概要には以下が含まれます。

  • コンテナーサービスがトラフィックを提供するポッド
  • コンテナーサービスのポート設定
  • コンテナーサービスのラベルとセレクター
ボリュームの概要の表示

コンピュートコンテナーボリューム の順に移動して、コンテナープロバイダーの永続ボリュームに関する情報を表示します。概要には以下が含まれます。

  • ボリュームの接続先のポッド
  • ボリュームの接続パラメーター
  • ボリュームのストレージ容量
  • ボリュームの iSCSI ターゲットの情報 (該当する場合)
コンテナービルドの概要の表示

コンピュートコンテナーコンテナービルド の順に移動して、コンテナービルドの異なる面に関する情報を表示します。概要には以下が含まれます。

  • そのコンテナービルドがベースとしているビルド設定
  • 作成済みのビルドインスタンス
  • インスタンスが完了済みのビルドプロセス段階
  • ビルドインスタンスが属するポッド
コンテナーテンプレートの概要表示

コンピュートコンテナーコンテナーテンプレート の順に移動して、コンテナーテンプレートの異なる面に関する情報を表示します。概要には以下が含まれます。

  • テンプレートに関連付けられたプロジェクト
  • テンプレートに含まれるオブジェクト
  • テンプレートのオブジェクトで使用可能なパラメーター
  • テンプレートのバージョン番号

7.8.3. トポロジーウィジェットの使用

トポロジー ウィジェットは、Red Hat CloudForms がアクセス可能なコンテナープロバイダーおよびプロジェクトの異なるエンティティー間のステータスとリレーションシップを表示する、インタラクティブなトポロジーグラフです。

  • トポロジーグラフには、全コンテナーのプロバイダー環境内のポッド、コンテナー、サービス、ノード、仮想マシン、ホスト、ルート、レプリケーターが含まれます。
  • グラフ内の各エンティティーには各ステータスが色別で表示されます。
  • グラフの各要素の上にマウスを移動すると、その要素の情報の概要が表示されます。
  • グラフ内のエンティティーをダブルクリックすると、それらの概要のページに移動します。
  • 要素をドラッグしてグラフの配置を変更することが可能です。
  • エンティティーの表示/非表示を切り替えるには、グラフの最上部の凡例をクリックします。
  • エンティティーの名前の表示/非表示を切り替えるには、ページの右側の 名前の表示 をクリックします。

7.8.3.1. コンテナープロバイダーのトポロジーの表示

  1. コンピュートコンテナープロバイダー に移動します。
  2. プロバイダーの概要を表示する必要なコンテナープロバイダーをクリックします。
  3. プロバイダーの概要ページの右側にある 概要 のボックスで トポロジー をクリックします。

7.8.3.2. コンテナープロバイダープロジェクトのトポロジーの表示

プロジェクトトポロジーページは、関連のエンティティーが周りにある中央ノードとしてプロジェクトを表示します。

  1. コンピュートコンテナープロジェクト の順に移動します。
  2. プロジェクトをクリックします。
  3. プロジェクトの概要ページの右上にある Topology View button (トポロジービュー) をクリックします。

7.8.3.3. トポロジービューに表示するコンテナー数の制限

  1. 設定メニューから マイ設定 に移動して、表示 タブをクリックします。
  2. デフォルトのトポロジービューで表示される項目 でドロップダウンからコンテナーの項目数を選択します。
  3. 保存 をクリックします。

7.8.4. SmartState 分析の実行

コンテナーイメージの SmartState 分析を実行して、イメージに含まれるパッケージを検査します。

SmartState 分析の実行

  1. コンピュートコンテナーコンテナーイメージ に移動します。
  2. 分析するコンテナーイメージにチェックを付けます。複数のイメージにチェックを付けることが可能です。
  3. Configuration (構成) をクリックして Perform SmartState Analysis (SmartState 分析の実施) を選択します。

コンテナーイメージがスキャンされます。このプロセスにより、イメージの必要なファイルがコピーされます。イメージのページが再読み込みされた後には、新しいパッケージおよび更新されたパッケージがすべて一覧表示されます。

コンテナーイメージの SmartState Analysis タスクをモニタリングするには、設定メニューの タスク に移動します。開始時刻、終了時刻、タスクの現在実行中の箇所、発生したエラーなどを含む各タスクのステータスが表示されます。