次の方法で共有


"引数リストが長すぎます" というエラー メッセージが原因で発生したアプリケーションエラー

この記事では、Microsoft Azure Kubernetes Service (AKS) の "引数リストが長すぎます" というエラー メッセージによって発生するアプリケーションエラーを解決するためのトラブルシューティング戦略について説明します。

現象

kubelet が実行可能ファイルを実行しようとしたときにアプリケーションが失敗し、次の出力のようなエラー メッセージが表示されます。

standard_init_linux.go:228: exec ユーザー プロセスの原因: 引数リストが長すぎます

原因 1: 実行可能ファイルに指定された引数リストが長すぎます

アプリケーションの実行可能ファイルに提供される引数が長すぎて処理できません。

解決策: 引数リストを短くする

実行可能ファイルに指定する冗長または不要な引数を排除します。

原因 2: 実行可能ファイルに提供される環境変数のセットが大きすぎます

1 つの名前空間にデプロイされるサービスが多すぎると、環境変数リストが大きくなりすぎる可能性があり、実行可能ファイルを実行しようとすると、kubelet によってエラー メッセージが生成されます。 このエラーは、kubelet によって、アクティブなサービスごとにホストとポートを記録する環境変数が追加されるために発生します。これにより、 サービスはこの情報を使用して他のアクティブなサービスを見つけることができます

解決策 1: アクティブなサービスの数を減らす

アクティブなサービスの合計数を減らして、kubelet が追加する環境変数全体の数を減らすことができます。

解決策 2: サービス ホストとポートの環境変数が追加されないように kubelet を再構成する

PodSpec コア API 内で、 フィールドを enableServiceLinksfalse設定します。 この変更により、kubelet の動作が再構成され、アクティブなサービスごとにホストとポートが環境変数として自動的に追加されることはありません。

警告

サービスがこれらの環境変数に依存して他のサービスを見つける場合、このフィールドの変更によってサービスが失敗します。 このシナリオを回避するには、 CoreDNS を使用して、環境変数ではなくサービス検出に DNS を使用します。

サードパーティの情報に関する免責事項

この資料に記載されているサードパーティ製品は、マイクロソフトと関連のない他社の製品です。 明示的か黙示的かにかかわらず、これらの製品のパフォーマンスや信頼性についてマイクロソフトはいかなる責任も負わないものとします。

お問い合わせはこちらから

質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。