还将展示如何使用 kubectl 命令获取最近(tail)和实时跟踪(follow) Pod 中的日志。 使用 Kubectl 获取 Pod 日志 要从 Kubernetes 中的 Pod 获取日志,首先需要找出 Pod 的名称或与 Pod 关联的标签: $ kubectl get pods --show-labels 从 Pod 获取日志: $ kubectl logs <podName> 如果 Pod 之前发生过崩溃,您可以通过以下方式访问上一个 Pod 的日志: $ kubectl logs --previous 我可以只获取 Pod 的最近 100 行日志: $ kubectl logs --tail=100 <podName> 要显示最近一小时写入的 Pod 日志: $ kubectl logs --since =1h <podName> 在最近 15 分钟内: kubectl logs --since=15m <podName> 实时跟踪日志 实时跟踪来自 Pod 的日志: $ kubectl logs -f
是否有过因为使用 kubectl 经常需要重复输入命名空间而苦恼?是否觉得应该要有个记住命名空间的功能,自动记住上次使用的命名空间,不需要每次都输入? $nsarg $@" echo "$cmd" $cmd return done cmd="kubectl $@" echo "$ 就可以将 k 命令注册到当前终端,dash snippets 配置如图所示: image.png 将 k 当作 kubectl 来用,只是不需要输入命名空间,它会调用 kubectl 并自动加上上次使用的非默认的命名空间 ,如果想切换命名空间,再常规的使用一次 kubectl 就行,下面是示范: image.png 哈哈,是否感觉可以少输入很多字符,提高 kubectl 使用效率了? 这是目前我探索解决 kubectl 重复输入命名空间的最好方案,一开始是受 fuck命令 的启发,想用 go 语言开发个 k 命令,但是发现两个缺点: 需要安装二进制才可以使用(对于需要在多个地方用kubectl
例如,要获取命名空间,可以使用 kubectl get ns 命令: $ kubectl get ns NAME STATUS AGE charts $ KUBE_EDITOR="nano" kubectl edit cronjob/my-existing-cron Kubectl delete 学会了以上命令后,下面我们将进行删除操作。 # 二、使用kubectl对kubernetes进行故障排除 Kubectl describe describe 命令可以查看资源的详细信息。 :/# Kubectl cp Kubectl cp 命令与 Linux cp 命令类似,用于容器之间复制文件和目录。 # kubectl客户端快捷使用 ##kubectl curl -L https://dl.k8s.io/release/v1.24.2/bin/linux/amd64/kubectl -o /usr
熟悉了这些流程概念后会在很大程度上帮助我们更好地理解 kubectl 并利用它。接下来,我们来看一下具体的技巧,来帮助你提升 kubectl 的生产力。 命令补全 命令补全是提高 kubectl 生产率的最有用但经常被忽略的技巧之一。命令补全功能使你可以使用 Tab 键自动完成 kubectl 命令的各个部分。 -o custom-columns='NAME:metadata.name' NAME nfs-client-provisioner-54f4485448-kwr45 nginx-674ff86d-t6gbd nfs-subdir-external-provisioner:v4.0.2 nginx nginx nginx-674ff86d-t6gbd nfs-client-provisioner-54f4485448-kwr45 cnych/nfs-subdir-external-provisioner:v4.0.2 nginx-674ff86d-t6gbd
kubectl exec 是 Kubernetes 的命令行工具 kubectl 中的一个子命令。它的主要功能是在指定的 Pod 中执行命令。 也就是说,您可以通过 kubectl exec 与 Pod 中的容器进行交互,执行命令。 使用场景: 调试:如果你想知道容器内部的情况,可以使用 kubectl exec 进入容器内部进行查看。 数据拷贝:与 kubectl cp 配合,可以在本地与容器之间拷贝文件。 使用技巧 指定命名空间:如果要对不在默认命名空间的 Pod 进行操作,可以使用 -n 或 --namespace 参数。 使用案例 进入一个容器的交互式 shell: kubectl exec -it <POD_NAME> -- /bin/bash 在指定命名空间的容器内执行命令: kubectl exec -n <NAMESPACE /etc/hosts 查看容器内的环境变量: kubectl exec <POD_NAME> -- env 与容器内的数据库进行交互(例如 MySQL): kubectl exec -it <POD_NAME
, 5.117260621617949), (3, 8.71363059466428), (4, 10.187466638278366), (5, 11.492275314042141), (6,
kubectl debug 是 Kubernetes 中的一个命令,主要用于故障排查。 而 kubectl debug 提供了这样的机会。 使用场景: 当 Pod 中的容器崩溃或无法正常启动时,进行故障排查。 为了诊断网络、存储或其他相关问题,需要临时在 Pod 中运行一些特定工具。 使用技巧 使用 --image 参数可以指定 kubectl debug 使用的镜像。默认情况下,它使用 busybox。 你可以使用以下命令在该 Pod 内创建一个 debug 容器: kubectl debug broken-pod -c debug-container --image=busybox 在有多个容器的 总之,kubectl debug 是 Kubernetes 中非常有用的诊断工具,尤其在处理困难和复杂的故障排查问题时。
为什么使用 kubectl autocompletion? 提高效率: 不必记住每个命令或参数,只需输入部分命令,然后按 Tab 键即可。 如何启用 kubectl autocompletion? 1. Zsh 中的自动完成 对于 Zsh 用户,执行以下命令启用自动补全: source <(kubectl completion zsh) 要永久启用,你可以将上述命令添加到 ~/.zshrc 文件中。 注意: 在某些系统中,你可能需要安装 bash-completion 包才能使用 kubectl 的自动补全功能。 如何使用 kubectl autocompletion? 一旦启用了 kubectl 的自动补全,你只需在命令行中部分输入命令,然后按 Tab 键。 例如,键入 kubectl get p 然后按 Tab,它会自动补全为 kubectl get pods。
使用技巧 使用 kubectl rollout status 命令时,可以持续观察部署的状态,直到完成或失败。 如果部署出现问题,你可以使用 kubectl rollout undo 快速回滚到之前的版本。 实际使用案例 查看 Deployment 的部署状态 kubectl rollout status deployment/my-deployment 查看 Deployment 的版本历史 kubectl =2 暂停和恢复 Deployment 暂停: kubectl rollout pause deployment/my-deployment 恢复: kubectl rollout resume deployment /my-deployment 重新启动 Deployment kubectl rollout restart deployment/my-deployment 使用 kubectl rollout
kubectl get events 是 Kubernetes 中的一个命令,用于获取集群内部发生的事件 (Events)。这些事件可以包括 Pod 的启动和停止、配置更改、资源不足、错误状况等。 使用技巧 使用 -w 或 --watch 参数实时查看新事件。 可以结合命名空间使用,例如 kubectl get events -n <namespace> 来查看指定命名空间的事件。 使用 --sort-by 对事件进行排序,例如按时间排序:kubectl get events --sort-by='.metadata.creationTimestamp'。 使用 --field-selector 进行过滤,例如只查看 Pod 事件:kubectl get events --field-selector involvedObject.kind=Pod。 使用案例 实时监控事件 kubectl get events -w 查看指定命名空间的事件 kubectl get events -n my-namespace 按时间排序查看最近的事件 kubectl
也正是因为这个特性,一种很常见的SQL技巧是,用left join可替换not exists、not in等相关子查询,如下:sql复制代码select * from tableA A where not
kubectl port-forward 命令允许用户将本地端口映射到一个运行在 Kubernetes 集群中的 Pod 的端口。 基本命令: kubectl port-forward TYPE/NAME [options] LOCAL_PORT:REMOTE_PORT TYPE/NAME: 指定要转发的 Pod。 高级用法: 转发到 Deployment 或 Service: 虽然最常见的用法是直接转发到 Pod,但 kubectl port-forward 也支持转发到 Deployment 或 Service kubectl port-forward deployment/my-deployment 5000:80 转发多个端口: 你可以一次转发多个端口。 当你完成转发操作后,记得关闭 kubectl port-forward 命令以释放端口。
本文将会分享如下 6个linux痕迹隐藏技巧,来跟蓝队来一场斗智斗勇吧 <( ̄︶ ̄)↗[GO!] 让某个文件只能往里面追加数据,但不能删除,适用于各种日志文件 # chattr +a /var/log/messages 6.
机器之心编译 切换暗黑模式、读取 CSV 文件… 这些非常实用的小技巧为开发者使用谷歌 Colab Notebooks 提供了便利。 为读者详细地介绍了使用 Google Colab Notebooks 的小技巧,主要包括以下几个方面: 切换暗黑模式 读取 CSV 文件 IT问答的快捷方式 启动内核 提交至 GitHub 存储库并共享
在CIW(Cadence Interaction Windows)窗口中,执行如下代码;然后再点击原理图中器件,会看到所有与器件相连的net都被高亮了。
这篇文章目的梳理几个高效实用的pandas小技巧,供大家参考。 1. 6. 从多个文件中构建一个DataFrame 有时候数据集可能分布在多个excel或者csv文件中,但需要把它读取到一个DataFrame中,这样的需求该如何实现?
本周就不写技术分析文章了,分享几个珍藏已久的 IDEA 的「骚技巧」,助你快速完成代码。 还等什么?赶紧上车吧...... 前进/后退 我们使用浏览器的过程,可以点击后退查看之前的浏览记录。 小技巧 讲到这里,建议大家设置一个选项,限制标签页(Edit Tabs)数量。 ? 默认情况下,Tab Limit 为 10,标签页只能打开 10 个,对于会按照打开顺序关闭。 除了以上功能,大家可以在其他地方试试,说不准有小惊喜哦! 快速抽取变量 有时候新建了一个对象,忘记了创建了变量,就很麻烦,需要移动光标到前面,然后声明。 ? 快捷键如下: Windows:shift + F6 Mac: ⇧ + F6 ? 最后,最后,你还知道其他骚技巧吗?欢迎留言区来波评论! 干货分享 最近将个人学习笔记整理成册,使用PDF分享。关注我,回复如下代码,即可获得百度盘地址,无套路领取!
这篇文章目的梳理几个高效实用的pandas小技巧,供大家参考。 1. 6. 从多个文件中构建一个DataFrame 有时候数据集可能分布在多个excel或者csv文件中,但需要把它读取到一个DataFrame中,这样的需求该如何实现? 本文就到这里,pandas还有很多让人惊喜的小技巧,大家有兴趣也可以在评论区说说你的使用心得。 ----
在PyQt6应用程序中,集成外部工具可以增强用户体验并提供更多功能,运用起来也十分方便。 下面就来介绍两个比较常用的外部工具吧。 首先得安装第三方库: pip install pyqt6-tools 1.QTDesigner 在 PyQt6 应用程序中,使用 Qt Designer 是一种强大的方式,它允许开发者通过可视化界面设计工具创建和布局界面 接下来,我们将介绍如何在 PyQt6 应用程序中集成 Qt Designer,以便更便捷地设计和修改界面。 在 PyQt6 中,pyUIC 是一个用于将 Qt Designer 生成的 .ui 文件转换为 Python 代码的命令行工具。 本文将介绍如何使用 pyUIC 进行转换,并将生成的 Python 代码集成到 PyQt6 应用程序中。
以上就是我今天跟大家分享的6个关于Vue3的技巧,希望这些技巧能够对您有所帮助,如果觉得有帮助的话,请记得点赞我,关注我,并将此内容分享给您的朋友们,一起学习进步,也有可能能够帮助到他。