[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Signal Shutdown on Rolling Deployments



Hi Clayton, 

Many thanks for the quick response! Exactly what I was looking for. 

Frank 
Systems Engineer

VSee: frank vsee com | Cell: +65 9338 0035


On Thu, Sep 8, 2016 at 10:06 AM, Clayton Coleman <ccoleman redhat com> wrote:
All pods are notified via SIGTERM that they should shut down.  You can also register a pre-stop hook in the pod definition that is given a chance to run before SIGTERM is sent.  You must set a longer terminationGracePeriodSeconds if you need more than the default 30s:

$ oc explain pod.spec.terminationGracePeriodSeconds
FIELD: terminationGracePeriodSeconds <integer>

DESCRIPTION:
     Optional duration in seconds the pod needs to terminate gracefully. May be
     decreased in delete request. Value must be non-negative integer. The value
     zero indicates delete immediately. If this value is nil, the default grace
     period will be used instead. The grace period is the duration in seconds
     after the processes running in the pod are sent a termination signal and the
     time when the processes are forcibly halted with a kill signal. Set this
     value longer than the expected cleanup time for your process. Defaults to 30
     seconds.

$ oc explain pod.spec.containers.lifecycle.preStop
RESOURCE: preStop <Object>

DESCRIPTION:
     PreStop is called immediately before a container is terminated. The
     container is terminated after the handler completes. The reason for
     termination is passed to the handler. Regardless of the outcome of the
     handler, the container is eventually terminated. Other management of the
     container blocks until the hook completes. More info: http://
     releases.k8s.io/release-1.4/docs/user-guide/
     container-environment.md#hook-details/

    Handler defines a specific action that should be taken

FIELDS:
   tcpSocket   <Object>
     TCPSocket specifies an action involving a TCP port. TCP hooks not yet
     supported

   exec <Object>
     One and only one of the following should be specified. Exec specifies the
     action to take.

   httpGet     <Object>
     HTTPGet specifies the http request to perform.


Note that "other management of he container blocks until the hook completes" means other actions taken by kube against the pod.  The grace period still applies (you will be terminated after that duration).

On Wed, Sep 7, 2016 at 9:54 PM, Frank Liauw <frank vsee com> wrote:
Hi, 

I have a microservice that needs to be signalled before disposal (from say rolling deployments) so that it can shutdown gracefully. 

Is there a way to signal a pod that's impending for shutdown? 

Cheers

Frank 
Systems Engineer

_______________________________________________
users mailing list
users lists openshift redhat com
http://lists.openshift.redhat.com/openshiftmm/listinfo/users




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]