kubectl logs 使用

通过执行kubectl logs -h ,可以查看kubectl logs的帮助信息。kubectl logs 可以协助排查容器内pod或者是其他资源的问题,它通过打印日志的形式输出。在minikube实战篇中都有关于kubectl logs的使用,它可以输出pod的日志信息,定位问题。以下是logs的帮助信息,我主要翻译一下及简单的使用说明。

1、kubectl logs 使用说明

C:\Users\halo\Desktop>kubectl logs -h
# 打印pod中容器或指定资源的日志。如果pod只有一个容器,则容器名称为可选的。
Print the logs for a container in a pod or specified resource. If the pod has only one container, the container name is
optional.# 示例:
Examples:# 从只有一个容器的pod nginx返回快照日志# Return snapshot logs from pod nginx with only one containerkubectl logs nginx# 从多容器的pod nginx返回快照日志# Return snapshot logs from pod nginx with multi containerskubectl logs nginx --all-containers=true# 从label app=nginx定义的pods中的所有容器返回快照日志# Return snapshot logs from all containers in pods defined by label app=nginxkubectl logs -l app=nginx --all-containers=true# 从pod web-1返回先前终止的ruby容器日志的快照# Return snapshot of previous terminated ruby container logs from pod web-1kubectl logs -p -c ruby web-1# 开始在pod web-1中传输ruby容器的日志流# Begin streaming the logs of the ruby container in pod web-1kubectl logs -f -c ruby web-1# 开始从label app=nginx定义的pods中所有容器的日志流# Begin streaming the logs from all containers in pods defined by label app=nginxkubectl logs -f -l app=nginx --all-containers=true# 在pod nginx中只显示最近的20行输出# Display only the most recent 20 lines of output in pod nginxkubectl logs --tail=20 nginx# 显示过去一小时内从pod nginx写入的所有日志# Show all logs from pod nginx written in the last hourkubectl logs --since=1h nginx# 显示包含过期服务证书的kubelet日志# Show logs from a kubelet with an expired serving certificatekubectl logs --insecure-skip-tls-verify-backend nginx# 从一个叫hello的任务的第一个容器返回快照日志# Return snapshot logs from first container of a job named hellokubectl logs job/hello# 返回一个名为nginx部署的容器nginx-1的快照日志# Return snapshot logs from container nginx-1 of a deployment named nginxkubectl logs deployment/nginx -c nginx-1# 选项:
Options:--all-containers=false:# 获取pods中所有容器的日志Get all containers' logs in the pod(s).-c, --container='':# 打印此容器的日志Print the logs of this container-f, --follow=false:# 指定是否应该持续输出日志Specify if the logs should be streamed.--ignore-errors=false:# 如果监视/跟踪pod日志,则允许出现任何非致命错误If watching / following pod logs, allow for any errors that occur to be non-fatal--insecure-skip-tls-verify-backend=false:# 跳过验证发出日志请求的kubelet的身份。理论上,攻击者可以提供返回的日志内容无效。如果您的kubelet服务证书已经过期,您可能想使用这个。Skip verifying the identity of the kubelet that logs are requested from.  In theory, an attacker could provideinvalid log content back. You might want to use this if your kubelet serving certificates have expired.--limit-bytes=0:# 返回的日志的最大字节数。默认为无限制Maximum bytes of logs to return. Defaults to no limit.--max-log-requests=5:# 指定选择器使用时要跟随的最大并发日志数。默认为5Specify maximum number of concurrent logs to follow when using by a selector. Defaults to 5.--pod-running-timeout=20s:# 等待的时间长度(如5s、2m或3h,高于零),直到至少一个pod运行The length of time (like 5s, 2m, or 3h, higher than zero) to wait until at least one pod is running--prefix=false:# 在每个日志行前加上日志源(pod名称和容器名称)Prefix each log line with the log source (pod name and container name)-p, --previous=false:# 如果为真,则打印pod中容器的前一个实例的日志(如果它存在)If true, print the logs for the previous instance of the container in a pod if it exists.-l, --selector='':# 选择器(标签查询)过滤,支持'=','=='和'!='。- l key1 = value1, key2 = value2)。匹配的对象必须满足所有指定的标签约束。Selector (label query) to filter on, supports '=', '==', and '!='.(e.g. -l key1=value1,key2=value2). Matchingobjects must satisfy all of the specified label constraints.--since=0s:# 只返回相对时间范围内,(如5s、2m或3h之内)更新的日志。默认为所有日志。只能使用since-time / since中的一个。Only return logs newer than a relative duration like 5s, 2m, or 3h. Defaults to all logs. Only one ofsince-time / since may be used.--since-time='':# 只返回特定日期之后的日志(RFC3339)。默认为所有日志。只能使用since-time / since中的一个。Only return logs after a specific date (RFC3339). Defaults to all logs. Only one of since-time / since may beused.--tail=-1:# 要显示的最近日志文件的行数。默认为-1,没有选择器,如果提供了选择器,则显示所有日志行,否则显示10。Lines of recent log file to display. Defaults to -1 with no selector, showing all log lines otherwise 10, if aselector is provided.--timestamps=false:# 在日志输出的每一行中包含时间戳Include timestamps on each line in the log outputUsage:kubectl logs [-f] [-p] (POD | TYPE/NAME) [-c CONTAINER] [options]# 对全局命令行选项列表使用“kubectl options”(适用于所有命令)。
Use "kubectl options" for a list of global command-line options (applies to all commands).

