Как проверить, когда «удалить kubectl» с «тайм-аут ожидания ... для синхронизации» - PullRequest
0 голосов
/ 09 октября 2018

У меня есть кластер Kubernetes v1.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>

Это указывает на то, что еще один модуль работает, но я не знаю, как определить имя модуля.

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Я думаю, что это то же самое, что проблема, о которой сообщалось в github:

Невозможно удалить задания, когда их связанные модули пропали

Об этом сообщают несколько человек,и он еще не исправлен.

И может использовать опцию "-v = X" (например, -v = 8) для команды kubectl, это даст более подробную информацию об отладке.

0 голосов
/ 09 октября 2018

Проверьте, возвращает ли kubectl describe pod <pod name> (связанный модуль задания) что-то, что будет:

  • означает, что узел все еще там
  • включает условие модуля

В этом состоянии вы можете считать принудительное удаление .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...