40.2. 診断ツールの使用
OpenShift Container Platform は複数の方法でデプロイできます。これらには以下が含まれます。
- ソースからのビルド
- VM イメージ内への組み込み
- コンテナーイメージとしての使用
- エンタープライズ RPM の使用
それぞれの方法は設定および環境に応じて適宜使い分けられます。環境についての想定内容を最小限にするために、診断ツールが openshift
バイナリーに組み込まれており、OpenShift Container Platform サーバーまたはクライアント内で診断が実行されます。
(可能であればマスターホストで、クラスター管理者として) 診断ツールを使用するには、以下を実行します。
# oc adm diagnostics
これは利用可能なすべての診断を実行し、環境に適用されない手順を省略します。
名前別に特定の診断を実行するか、または問題に対応する際に使用する特定の診断を実行することができます。以下に例を示します。
$ oc adm diagnostics
診断ツールの各種オプションでは、有効な設定ファイルが必要になります。たとえば、NodeConfigCheck はノード設定が利用可能でない場合は実行されません。
診断ツールは、デフォルトで標準設定ファイルの場所を使用します。
クライアント:
-
$KUBECONFIG
環境変数で示される。 - ~/.kube/config file
-
マスター:
- /etc/origin/master/master-config.yaml
ノード:
- /etc/origin/node/node-config.yaml
--config
, --master-config
、および --node-config
オプションで標準以外の場所を指定できます。設定ファイルが指定されない場合、関連する診断は省略されます。
利用可能な診断には以下が含まれます。
診断名 | 目的 |
---|---|
| 集約されたログ統合を使用して適切な設定および操作を確認します。 |
| systemd サービスログで問題の有無を確認します。チェックの実行に設定ファイルは不要です。 |
| クラスターにビルドおよびイメージストリームの作業用のコンテナーイメージレジストリーがあることを確認します。 |
| デフォルトのクラスターロールバインディングが存在し、ベースポリシーに応じて予想されるサブジェクトが含まれることを確認します。 |
| クラスターロールが存在し、ベースポリシーに応じて予想されるパーミッションが含まれることを確認します。 |
| クラスター内に有効なデフォルトルーターがあることを確認します。 |
| クライアント設定の各コンテキストが完成したものであり、その API サーバーへの接続があることを確認します。 |
| アプリケーションの観点で診断を実行する Pod を作成します。 これは Pod 内の DNS が予想通りに機能しており、デフォルトサービスアカウントの認証情報がマスター API に対して正しく認証されることを確認します。 |
| 一定期間における etcd に対する書き込みのボリュームを確認し、操作およびキー別にそれらを分類します。この診断は他の診断と同じ速度で実行されず、かつ etcd への負荷を増えることから、とくに要求される場合にのみ実行されます。 |
| このホストのマスター設定ファイルで問題の有無を確認します。 |
| このホストで実行されているマスターがノードも実行していることを確認し、それがクラスター SDN のメンバーであることを確認します。 |
| 統合 Heapster メトリクスがクラスター API プロキシー経由でアクセス可能であることを確認します。 |
| 複数のノードで診断 Pod を作成し、一般的なネットワークの問題をアプリケーションまたは Pod の観点で診断します。マスターが Pod をノードにスケジュールできるものの、Pod に接続の問題がある場合にこの診断を実行します。このチェックは、Pod がサービス、他の Pod および外部ネットワークに接続できることを確認します。
エラーがある場合は、この診断は詳細な分析用としてローカルディレクトリー (デフォルトで /tmp/openshift/) に結果および取得されたファイルを保存します。ディレクトリーは |
| このホストのノード設定ファイルで問題の有無を確認します。 |
| マスター API で定義されたノードが利用可能な状態にあり、Pod をスケジュールできることを確認します。 |
| すべてのルート証明書で、拡張される検証で拒否される可能性のあるものがあるかどうかを確認します。 |
| マスター設定に基づいて無効にされている外部 IP を指定する既存サービスの有無を確認します。 |
| OpenShift Container Platform に関連して、このホストでユニットについての systemd ステータスを確認します。チェックの実行に設定ファイルは不要です。 |