Как проверить, что выполнение конкретного скрипта завершается модулем Kubernetes

У меня есть набор демонов, который развертывает контейнеры для проверки состояния нескольких точек монтирования. Это развертывание демона производится из скрипта Python, и вскоре после команды развертывания я собираю журналы, которые будут созданы вышеупомянутыми модулями демона. Я вижу, что журналы копируются вскоре после запуска создания демона, и по той же причине журналы не завершены.

После некоторого исследования я обнаружил, что модули daemonset все еще находятся в процессе выполнения сценария и записи журналов. Между тем основной сценарий уже перешел к следующей команде копирования журналов с использованием kubectl cp команда.

Есть ли способ я могу поставить ожидание на основе условия, что копирование журналов, только если выполнение скрипта завершено.

Это часть кода, который у меня есть

# Create diag pod
cmd = "kubectl apply -f diagnostic_daemon.yaml"
(rc, cmd_out, cmd_err) = cmdHandle.cmd_run(cmd)
if cmd_err.strip():
    print "ERROR: Unbale to create diag POD. Exiting!!!"
    print "> " + REDC + cmd_err.strip() + ENDC
    sys.exit(1)

# wait for the daemonset pod to reach running state
check_daemonset_state("cos-plugin-diag")

print "\n*****Collecting cos-plugin-diag logs*****"
# Collect diag pod logs
global nodeQdigl

1 ответ

Решение

Так что вы также должны проверить, чтобы стручки были в Running состояние (все контейнеры в пакете)

# wait for the pod 
check_pod_state("cos-plugin-diag")

Так, если у Pod есть 2 контейнера, например, вы должны проверить 2/2

Пример:

NAME                                                                 READY     STATUS    RESTARTS   AGE
calico-node-9wnst                                                    2/2       Running   0          6d

Другой аспект, который вам нужно проверить строку в файле журнала, которая определяет конец вашего журнала, и вы можете проверить его с помощью

kubectl logs <pod-name> -c <container-if-multiple-containers> -n <your-namespace>

Надеюсь, поможет

Другие вопросы по тегам