2、kubectl logs 示例

下面是介绍一下’kubectl logs’简单的使用说明:
执行参数之前:

C:\Users\halo\Desktop>kubectl logs hello-minikube-5c494f986c-zwqsq --tail=10
::ffff:192.168.65.3 - - [02/Sep/2022:08:01:12 +0000] "GET / HTTP/1.1" 200 877 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
::ffff:192.168.65.3 - - [02/Sep/2022:08:01:12 +0000] "GET /favicon.ico HTTP/1.1" 200 811 "http://192.168.10.27:30192/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
::ffff:192.168.65.3 - - [02/Sep/2022:08:01:12 +0000] "GET / HTTP/1.1" 200 877 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
::ffff:192.168.65.3 - - [02/Sep/2022:08:01:12 +0000] "GET /favicon.ico HTTP/1.1" 200 811 "http://192.168.10.27:30192/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
::ffff:192.168.65.3 - - [02/Sep/2022:08:01:13 +0000] "GET / HTTP/1.1" 200 877 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
::ffff:192.168.65.3 - - [02/Sep/2022:08:01:13 +0000] "GET /favicon.ico HTTP/1.1" 200 811 "http://192.168.10.27:30192/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
::ffff:192.168.65.3 - - [02/Sep/2022:08:01:14 +0000] "GET / HTTP/1.1" 200 877 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
::ffff:192.168.65.3 - - [02/Sep/2022:08:01:14 +0000] "GET /favicon.ico HTTP/1.1" 200 811 "http://192.168.10.27:30192/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
::ffff:192.168.65.3 - - [02/Sep/2022:08:01:14 +0000] "GET / HTTP/1.1" 200 877 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
::ffff:192.168.65.3 - - [02/Sep/2022:08:01:14 +0000] "GET /favicon.ico HTTP/1.1" 200 811 "http://192.168.10.27:30192/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"

执行参数之后,(查看日志的时候追加了--timestamps=true --prefix=true):

