千家信息网

Kubernetes上对应用程序进行故障排除的技巧有哪些

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要讲解了"Kubernetes上对应用程序进行故障排除的技巧有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Kubernetes上对应用
千家信息网最后更新 2026年11月01日Kubernetes上对应用程序进行故障排除的技巧有哪些

这篇文章主要讲解了"Kubernetes上对应用程序进行故障排除的技巧有哪些",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Kubernetes上对应用程序进行故障排除的技巧有哪些"吧!

1.kubectl get deployment/pods

这个命令如此重要的原因是它无需显示大量内容即可显示很有用的信息。

如果要为工作负载使用部署,则有两种选择:

kubectl get deploy  kubectl get deploy -n 名称空间  kubectl get deploy –all-namespaces [或" -A"]

理想情况下,您希望看到的是1/1或等值的2/2,以此类推。这表明您的部署已被接受,并已尝试进行部署。

接下来,您可能需要查看kubectl get pod,以查看部署的后备Pod是否正确启动。

2. kubectl get events

我感到惊讶的是,我不得不经常向与Kubernetes有问题的人们解释这个小技巧。此命令将打印出给定名称空间中的事件,非常适合查找关键问题,例如崩溃的pod或无法pull容器镜像。

Kubernetes中的日志是"未排序的",因此,您将需要添加以下内容,这些内容取自OpenFaaS文档。

$ kubectl get events --sort-by=.metadata.creationTimestamp

kubectl get事件的另一个接近的命令是是kubectl describe,就像get deploy / pod一样,它与对象的名称一起工作:

kubectl describe deploy/figlet -n openfaas

您会在这里获得非常详细的信息。您可以描述大多数事情,包括节点,这些节点将显示由于资源限制或其他问题而无法启动 Pod。

3. kubectl logs

这个命令肯定经常大家经常使用,但很多人使用了错误的方式。

如果您进行了部署,比方说cert-manager命名空间中的cert-manager,那么很多人认为他们首先必须找到Pod的长(唯一)名称并将其用作参数。不对。

kubectl logs deploy/cert-manager -n cert-manager

要跟踪日志,请添加-f

kubectl logs deploy/cert-manager -n cert-manager -f

您可以将所有三个结合起来。

如果您的 Deployment 或 Pod 有任何标签,则可以使用 -l app = name 或任何其他标签集来附加到一个或多个匹配Pod的日志中。

kubectl logs -l app=nginx

有一些工具,例如 stern 和 kail,可以帮助您匹配模式并节省一些键入操作,但我发现它们会分散您的注意力。

4.kubectl get -o yaml

当您开始使用由另一个项目或诸如Helm之类的其他工具生成的YAML时,您将很快需要它。在生产中检查镜像的版本或您在某处设置的注释也很有用。

kubectl run nginx-1 --image=nginx --port=80 --restart=Always

输出yaml

kubectl get deploy/nginx-1 -o yaml

现在我们知道了。而且,我们可以添加–export并将YAML保存在本地以进行编辑并再次应用。

实时编辑YAML的另一个选项是kubectl edit,如果您对vim感到困惑,不知道如何使用,请在命令前加上VISUAL = nano,使用这个简化编辑器。

5. kubectl scale 您打开和关闭它了吗?

Kubectl scale可用于将Deployment及其Pod缩小为零个副本,实际上杀死了所有副本。当您将其缩放回1/1时,将创建一个新的Pod,重新启动您的应用程序。

语法非常简单,您可以重新启动代码并再次进行测试。

kubectl scale deploy/nginx-1 --replicas=0  kubectl scale deploy/nginx-1 --replicas=1

6. Port forwarding

我们需要这个技巧, 通过kubectl进行的端口转发使我们可以在我们自己计算机上的本地或远程群集上公开一项服务,以便在任何已配置的端口上访问它,而无需在Internet上公开它。

以下是在本地访问Nginx部署的示例:

kubectl port-forward deploy/nginx-1 8080:80

有人认为这仅适用于部署或Pod,这是错误的。服务间是公平的,通常是转发的选择,因为它们将模拟生产集群中的配置。

如果您确实想在Internet上公开服务,通常会使用LoadBalancer服务,或运行kubectl暴露:

kubectl expose deployment nginx-1 --port=80 --type=LoadBalancer

感谢各位的阅读,以上就是"Kubernetes上对应用程序进行故障排除的技巧有哪些"的内容了,经过本文的学习后,相信大家对Kubernetes上对应用程序进行故障排除的技巧有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

技巧 应用 应用程序 程序 内容 命令 故障 名称 问题 服务 日志 空间 学习 事件 信息 再次 副本 工具 情况 有用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 互联网与科技金融数据 科技服务与互联网 平安科技 互联网 以房互联网科技 火传媒上海互联网科技 四川狮子座互联网科技 科技伦理 互联网公司 互联网巨头投资的硬核科技 中盈科技互联网信息有限公司 阿里巴巴算科技企业还是互联网 互联网时代科技改变生活 湖北码尼互联网科技有限公司电话 中国航天科技大学国际工业互联网 哈尔滨屹滨互联网科技有限公司 996高科技互联网公司 天津腾达互联网科技有限公司 为客找房互联网科技公司怎么样 区块链结合互联网科技 互联网营销推广黑科技 互联网科技公司经营范围 互联网科技会 互联网科技与金融科技 卓越科技(互联网 ) 安徽鑫晟辉互联网科技 左右互联网络科技 多迪互联网科技有限公司 恒银科技与互联网金融 沐思想互联网科技有限公司 现代科技的标志之一的互联网
0