Kubernetes では、terminationMessagePath パラメータを使用してコンテナ終了メッセージのパスを指定し、terminationMessagePolicy パラメータを使用してコンテナ終了メッセージのポリシーを指定します。このトピックでは、コンテナの terminationMessagePath と terminationMessagePolicy を設定する方法について説明します。これにより、コンテナが終了した場合に終了メッセージを取得して分析できます。
設定の説明
Kubernetes は、terminationMessagePath パラメータと terminationMessagePolicy パラメータを使用してコンテナ終了メッセージを管理します。
パラメータ | 説明 |
terminationMessagePath | コンテナ終了メッセージのパス。コンテナが終了すると、Kubernetes は、コンテナの terminationMessagePath パラメータでディレクトリが指定された終了メッセージファイルから終了メッセージを取得します。デフォルト値: コンテナの terminationMessagePath パラメータを指定して、コンテナの実行プロセスが完了または失敗したときに、指定されたファイルの内容をコンテナの終了メッセージに入力できます。終了メッセージのサイズは最大 4 KB です。 |
terminationMessagePolicy | コンテナ終了メッセージのポリシー。デフォルト:File。有効な値:
|
ポッド内のすべてのコンテナの終了メッセージの合計サイズは 12 KB を超えることはできません。合計サイズが 12 KB を超えると、Kubernetes の状態マネージャーは終了メッセージのサイズに制限を設定します。たとえば、ポッドに 4 つの init コンテナと 8 つのアプリケーションコンテナが含まれている場合、状態マネージャーは各コンテナの終了メッセージを 1 KB に制限します。これは、各コンテナの終了メッセージの最初の 1 KB のみが切り捨てられることを示します。
設定例
次の例では、terminationMessagePath パラメータは /tmp/termination-log に設定されています。コンテナは終了メッセージを /tmp/termination-log ファイルに書き込みます。次に、Kubernetes は指定されたディレクトリからメッセージを取得します。
apiVersion: v1
kind: Pod
metadata:
name: msg-path-demo
spec:
containers:
- name: msg-path-demo-container
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
terminationMessagePath: "/tmp/termination-log"terminationMessagePolicy パラメータを使用して、コンテナ終了メッセージのポリシーを設定できます。例:
apiVersion: v1
kind: Pod
metadata:
name: msg-path-demo
spec:
containers:
- name: msg-path-demo-container
image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
terminationMessagePath: "/tmp/termination-log"
terminationMessagePolicy: "FallbackToLogsOnError"