Kubernetes 如何检查“何时”;kubectl删去“;以“失败”;等待…超时。。。“待同步”;

Kubernetes 如何检查“何时”;kubectl删去“;以“失败”;等待…超时。。。“待同步”;,kubernetes,timeout,Kubernetes,Timeout,我有一个KubernetesV1.10.2集群和一个cronjob。 作业配置设置为: failedJobsHistoryLimit: 1 successfulJobsHistoryLimit: 3 但它已经创造了十多个就业机会,这些都是成功的,而且不会自动取消。 现在,我尝试手动删除它们,使用kubectl delete job XXX,但命令超时为: $ kubectl delete job XXX error: timed out waiting for "XXX" to b

我有一个KubernetesV1.10.2集群和一个cronjob。 作业配置设置为:

   failedJobsHistoryLimit: 1
  successfulJobsHistoryLimit: 3
但它已经创造了十多个就业机会,这些都是成功的,而且不会自动取消。 现在,我尝试手动删除它们,使用
kubectl delete job XXX
,但命令超时为:

$  kubectl delete job XXX
error: timed out waiting for "XXX" to be synced
我想知道在这种情况下我如何办理登机手续。是否有执行命令的日志文件

我只知道
kubectl logs
命令,但它不适用于这种情况

“kubectl get”显示作业已完成:

status:
  active: 1
  completionTime: 2018-08-27T21:20:21Z
  conditions:
  - lastProbeTime: 2018-08-27T21:20:21Z
    lastTransitionTime: 2018-08-27T21:20:21Z
    status: "True"
    type: Complete
  failed: 3
  startTime: 2018-08-27T01:00:00Z
  succeeded: 1
和“kubectl描述”输出为:

$ kubectl describe job test-elk-xxx-1535331600 -ntest
Name:           test-elk-xxx-1535331600
Namespace:      test
Selector:       controller-uid=863a14e3-a994-11e8-8bd7-fa163e23632f
Labels:         controller-uid=863a14e3-a994-11e8-8bd7-fa163e23632f
                job-name=test-elk-xxx-1535331600
Annotations:    <none>
Controlled By:  CronJob/test-elk-xxx
Parallelism:    0
Completions:    1
Start Time:     Mon, 27 Aug 2018 01:00:00 +0000
Pods Statuses:  1 Running / 1 Succeeded / 3 Failed
Pod Template:
  Labels:  controller-uid=863a14e3-a994-11e8-8bd7-fa163e23632f
           job-name=test-elk-xxx-1535331600
  Containers:
   xxx:
    Image:      test-elk-xxx:18.03-3
    Port:       <none>
    Host Port:  <none>
    Args:
      --config
      /etc/elasticsearch-xxx/xxx.yml
      /etc/elasticsearch-xxx/actions.yml
    Limits:
      cpu:     100m
      memory:  100Mi
    Requests:
      cpu:        100m
      memory:     100Mi
    Environment:  <none>
    Mounts:
      /etc/elasticsearch-xxx from xxx-configs (ro)
  Volumes:
   xxx-configs:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      test-elk-xxx
    Optional:  false
Events:        <none>
$kubectl描述作业测试-elk-xxx-1535331600-ntest
名称:test-elk-xxx-1535331600
名称空间:测试
选择器:控制器uid=863a14e3-a994-11e8-8bd7-fa163e23632f
标签:控制器uid=863a14e3-a994-11e8-8bd7-fa163e23632f
作业名称=test-elk-xxx-1535331600
注释:
控制人:CronJob/test elk xxx
并行度:0
完成情况:1
开始时间:2018年8月27日星期一01:00:00+0000
Pods状态:1运行/1成功/3失败
Pod模板:
标签:控制器uid=863a14e3-a994-11e8-8bd7-fa163e23632f
作业名称=test-elk-xxx-1535331600
容器:
xxx:
图:试验麋鹿xxx:18.03-3
端口:
主机端口:
Args:
--配置
/etc/elasticsearch xxx/xxx.yml
/etc/elasticsearch xxx/actions.yml
限制:
中央处理器:100米
内存:100Mi
请求:
中央处理器:100米
内存:100Mi
环境:
挂载:
/etc/elasticsearch xxx从xxx配置(ro)
卷数:
xxx配置:
类型:ConfigMap(由ConfigMap填充的卷)
名称:试验麋鹿xxx
可选:false
活动:

它表示仍有一个pod在运行,但我不知道如何计算pod名称。

检查
kubectl Descripte pod
(作业的关联pod)是否仍返回某些内容,这将:

  • 意味着节点仍然存在
  • 包括

在那个状态下,你可以考虑。

< P>我认为这与Github中所报道的问题相同:

这是几个人报道的,现在还没有确定

并且可以对kubectl命令使用“-v=X”(例如,-v=8)选项,它将提供更详细的调试信息。

摘自

尝试在删除作业命令中使用
--cascade=false


它对我和kubectl都起到了作用,同一个cron作业创造了许多工作,只有“成功”的工作不能删除,其他工作可以毫无问题地删除。即使强制删除pod?(
kubectl delete pods--grace period=0--force
)此作业没有关联的pods。kubectl delete作业——宽限期=0——强制超时。该作业已成功,并且不再具有附加的pod。强制删除也不起作用。正如我在下面的回答中所说的,只有当工作没有相关的pod时才会发生,一些人在github通知单中报告了这一点+1.