C:\Users\halo\Desktop>kubectl logs hello-minikube-5c494f986c-zwqsq --timestamps=true --prefix=true --tail=10
[pod/hello-minikube-5c494f986c-zwqsq/echoserver] 2022-09-02T08:01:12.143434200Z ::ffff:192.168.65.3 - - [02/Sep/2022:08:01:12 +0000] "GET / HTTP/1.1" 200 877 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
[pod/hello-minikube-5c494f986c-zwqsq/echoserver] 2022-09-02T08:01:12.220710200Z ::ffff:192.168.65.3 - - [02/Sep/2022:08:01:12 +0000] "GET /favicon.ico HTTP/1.1" 200 811 "http://192.168.10.27:30192/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
[pod/hello-minikube-5c494f986c-zwqsq/echoserver] 2022-09-02T08:01:12.909611000Z ::ffff:192.168.65.3 - - [02/Sep/2022:08:01:12 +0000] "GET / HTTP/1.1" 200 877 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
[pod/hello-minikube-5c494f986c-zwqsq/echoserver] 2022-09-02T08:01:12.997047200Z ::ffff:192.168.65.3 - - [02/Sep/2022:08:01:12 +0000] "GET /favicon.ico HTTP/1.1" 200 811 "http://192.168.10.27:30192/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
[pod/hello-minikube-5c494f986c-zwqsq/echoserver] 2022-09-02T08:01:13.685898700Z ::ffff:192.168.65.3 - - [02/Sep/2022:08:01:13 +0000] "GET / HTTP/1.1" 200 877 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
[pod/hello-minikube-5c494f986c-zwqsq/echoserver] 2022-09-02T08:01:13.780309600Z ::ffff:192.168.65.3 - - [02/Sep/2022:08:01:13 +0000] "GET /favicon.ico HTTP/1.1" 200 811 "http://192.168.10.27:30192/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
[pod/hello-minikube-5c494f986c-zwqsq/echoserver] 2022-09-02T08:01:14.135455600Z ::ffff:192.168.65.3 - - [02/Sep/2022:08:01:14 +0000] "GET / HTTP/1.1" 200 877 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
[pod/hello-minikube-5c494f986c-zwqsq/echoserver] 2022-09-02T08:01:14.231313300Z ::ffff:192.168.65.3 - - [02/Sep/2022:08:01:14 +0000] "GET /favicon.ico HTTP/1.1" 200 811 "http://192.168.10.27:30192/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
[pod/hello-minikube-5c494f986c-zwqsq/echoserver] 2022-09-02T08:01:14.729768600Z ::ffff:192.168.65.3 - - [02/Sep/2022:08:01:14 +0000] "GET / HTTP/1.1" 200 877 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"
[pod/hello-minikube-5c494f986c-zwqsq/echoserver] 2022-09-02T08:01:14.823172400Z ::ffff:192.168.65.3 - - [02/Sep/2022:08:01:14 +0000] "GET /favicon.ico HTTP/1.1" 200 811 "http://192.168.10.27:30192/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.102 Safari/537.36 Edg/104.0.1293.70"

从上面的执行参数之前和执行参数之后,查看日志变化效果如下,执行参数之后,日志追加内容:
[pod/hello-minikube-5c494f986c-zwqsq/echoserver] 2022-09-02T08:01:12.143434200Z
从内容可知,日志新增了pod信息及时间信息,由使用说明描述,时间信息是--timestamps=true的执行效果,pod信息是--prefix=true的执行效果。--tail=10表示只输出最近10行日志

