Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

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 オプションで標準以外の場所を指定できます。設定ファイルが指定されない場合、関連する診断は省略されます。

利用可能な診断には以下が含まれます。

診断名目的

AggregatedLogging

集約されたログ統合を使用して適切な設定および操作を確認します。

AnalyzeLogs

systemd サービスログで問題の有無を確認します。チェックの実行に設定ファイルは不要です。

ClusterRegistry

クラスターにビルドおよびイメージストリームの作業用のコンテナーイメージレジストリーがあることを確認します。

ClusterRoleBindings

デフォルトのクラスターロールバインディングが存在し、ベースポリシーに応じて予想されるサブジェクトが含まれることを確認します。

ClusterRoles

クラスターロールが存在し、ベースポリシーに応じて予想されるパーミッションが含まれることを確認します。

ClusterRouter

クラスター内に有効なデフォルトルーターがあることを確認します。

ConfigContexts

クライアント設定の各コンテキストが完成したものであり、その API サーバーへの接続があることを確認します。

DiagnosticPod

アプリケーションの観点で診断を実行する Pod を作成します。 これは Pod 内の DNS が予想通りに機能しており、デフォルトサービスアカウントの認証情報がマスター API に対して正しく認証されることを確認します。

EtcdWriteVolume

一定期間における etcd に対する書き込みのボリュームを確認し、操作およびキー別にそれらを分類します。この診断は他の診断と同じ速度で実行されず、かつ etcd への負荷を増えることから、とくに要求される場合にのみ実行されます。

MasterConfigCheck

このホストのマスター設定ファイルで問題の有無を確認します。

MasterNode

このホストで実行されているマスターがノードも実行していることを確認し、それがクラスター SDN のメンバーであることを確認します。

MetricsApiProxy

統合 Heapster メトリクスがクラスター API プロキシー経由でアクセス可能であることを確認します。

NetworkCheck

複数のノードで診断 Pod を作成し、一般的なネットワークの問題をアプリケーションまたは Pod の観点で診断します。マスターが Pod をノードにスケジュールできるものの、Pod に接続の問題がある場合にこの診断を実行します。このチェックは、Pod がサービス、他の Pod および外部ネットワークに接続できることを確認します。

エラーがある場合は、この診断は詳細な分析用としてローカルディレクトリー (デフォルトで /tmp/openshift/) に結果および取得されたファイルを保存します。ディレクトリーは --network-logdir フラグで指定することができます。

NodeConfigCheck

このホストのノード設定ファイルで問題の有無を確認します。

NodeDefinitions

マスター API で定義されたノードが利用可能な状態にあり、Pod をスケジュールできることを確認します。

RouteCertificateValidation

すべてのルート証明書で、拡張される検証で拒否される可能性のあるものがあるかどうかを確認します。

ServiceExternalIPs

マスター設定に基づいて無効にされている外部 IP を指定する既存サービスの有無を確認します。

UnitStatus

OpenShift Container Platform に関連して、このホストでユニットについての systemd ステータスを確認します。チェックの実行に設定ファイルは不要です。