第4章 Serverless アプリケーションのデバッグ
さまざまな方法を使用して、Serverless アプリケーションのトラブルシューティングを行うことができます。
4.1. ターミナル出力の確認
デプロイコマンドの出力を確認して、デプロイメントが成功したか確認できます。デプロイメントプロセスが終了した場合は、デプロイメントが失敗した理由を説明するエラーメッセージが出力に表示されます。この種の失敗は、マニフェストの設定が間違っているか、無効なコマンドが原因である可能性が高いです。
手順
アプリケーションをデプロイおよび管理するクライアントでコマンド出力を開きます。次の例は、
oc apply
コマンドが失敗した後に表示される可能性のあるエラーです。Error from server (InternalError): error when applying patch: {"metadata":{"annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"serving.knative.dev/v1\",\"kind\":\"Route\",\"metadata\":{\"annotations\":{},\"name\":\"route-example\",\"namespace\":\"default\"},\"spec\":{\"traffic\":[{\"configurationName\":\"configuration-example\",\"percent\":50}]}}\n"}},"spec":{"traffic":[{"configurationName":"configuration-example","percent":50}]}} to: &{0xc421d98240 0xc421e77490 default route-example STDIN 0xc421db0488 264682 false} for: "STDIN": Internal error occurred: admission webhook "webhook.knative.dev" denied the request: mutation failed: The route must have traffic percent sum equal to 100. ERROR: Non-zero return code '1' from command: Process exited with status 1
この出力は、ルートトラフィックのパーセントを 100 に等しくなるように設定する必要があることを示しています。