更新时间:2025-04-18 GMT+08:00

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选项亦可在子命令中生效,列表如下:

父命令ccictl选项列表