У меня есть концепция для вас, но вам нужно добавить какую-то часть в вашу программу.Посмотрите на readinessProbe
.
readinessProbe
: Указывает, готов ли Контейнер к запросам на обслуживание.В случае сбоя проверки готовности контроллер конечных точек удаляет IP-адрес модуля из конечных точек всех служб, соответствующих модулю.Состояние готовности по умолчанию до начальной задержки - Failure
.Если контейнер не обеспечивает проверку готовности, состояние по умолчанию: Success
.
. Это пример конфигурации, вы также можете использовать сокет TCP
readinessProbe:
httpGet:
path: /healthz
port: 8181
initialDelaySeconds: 5
periodSeconds: 5
Когда GC запускаетсявы перестаете отвечать по пути /healthz
, и kubelet помечает стручок как нездоровый и ждете, пока он снова не станет здоровым, в вашем случае это будет, когда GC завершит работу.