OCNEクラスタ作成の問題

OCNEクラスタ作成時の問題のトラブルシューティング

コンソールで(clusterAPIコンポーネントを使用して)作成されたOCNEクラスタに問題が発生した場合、問題の診断と解決に使用できるいくつかのテクニックを次に示します。

クラスタの分析

vz analyzeコマンドライン・ツールを使用して、クラスタまたはクラスタ・スナップショットを分析し、問題に関するレポートを受け取ります。vz analyzeの詳細は、「Verrazzanoクラスタの分析」を参照してください。

clusterAPIコンポーネントに関連する問題は、次のレポートに表示されます:

clusterAPIコンポーネントの条件の評価

clusterAPIコンポーネントに関する情報を収集するには、そのログ・ファイルを確認し、管理クラスタ上のclusterAPIカスタム・リソースのステータスを確認します。コンソールでは、管理クラスタはローカル・クラスタです。

clusterAPIログ・ファイルの確認

clusterAPIコンポーネントは、verrazzano-capiネームスペース内に4つのclusterAPIポッドを作成し、各ポッドは個別のログ・ファイルを生成します。ログ・ファイルを確認して、問題の原因を特定します。

clusterAPIコントローラのログ・ファイルを表示するには、次のコマンドを使用します:

$ kubectl logs -n verrazzano-capi -l cluster.x-k8s.io/provider=cluster-api

clusterAPI OCIプロバイダのログ・ファイルを表示するには、次のコマンドを使用します:

$ kubectl logs -n verrazzano-capi -l cluster.x-k8s.io/provider=infrastructure-oci

clusterAPIコントロール・プレーン・プロバイダのログ・ファイルを表示するには、次のコマンドを使用します:

$ kubectl logs -n verrazzano-capi -l cluster.x-k8s.io/provider=control-plane-ocne

clusterAPIブートストラップ・プロバイダのログ・ファイルを表示するには、次のコマンドを使用します:

$ kubectl logs -n verrazzano-capi -l cluster.x-k8s.io/provider=bootstrap-ocne

clusterAPI Kubernetesカスタム・リソースの確認

管理クラスタで、kubectlを使用してclusterAPIカスタム・リソースのステータスを確認します。

clusterAPI Kubernetesカスタム・リソース・クラスタのステータスを確認するには、次のコマンドを使用します:

$ kubectl get clusters.cluster.x-k8s.io -A

クラスタ・ステータスはProvisionedである必要があります。

clusterAPI Kubernetesカスタム・リソース・マシンのステータスを確認するには、次のコマンドを使用します:

$ kubectl get machines -A

各マシンのステータスはRunningです。

OCIリソースのステータスの検証

クラスタを作成する際、Verrazzanoは関連付けられたOCIコンパートメントに次のリソースを作成します:

これらのリソースのいずれかが作成されなかった場合、または作成されたが、現在問題が発生している場合は、クラスタの残りの部分に影響する可能性があります。

必要なOCIリソースのステータスは、OCIコンソールで、またはclusterAPIコントローラのログ・ファイルを確認することでチェックできます。

原因としては次のことが考えられます:

  • OCIリソース制限に達しました: OCIテナンシで許可されている以上のリソースを作成する必要がある場合、クラスタの作成は失敗します。OCIサービス制限をチェックして、その制限を超えていないかを確認してください。サービス制限の引上げをリクエストする必要がある場合は、「サービス制限の引上げのリクエスト」を参照してください。

  • 接続の問題: 仮想クラウド・ネットワークが正しく構成されていることを確認してください。推奨事項については、「OCNEでのVCNの構成」を参照してください。

  • ネットワーク・ロード・バランサがクリティカル状態です: ネットワーク・ロード・バランサは、Kubernetes APIサーバーが起動するまで、最初のクラスタ作成時に一時的にクリティカル状態になる可能性があります。クリティカル状態のままの場合、次のいずれかの問題が発生している可能性があります:

    • ネットワーク・ロード・バランサとOCNEコントロール・プレーン・ノード間のトラフィックは、ポート6443経由でブロックされます。

    • おそらくOCNE依存関係のインストールに失敗したため、OCNE APIサーバーが起動しませんでした。

  • ノードの作成に失敗しました:

    • OCI資格証明が無効です: クラスタ・オブジェクトが存在するネームスペースまたはOCIプロバイダ・ログ・ファイルのKubernetesイベントでエラーを確認します。

    • テンプレートのデプロイに使用されたイメージIDが無効です。

    • ワーカー・ノードのみ: ワーカー・ノードは、制御ノード・プレーンがRunning状態になった後にプロビジョニングを開始しました。

      • OCNE依存関係がコントロール・プレーン・ノードへのインストールに失敗した場合、ワーカー・ノードはPending状態のままで、作成されません。コントロール・プレーン・ノードのcloud-initログ・ファイルを確認して、原因を特定します。

また、ポッドがワークロード・クラスタで実行されていることを確認する必要があります。コンソールから、ワークロード・クラスタのkubeconfigファイルをダウンロードし、次のコマンドを実行します:

$ kubectl --kubeconfig <workload-cluster-kubeconfig> get pods -A

いずれかのポッドのステータスがRunningでない場合は、次のコマンドを実行してエラーを特定します:

$ kubectl describe pod <pod-name>