Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Error handling Kubernetes有大量处于错误状态的吊舱,它们可以';似乎没有澄清_Error Handling_Kubernetes_Kubectl - Fatal编程技术网

Error handling Kubernetes有大量处于错误状态的吊舱,它们可以';似乎没有澄清

Error handling Kubernetes有大量处于错误状态的吊舱,它们可以';似乎没有澄清,error-handling,kubernetes,kubectl,Error Handling,Kubernetes,Kubectl,我最初试图运行一个似乎陷入崩溃循环的作业。这是服务文件: apiVersion: batch/v1 kind: Job metadata: name: es-setup-indexes namespace: elk-test spec: template: metadata: name: es-setup-indexes spec: containers: - name: es-setup-indexes image

我最初试图运行一个似乎陷入崩溃循环的作业。这是服务文件:

apiVersion: batch/v1
kind: Job
metadata:
  name: es-setup-indexes
  namespace: elk-test
spec:
  template:
    metadata:
      name: es-setup-indexes
    spec:
      containers:
      - name: es-setup-indexes
        image: appropriate/curl
        command: ['curl -H  "Content-Type: application/json" -XPUT http://elasticsearch.elk-test.svc.cluster.local:9200/_template/filebeat -d@/etc/filebeat/filebeat.template.json']
        volumeMounts:
        - name: configmap-volume
          mountPath: /etc/filebeat/filebeat.template.json
          subPath: filebeat.template.json
      restartPolicy: Never

      volumes:
        - name: configmap-volume
          configMap:
            name: elasticsearch-configmap-indexes
我尝试删除作业,但只有在运行以下命令时,该作业才会起作用:

kubectl delete job es-setup-indexes --cascade=false
之后,我在跑步时注意到:

kubectl get pods -w
我会得到一个错误状态下的吊舱吨,我认为没有办法清理他们。下面是我运行get pods时输出的一个小示例:

es-setup-indexes-zvx9c   0/1       Error     0         20h
es-setup-indexes-zw23w   0/1       Error     0         15h
es-setup-indexes-zw57h   0/1       Error     0         21h
es-setup-indexes-zw6l9   0/1       Error     0         16h
es-setup-indexes-zw7fc   0/1       Error     0         22h
es-setup-indexes-zw9bw   0/1       Error     0         12h
es-setup-indexes-zw9ck   0/1       Error     0         1d
es-setup-indexes-zwf54   0/1       Error     0         18h
es-setup-indexes-zwlmg   0/1       Error     0         16h
es-setup-indexes-zwmsm   0/1       Error     0         21h
es-setup-indexes-zwp37   0/1       Error     0         22h
es-setup-indexes-zwzln   0/1       Error     0         22h
es-setup-indexes-zx4g3   0/1       Error     0         11h
es-setup-indexes-zx4hd   0/1       Error     0         21h
es-setup-indexes-zx512   0/1       Error     0         1d
es-setup-indexes-zx638   0/1       Error     0         17h
es-setup-indexes-zx64c   0/1       Error     0         21h
es-setup-indexes-zxczt   0/1       Error     0         15h
es-setup-indexes-zxdzf   0/1       Error     0         14h
es-setup-indexes-zxf56   0/1       Error     0         1d
es-setup-indexes-zxf9r   0/1       Error     0         16h
es-setup-indexes-zxg0m   0/1       Error     0         14h
es-setup-indexes-zxg71   0/1       Error     0         1d
es-setup-indexes-zxgwz   0/1       Error     0         19h
es-setup-indexes-zxkpm   0/1       Error     0         23h
es-setup-indexes-zxkvb   0/1       Error     0         15h
es-setup-indexes-zxpgg   0/1       Error     0         20h
es-setup-indexes-zxqh3   0/1       Error     0         1d
es-setup-indexes-zxr7f   0/1       Error     0         22h
es-setup-indexes-zxxbs   0/1       Error     0         13h
es-setup-indexes-zz7xr   0/1       Error     0         12h
es-setup-indexes-zzbjq   0/1       Error     0         13h
es-setup-indexes-zzc0z   0/1       Error     0         16h
es-setup-indexes-zzdb6   0/1       Error     0         1d
es-setup-indexes-zzjh2   0/1       Error     0         21h
es-setup-indexes-zzm77   0/1       Error     0         1d
es-setup-indexes-zzqt5   0/1       Error     0         12h
es-setup-indexes-zzr79   0/1       Error     0         16h
es-setup-indexes-zzsfx   0/1       Error     0         1d
es-setup-indexes-zzx1r   0/1       Error     0         21h
es-setup-indexes-zzx6j   0/1       Error     0         1d
kibana-kq51v   1/1       Running   0         10h
但如果我看看这些工作,我就再也找不到与之相关的了:

$ kubectl get jobs --all-namespaces                                                                              
NAMESPACE     NAME               DESIRED   SUCCESSFUL   AGE
kube-system   configure-calico   1         1            46d
我还注意到kubectl的反应似乎很慢。我不知道吊舱是否在不断尝试重新启动或处于某种损坏状态,但如果有人能让我知道如何进行故障排除,那就太好了,因为我在kubernetes没有遇到类似的问题

库贝信息:

$ kubectl version 
Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.1", GitCommit:"b0b7a323cc5a4a2019b2e9520c21c7830b7f708e", GitTreeState:"clean", BuildDate:"2017-04-03T20:44:38Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.1", GitCommit:"b0b7a323cc5a4a2019b2e9520c21c7830b7f708e", GitTreeState:"clean", BuildDate:"2017-04-03T20:33:27Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}

该解决方案如评论中提到的@johnharis85所示。我不得不手动删除所有的播客。为此,我运行了以下命令:

kubectl get pods -w | tee all-pods.txt
那就把我所有的豆荚都扔掉了,然后只对我想要的进行过滤和删除

kubectl delete pod $(more all-pods.txt | grep es-setup-index | awk '{print $1}')

注意:我大约有9292个豆荚,删除它们大约需要1-2个小时。

这里是一个快速修复方法:)


编辑:添加标志
-a
如果您使用的是旧版本的k8s

我通常使用此命令删除所有
错误
吊舱。

kubectl delete pod`kubectl get pods--namespace | awk'$3==“Error”{print$1}`--namespace

kubectl删除pods——字段选择器状态。阶段=失败-n


…清除命名空间中所有失败的pod。

关于$kubectl的输出如何描述pod您如何尝试删除这些pod?“它只适用于
--cascade=false
”是什么意思?有错误吗?@turkenh所以我最终运行了那个命令。我看到了它们运行在哪些节点上,ssh将其嵌入其中,并手动删除了所有与docker ps-a匹配的旧docker映像。删除旧容器后,kubectl似乎仍然报告它们,即使我手动删除了它们。我不知道是否应该尝试启动更多节点并迁移到新节点并拆除旧节点,或者是否有办法让kube与docker的状态同步。@johnharis85啊,谢谢你手动删除了它们。大约花了2个小时,因为有9292个错误的播客。谢谢。是的,我以前应该使用xargs,所以它是并行的,而不是串行的。记住,这也会删除任何在标题中有错误的pod。下面的答案更可靠。谢谢。升级到1.7+后,我从未遇到过此问题。请尝试使用--field selector=status.phase=Failed
kubectl get pods-o name-n--field selector status.phase=Failed | xargs kubectl delete-n
kubectl get pods | grep Error | cut -d' ' -f 1 | xargs kubectl delete pod