k8s 实战 - kubectl logs - 外传相关推荐

  1. k8s学习-kubectl命令常用选项详解与实战

    目录 概述 语法 资源类型 输出选项 实战 基本命令 create get edit delete 集群管理 cluster-info top cordon && uncordon d ...

  2. kubectl logs -f tail 显示100_系统管理员应该知道的9个kubectl命令

    kubectl是Kubernetes的一个命令行管理工具,可用于Kubernetes上的应用部署和日常管理.本文列举了9个常见的kubectl命令,并对每个命令进行了简单扼要的介绍,供大家参考.同时, ...

  3. K8S实战之部署java应用

    kubernetes基本概念 Pod: 1.最小的部署单元, 2.一组容器的集合 3.一个pod中的容器共享网络命名空间 4.生命周期是短暂的 Controllers: 1.Deployment:部署 ...

  4. 【K8S实战系列-nignx-2】k8s中configmap挂载配置nginx.conf

    [K8S实战系统-nignx-2]k8s中configmap挂载配置nginx.conf 1. ConfigMap是什么 ConfigMap作用是存储不加密的数据到etcd中,让Pod以变量或数据卷V ...

  5. 【K8S实战】-超详细教程(一)

    [K8S实战]-超详细教程(一) 1.环境准备 K8S环境搭建可以看这篇文章[k8s搭建(超详细,保姆级教程)],这里就不过多赘述了,有疑问欢迎留言. 2.K8S资源创建 K8S的资源创建一般有2种: ...

  6. 视频教程-k8s实战之kubectl-其他

    k8s实战之kubectl 毕业于武汉理工大学计算机系,12年开发架构经验,擅长java,k8s 黄小平 ¥199.00 立即订阅 扫码下载「CSDN程序员学院APP」,1000+技术好课免费看 AP ...

  7. k8s实战之从私有仓库拉取镜像 - kubernetes

    1.实战目的 从私有docker仓库拉取镜像,部署pod.上一篇中,我们搭建了私有的镜像仓库,这一篇我们将与k8s结合实战使用私有仓库. 2.登录docker 为了完成本次实战,需要登录docker, ...

  8. K8S实战之环境部署1.18(一)

    安装要求,准备环境 #系统centos7.6 #硬件:2个CPU,2G内存 #可以访问外网,禁用swap #提前安装docker环境 准备三台服务器 初始化系统环境,以下命令三台服务器全部执行 1.1 ...

  9. 【K8S实战】-超详细教程(二)

    [K8S实战]-超详细教程(二) 环境这块的这里我就不过多描述了,需要了解的可以看这篇文章[k8s搭建(超详细,保姆级教程)]. 1.Deployment Deployment其他功能我上一篇文章已写 ...

最新文章

  1. python递归详解_打破递归栈的深度限制: 解析一种Python尾递归优化的方法
  2. Ping一下Github,确认本地DNS无法解析方法
  3. Centos下安装Mysql
  4. 监控USB设备插入/拔出写法2
  5. 除了负载均衡,Nginx还可以做很多,限流、缓存、黑白名单等
  6. linux下搭建vsftp锁定根目录,Linux服务搭建之vsftp
  7. java aqs实现原理_JAVA基础学习之-AQS的实现原理分析
  8. 7月-伟大的事业,一般都是在下半年完成的
  9. 如何使用 iMovie 为影片添加字幕、综艺字?
  10. 清华源加速 添加在pip install xxx后面即可
  11. 高等数值计算方法第一章引论【误差,条件数】
  12. filco linux 蓝牙适配器,filco蓝牙配对教程,新买了一个蓝牙无线键盘fi
  13. excel 多行 取消隐藏_如何在Excel 2013中隐藏和取消隐藏行和列
  14. L1-087 机工士姆斯塔迪奥(Python3)
  15. read: unexpected EOF!
  16. Appium+python(1):python运行真机App程序示例
  17. 网络故障排障简单总结
  18. Android签名打包报错:Conversion to Dalvik fromat failed with error 1
  19. LaTeX 2会议期刊模板下载
  20. 【Java基础】 Java开发入门

热门文章

  1. 彩旗飘飘 彩灯烁烁的桥
  2. 手把手教你用Arduino接入阿里云物联网平台,ESP8266连接阿里云物联网平台必看教程...
  3. 解决安装office2016后文件图标显示空白图标
  4. Cisco Packet Trancer中小型校园网/企业网/园区网网络设计规划/无线网络
  5. 7家自媒体创业项目平台收益技巧和差异对比,你适合哪个?
  6. 大数据播报 | 数据悄悄告诉你“私有云背后的秘密”
  7. python数据分析前景如何_数据分析师的前景怎么样?
  8. 花呗不小心升级了信用购会影响什么
  9. RobotFramework学习笔记二:遇到Frame框架
  10. 20221107学习word2vec