Cloud-Native Routerの準備状況チェック
Cloud-Native Router の準備状況チェックで、Cloud-Native Router のインストールが正しく機能していることを確認する方法について説明します。
Cloud-Native Router準備状況チェックは、インストールを検証する一連のテストです。これらは、飛行前と飛行後のチェックで構成されています。
| Preflight checks | プリフライト チェックでは、クラスター ノードが JCNR をサポートできることを確認します。このチェックでは、リソース容量、OS バージョン、およびその他のインフラストラクチャ要件がテストされます。プリフライトチェックは、Cloud-Native Routerが起動する前に実行されます。 |
| Postflight checks | フライト後のチェックでは、Cloud-Native Routerのインストールが正しく機能していることを確認します。チェックでは、ステータスとその他の基本機能がテストされます。ポストフライト・チェックは、Cloud-Native Routerの起動後に実行されます。 |
Cloud-Native Router Readiness は、これらのプリフライト チェックとポストフライト チェックが定義されているカスタム リソースの名前です。 values.yaml (readinessCheck: true) で Cloud-Native Router 準備状況チェックを有効にすると、これらのテストを実行する一連のポッドが作成されます。例えば:
kubectl get pods -A | grep preflight
cpuavailability-preflight-k8s-cp0-wtt92 0/1 Completed 0 cpuavailability-preflight-k8s-worker0-p7bxk 0/1 Completed 0 cpuinstructionset-preflight-k8s-cp0-4zmzq 0/1 Completed 0 cpuinstructionset-preflight-k8s-worker0-gh9zl 0/1 Completed 0 crpd-prerequisite-preflight-k8s-cp0-sqnjj 0/1 Completed 0 crpd-prerequisite-preflight-k8s-worker0-29psj 0/1 Completed 0 <trimmed>
現在実行されているチェックのリストを表示するには、 Cloud-Native Router の準備状況チェックのリストを参照してください。
Cloud-Native Router 準備状況チェックを有効にすると、Cloud-Native Router Helm チャートのインストール時に自動的に実行されます。チェックに失敗しても、必ずしもインストールが失敗するとは限りません。場合によっては、インストールの続行が許可されます。
チェックの結果を確認するには、結果の ConfigMap を見てください。結果を最適に表示するには、JSON プロセッサ jq を使用します。
jqがデフォルトでOSにインストールされていない場合は、OSに適したパッケージマネージャーを使用してインストールします。例えば:
dnf install jq
apt install jq
プリフライト結果の ConfigMap の例を次に示します。
kubectl get cm preflight-results -n contrail-deploy -ojsonpath={".data.readinessStatus"} | jq
{
"preflight": {
"taskResults": [
{
"name": "cpuavailability",
"taskExecutionTime": "2s",
"message": "task completed (2/2)",
"taskPassed": false,
"failure_reason": "core 2 is not available on the node\ncore 2 is not available on the node\n"
},
<trimmed>
エラーが発生した場合は、それらを修正してから、JCNRをアンインストールして再インストールします。
ポストフライトの結果 ConfigMap の例を次に示します。
kubectl get cm postflight-results -n contrail-deploy -ojsonpath={".data.readinessStatus"} | jq
{
"postflight": {
"taskResults": [
{
"name": "jcnrresources",
"taskExecutionTime": "0s",
"message": "task completed (1/1)",
"taskPassed": true
}
],
"result": "success"
}
}
プリフライト チェックとポストフライト チェックでは多くの一般的なエラーを検出できますが、一部のエラーは検出されずにすり抜ける可能性があります。リストされているすべてのエラーを修正した後もインストールが失敗する場合は、デプロイヤーとアプライヤーのログで詳細を確認してください。
-
デプロイヤー ログについては、「 デプロイヤー ログの確認」を参照してください。
-
アプライヤ ログについては、「 ログ ファイルの表示」を参照してください。
また、「 展開のトラブルシューティング」のさまざまな一般的なトラブルシューティングの提案も参照してください。