加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

Kubernetes上对应用程序进行故障解决的方案

发布时间:2021-05-27 20:45:37 所属栏目:创业 来源:互联网
导读:从 Docker 迁移到 Docker Swarm,再到 Kubernetes,然后处理了多年来的所有各种 API 更改之后,我非常乐意发现部署中出现的问题和把问题进行修复。我今天分享下

Kubernetes上对应用程序进行故障解决的方案

从 Docker 迁移到 Docker Swarm,再到 Kubernetes,然后处理了多年来的所有各种 API 更改之后,我非常乐意发现部署中出现的问题和把问题进行修复。我今天分享下我认为最有用的5条故障排除技巧,以及一些其他的使用技巧。

kubectl –“瑞士军刀”

kubectl 就是我们的瑞士军刀,我们经常在出现问题的时候使用他们,在出现问题如何使用他们很重要,让我们从5个“实际案例”开始,看出现问题时如何使用它们。

情况将是:我的YAML已被接受,但我的服务未启动且已启动,但无法正常工作。

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。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读