You should use a readiness check (http://kubernetes.io/v1.0/docs/user-guide/production-pods.html#liveness-and-readiness-probes-aka-health-checks)
that transitions the Pod to "not ready" after you receive a SIGTERM
Once that happens, the service will remove the Pod from serving, prior to the delete.
(without a readiness check the Service simply doesn't know that the pod doesn't exist, until it is actually deleted)
You may also want to use a PreStop hook that sets readiness to false, and then drains all existing requests. PreStop hooks are called synchronously prior to a Pod being deleted and they are described here: