type
status
date
slug
summary
tags
category
icon
password
书籍
メトリクスサブシステムのインストール
目標
このセクションを完了すると、学生はメトリクスサブシステムをインストールできるようになります。
メトリクスサブシステムの展開
OpenShiftのメトリクスサブシステムはAnsible Playbookによって展開され、展開には基本的なプレイブックか、メトリクス専用のプレイブックを使用することができます。
ほとんどのメトリクスサブシステムの設定は、詳細なインストール方法で使用するメインのインベントリファイルに記載されたAnsible変数を使用して行われます。一部の変数に対しては、-eオプションを使用して上書きまたは定義することも可能ですが、Red Hatはメインインベントリファイルでメトリクス変数を定義することを推奨しています。メトリクスサブシステムの設定を変更する必要がある場合は、インベントリ内の変数を更新して、インストールプレイブックを再実行します。
多くの本番環境では、メトリクスサブシステムに特別な設定は必要なく、デフォルト設定でインストールプレイブックを実行するだけでインストールできます。以下にその例を示します。
以下のコマンドは、Ansibleがどのようにプレイブックを実行するかを指示するデフォルトの
ansible.cfg
設定ファイルを前提としています。例えば、以下のようなAnsible設定ファイルが必要です。次に、メトリクスインストールプレイブックを実行する例を示します。
このコマンドは、メトリクスサブシステムを展開するためのプレイブックを実行します。プレイブックは、メトリクスサブシステムのためにデプロイメント設定、サービス、およびその他のサポートKubernetesリソースを作成します。
openshift_metrics_install_metrics
のAnsible変数は、メトリクスサブシステムを展開するために設定されています。この変数は、クラスターの展開に使用したインベントリファイルにも定義できます。以下の例では、OpenShiftメトリクスサブシステムを、クラスター展開に使用したAnsibleインベントリを使って展開します。このインベントリファイルには、[OSEv3:vars]グループに
openshift_metrics_install_metrics=True
変数が含まれています。メトリクスサブシステムインストーラープレイブックは、
openshift-infra
プロジェクト内にすべてのKubernetesリソースを作成します。インストールプレイブックは、メトリクスポッドがどこで実行されるかを制限するノードセレクターの設定は行いません。メトリクスサブシステムのアンインストール
OpenShiftメトリクスサブシステムをアンインストールする方法の1つは、
openshift-infra
プロジェクト内のすべてのKubernetesリソースを手動で削除することです。この方法は多くのoc
コマンドを必要とし、他のOpenShiftサブシステムが同じプロジェクトに展開されているため、エラーが発生する可能性があります。メトリクスサブシステムをアンインストールする推奨方法は、インストールプレイブックを実行し、
openshift_metrics_install_metrics
Ansible変数をFalse
に設定することです。以下にその例を示します。-e
オプションは、インベントリファイルで定義された値を上書きします。通常、Ansibleを使って設定されたパラメータを変更するために、メトリクスサブシステムをアンインストールする必要はありません。メトリクスサブシステムのAnsible変数を変更して、インストールプレイブックを再実行するだけで十分です。このルールに例外がある場合は、Red Hat OpenShift Container Platformのドキュメントを参照してください。
メトリクスサブシステムの展開確認
OpenShiftメトリクスサブシステムプレイブックが完了すると、すべてのCassandra、Hawkular、およびHeapsterポッドが作成され、初期化に時間がかかることがあります。場合によっては、Cassandraポッドの初期化に時間がかかり、その結果としてHawkularおよびHeapsterポッドが再起動されることがありますが、これにより問題は発生しません。
特に設定されていない場合、インストーラープレイブックは各コンポーネントに対して単一のポッドのデプロイメント設定を作成し、
openshift-infra
プロジェクトのoc get pod
コマンド出力は以下のようになります。もしメトリクスポッドの初期化に時間がかかる場合は、各ポッドのログを確認し、
oc describe
およびoc logs
コマンドを使用してエラーメッセージを探してください。展開エラーの一般的な原因は以下の通りです:
- コンテナイメージが不足している。メトリクスサブシステムのコンテナイメージタグは、OpenShiftのメインコンテナイメージのリリースパターンと一致しないことがあります。
- 例えば、OpenShiftのバージョンがv3.9.0の場合でも、メトリクスサブシステムのコンテナイメージのバージョンが1.7.2である可能性があります。そのため、OpenShiftが自動的にv3.9.0のメトリクスイメージを探さないようにし、手動で1.7.2を指定する必要があります。
- メトリクスポッドのリソース要求がOpenShiftクラスターの利用可能ノードに対して高すぎる。
- Cassandraポッドの永続ボリュームがプロビジョニングされていないか、容量やアクセスモードが一致しない。
注記
リソース要求、ストレージ、およびその他のパラメータを設定するために使用されるAnsible変数については、後のセクションで説明します。
インストール後の手順
すべてのポッドが準備完了し、稼働した後に、1つの追加手順を実行する必要があります。
この手順を省略すると、OpenShiftのWebコンソールでプロジェクトのメトリクスのグラフを表示できません。ただし、メトリクスの基盤システム自体は正常に動作しています。
OpenShiftのWebコンソールはJavaScriptアプリケーションであり、OpenShiftマスターサービスを経由せずに直接Hawkular APIへアクセスします。このAPIはTLSを使用してセキュリティ保護されていますが、デフォルトではTLS証明書が信頼された認証局(CA)によって署名されていません。その結果、WebブラウザーはHawkular APIのエンドポイントへの接続を拒否します。
同様の問題は、OpenShiftのインストール直後にWebコンソール自体でも発生しますが、解決方法は同じです。ブラウザーでTLS証明書を例外として受け入れるように設定する必要があります。
これを行うには、WebブラウザーでHawkular APIのウェルカムページを開き、信頼されていないTLS証明書を受け入れてください。
Hawkular APIのウェルカムページURLは以下のとおりです:
https://hawkular-metrics.<master-wildcard-domain>
<master-wildcard-domain>
のDNSサフィックスは、OpenShiftマスターサービスで設定されているものと同じで、新しいルートのデフォルトドメインとして使用されます。このドメイン値は、Ansibleのホストファイルに定義されている
openshift_master_default_subdomain
変数から取得されます。もしOpenShiftマスターの設定が変更されている場合、値が一致しないことがあります。その場合は、
openshift_metrics_hawkular_hostname
変数に新しい値を指定し、メトリクス用のPlaybookを実行してください。メトリクスサブシステムのAnsible変数
Red Hat OpenShift Container Platformのインストールおよび設定ガイドには、メトリクスのインストールPlaybookで使用されるすべてのAnsible変数の一覧が記載されています。
これらの変数は直感的な命名規則に従い、以下のような設定を制御します。
- 各コンポーネントのポッドのスケール
openshift_metrics_cassandra_replicas
openshift_metrics_hawkular_replicas
- 各コンポーネントのリソース要求と制限
openshift_metrics_cassandra_requests_memory
openshift_metrics_cassandra_limits_memory
openshift_metrics_cassandra_requests_cpu
openshift_metrics_cassandra_limits_cpu
- 同様に、HawkularとHeapster用の設定もあり(例:
openshift_metrics_hawkular_requests_memory
、openshift_metrics_heapster_requests_memory
)
- メトリクス収集の解像度や保持期間の設定
openshift_metrics_duration
openshift_metrics_resolution
- Cassandraポッドの永続ボリューム要求の設定
openshift_metrics_cassandra_storage_type
openshift_metrics_cassandra_pvc_prefix
openshift_metrics_cassandra_pvc_size
- メトリクスサブシステムのコンテナイメージの取得元レジストリの指定
openshift_metrics_image_prefix
openshift_metrics_image_version
- その他の設定
openshift_metrics_heapster_standalone
openshift_metrics_hawkular_hostname
各Ansible変数の詳細な定義、デフォルト値、構文については、Red Hat OpenShift Container Platformのインストールおよび設定ガイドを参照してください。
カスタム設定でのメトリクスサブシステムのインストール
以下は、カスタム設定を使用してメトリクスサブシステムをインストールする例です。この例では、インベントリファイルで定義されたCassandraの設定を上書きします。
インベントリファイルの設定例:
上記の設定を上書きしてインストールする場合のコマンド:
このコマンドの設定内容:
- Cassandraノードのレプリカ数を2から3に変更(この値はCassandraのレプリケーションコントローラー数を決定)
- Cassandraポッドのメモリを2GiBから4GiBに増加
- 各Cassandraノードの永続ボリュームサイズを50GiBから25GiBに変更
これらの設定の多くは、OpenShiftの
oc
コマンドを使用して変更できますが、推奨される方法は、メトリクスインストールPlaybookを更新した変数値で実行すること です。参考資料
メトリクスサブシステムのインストールに関する詳細情報は、Red Hat OpenShift Container Platformの インストールガイド を参照してください:
メトリクスサブシステムのスケーリングや設定に関する情報は、スケーリングとパフォーマンスガイド を参照してください:
- 作者:みなみ
- 链接:https://www.minami.ac.cn//%E8%B3%87%E6%A0%BC%E5%8B%89%E5%BC%B7/1aad7ae8-88e2-805e-98c0-ef54f26cc682
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章