ccictl logs
操作背景
打印 Pod 或指定资源中某个容器的日志。如果 Pod 只有一个容器,则容器名称是可选的。
ccictl logs [-f] [-p] (POD | TYPE/NAME) [-c CONTAINER]
示例
# 返回只有一个容器的 nginx Pod 中的快照日志 ccictl logs nginx # 从 nginx Pod 返回快照日志,每行前面加上来源的 Pod 和容器名称 ccictl logs nginx --prefix # 从 nginx Pod 返回快照日志,限制输出为 500 字节 ccictl logs nginx --limit-bytes=500 # 从 nginx Pod 返回快照日志,等待其启动运行最多 20 秒 ccictl logs nginx --pod-running-timeout=20s # 返回有多个容器的 nginx Pod 中的快照日志 ccictl logs nginx --all-containers=true # 返回带 app=nginx 标签定义的 Pod 中所有容器的快照日志 ccictl logs -l app=nginx --all-containers=true # 返回带 app=nginx 标签定义的 Pod 中容器的快照日志,限制并发日志请求为 10 个 Pod ccictl logs -l app=nginx --max-log-requests=10 # 返回 web-1 Pod 中之前终止的 ruby 容器日志的日志 ccictl logs -p -c ruby web-1 # 开始从 nginx Pod 流式传输日志,即使发生错误也继续 ccictl logs nginx -f --ignore-errors=true # 开始流式传输 web-1 Pod 中 ruby 容器的日志 ccictl logs -f -c ruby web-1 # 开始流式传输带 app=nginx 标签定义的 Pod 中所有容器的日志 ccictl logs -f -l app=nginx --all-containers=true # 仅显示 nginx Pod 的最近 20 行输出 ccictl logs --tail=20 nginx # 显示 nginx Pod 在过去一小时内写入的所有日志 ccictl logs --since=1h nginx # 显示从 2024 年 8 月 30 日 06:00:00 UTC 开始 nginx Pod 中所有带时间戳的日志 ccictl logs nginx --since-time=2024-08-30T06:00:00Z --timestamps=true # 显示 nginx pod 的日志,跳过kubelet证书验证 ccictl logs --insecure-skip-tls-verify-backend nginx # 返回 nginx Deployment 的 nginx-1 容器的快照日志 ccictl logs deployment/nginx -c nginx-1
选项
--all-containers
获取 Pod 中所有容器的日志。
-c, --container string
打印指定容器的日志。
-f, --follow
指定日志是否应以流式传输。
-h, --help
logs 操作的帮助命令。
--ignore-errors
如果在监视/跟随 Pod 日志,则允许出现任何非致命的错误。
--insecure-skip-tls-verify-backend
跳过请求日志来源的 kubelet 的身份验证。从理论上讲,攻击者可能会提供无效的日志内容。 如果您的 kubelet 提供的证书已过期,您可能需要使用此参数。
--limit-bytes int
要返回的日志的最大字节数。默认为无限制。
--max-log-requests int 默认值:5
指定使用选择算符时要遵循的最大并发日志数。默认值为 5。
--pod-running-timeout duration 默认值:20s
等待至少一个 Pod 运行的时长(例如 5s、2m 或 3h,大于零)。
--prefix
在每行日志前添加日志来源(Pod 名称和容器名称)的前缀。
-p, --previous
如果为 true,则打印 Pod 中容器的前一个实例的日志(如果存在)。
-l, --selector string
过滤所用的选择算符(标签查询),支持 '='、'==' 和 '!='。 (例如 -l key1=value1,key2=value2)。匹配的对象必须满足所有指定的标签约束。
--since duration
仅返回比相对时长更新的日志,如 5s、2m 或 3h。 默认返回所有日志。只能使用 since-time 和 since 之一。
--since-time string
仅返回特定日期(RFC3339)之后的日志。默认返回所有日志。 只能使用 since-time 和 since 之一。
--tail int 默认值:-1
要显示的最近日志文件的行数。不带选择算符时默认为 -1 将显示所有日志行。 否则如果提供了选择算符,则为 10。
--timestamps
在日志输出的每一行中包含时间戳。
ccictl选项亦可在子命令中生效,列表如下: