что происходит с текущей транзакцией, когда контейнер kubernetes выходит из строя - PullRequest
0 голосов
/ 03 августа 2020

У меня распределенный планировщик. Теперь мне нужно выбрать запись и обработать ее. В моем случае я создам транзакцию и обработаю запись.

Теперь предположим, что во время самой обработки контейнер Kubernetes выходит из строя. В этом случае, что произойдет, он снимет блокировку и откатит транзакцию

1 Ответ

1 голос
/ 03 августа 2020

Когда модуль должен быть завершен:

Сигнал SIGTERM отправляется основному процессу (PID 1) в каждом контейнере, и начинается обратный отсчет «льготного периода» (по умолчанию 30 секунд - см. Ниже, чтобы измените его).

После получения SIGTERM каждый контейнер должен начать постепенное завершение работы запущенного приложения и выйти.

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

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
    name: test
spec:
    replicas: 1
    template:
        spec:
            containers:
              - name: test
                image: ...
            terminationGracePeriodSeconds: 60

Итак, в вашем приложении весенней загрузки вам необходимо обработать сигнал SIGTERM и откатить любую транзакцию или сохранить ее снаружи, чтобы повторить попытку позже.

...