在Kubernetes中,terminationMessagePath和terminationMessagePolicy用于指定容器終止消息的來源路徑和策略。本文介紹如何設置terminationMessagePath和terminationMessagePolicy,以便在容器終止后能夠及時獲取和分析終止消息。
配置說明
Kubernetes通過terminationMessagePath和terminationMessagePolicy管理容器終止消息。
字段 | 說明 |
terminationMessagePath | 用于設置容器終止的消息來源。即當容器退出時,Kubernetes 從容器的terminationMessagePath字段中指定的終止消息文件中檢索終止消息。默認值為 通過自定義設置terminationMessagePath,可以使得Kubernetes在容器運行成功或失敗時,使用指定文件中的內容來填充容器的終止消息。終止消息內容最大為4 KB。 |
terminationMessagePolicy | 用于設置容器終止消息的策略。取值為:
|
Pod內所有容器的終止信息大小之和最大為12 KB。當總和超過12 KB時,Kubernetes的狀態管理器會對其加以限制。例如:Pod內有4個InitContainer和8個應用Container,則狀態管理器會限制每個容器的終止信息最大為1 KB,即截取每個Container終止信息的前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"