40.5. Ansible ベースのヘルスチェック
追加のヘルスチェックは、OpenShift Container Platform クラスターのインストールおよび管理に使用する Ansible ベースのツール で利用できます。この正常性チェックでは、現行の OpenShift Container Platform インストールによくあるデプロイメントの問題を報告できます。
これらのチェックは、ansible-playbook
コマンドの使用 (クラスターインストール で使用されるのと同じ方式) によるか、または openshift-ansible の コンテナー化されたバージョン として実行できます。ansible-playbook
方式については、チェックは openshift-ansible RPM パッケージを使って行われます。コンテナー化方式の場合は、openshift3/ose-ansible コンテナーイメージが Red Hat Container レジストリー 経由で配布されます。各方式の使用例については、後続のセクションで説明されます。
以下のヘルスチェックは、デプロイされた OpenShift Container Platform クラスターを対象に、指定された health.yml playbook を使用して Ansible インベントリーファイルに対して実行されることが意図されている診断タスクのセットのこと指します。
ヘルスチェック Playbook が環境に変更を加える可能性があるため、これらの Playbook は Ansible を使ってデプロイされたクラスターで、デプロイ時に使用したものと同じインベントリーファイルを使う場合にのみ使用できます。これらの変更には、チェックで必要な情報を収集できるように依存関係をインストールすることに関連するものです。そのような状況では、docker
またはネットワーク設定などの追加のシステムコンポーネントは、現在の状態がインベントリーファイルの設定と異なる場合に変更される可能があります。これらのヘルスチェックは、使用するインベントリーファイルが既存のクラスター設定に変更を加えないことが予想される場合にのみ実行してください。
チェック名 | 目的 |
---|---|
| このチェックは、etcd クラスターの OpenShift Container Platform イメージデータの合計サイズを測定します。このチェックは計算されたサイズがユーザー定義の制限を超える場合に失敗します。制限が指定されない場合、このチェックはイメージデータのサイズが etcd クラスターで現在使用されている領域の 50 % 以上になる場合に失敗します。 このチェックに失敗することは、etcd の多くの領域が OpenShift Container Platform イメージデータによって使用されていることを示し、これにより、最終的には etcd クラスターがクラッシュする可能性があります。
ユーザー定義の制限は |
|
このチェックは、etcd ホストの通常よりも高いレベルのトラフィックを検知します。etcd 期間の警告と共に etcd パフォーマンスを強化する方法についての詳細は、Recommended Practices for OpenShift Container Platform etcd Hosts および Red Hat ナレッジベース を参照してください。 |
|
このチェックにより、etcd クラスターのボリューム使用がユーザー指定の最大しきい値を超えないようにできます。最大しきい値が指定されていない場合、デフォルトは合計ボリュームサイズの
ユーザー定義の制限は、 |
| docker デーモン (ノードおよびコンテナー化されたインストール) に依存するホストでのみ実行されます。docker の合計使用量がユーザー定義制限を超えないこと確認します。ユーザー定義の制限が設定されていない場合、docker 使用量の最大しきい値のデフォルトは利用可能な合計サイズの 90% になります。
合計パーセントの使用量についてのしきい値の制限は、 また、このチェックは docker のストレージが サポートされる設定 を使用していることを確認します。 |
|
この一連のチェックは、Curator、Kibana、Elasticsearch、および Fluentd Pod がデプロイされており、これらが |
| このチェックは、ロギングスタックデプロイメントにおけるログ作成から Elasticsearch によるログ集計までの通常の時間差よりも値が高くなるケースを検知します。新規のログエントリーがタイムアウト内 (デフォルトでは 30 秒内) に Elasticserach によってクエリーされない場合に失敗します。このチェックはロギングが有効にされている場合にのみ実行されます。
ユーザー定義のタイムアウトは、 |
| このチェックは、OpenShift Container Platform SDN の以下のクラスターレベルの診断を実行します。
このチェックは、 |
インストールプロセスの一部として実行されることが意図されている同様のチェックセットについては、Configuring Cluster Pre-install Checks を参照してください。証明書の有効期限をチェックするための別のチェックのセットについては、Redeploying Certificates を参照してください。
40.5.1. ansible-playbook によるヘルスチェックの実行
ansible-playbook
コマンドを使用して openshift-ansible のヘルスチェックを実行するには、Playbook ディレクトリーに切り替え、クラスターのインベントリーファイルを指定し、health.yml Playbook を実行します。
$ cd /usr/share/ansible/openshift-ansible $ ansible-playbook -i <inventory_file> \ playbooks/openshift-checks/health.yml
コマンドラインに変数を設定するには、key=value
形式の任意の必要な変数に -e
フラグを組み込みます。以下に例を示します。
$ cd /usr/share/ansible/openshift-ansible $ ansible-playbook -i <inventory_file> \ playbooks/openshift-checks/health.yml \ -e openshift_check_logging_index_timeout_seconds=45 \ -e etcd_max_image_data_size_bytes=40000000000
特定のチェックを無効にするには、Playbook を実行する前にインベントリーファイルのコンマ区切りのチェック名の一覧と共に変数 openshift_disable_check
を組み込みます。以下に例を示します。
openshift_disable_check=etcd_traffic,etcd_volume
または、ansible-playbook
コマンドの実行時に -e openshift_disable_check=<check1>,<check2>
で変数として無効にするチェックを設定します。