Pour un graceful shutdown de nginx, il faut un SIGQUIT
Kubernetes envoie du SIGTERM alors on peut utiliser un preStop script pour être + cool
https://kubernetes.io/docs/tasks/configure-pod-container/attach-handler-lifecycle-event/#define-poststart-and-prestop-handlers
On peut aussi utiliser le preStop pour s'assuret que le container nginx sidecar s'arrête bien avant l'autre container en posant un lock dans un shared volume. Le preStop de l'autre container va attendre que le lock soit supprimé pour se couper. Le preStop du nginx va supprimer le lock quand il a bien terminé.
On crée le lock dans un postStart
via Meetup k8s bbc speaker
Très intéressant l'algo utilisé par nginx pour choisir le bloc server et ensuite le bloc location. Je me demande si il existe des astuces pour debug en cas de problèmes... (comment savoir dans quel(s) bloc(s) passe une request ?)
Un truc important :
During searching for a virtual server by name, if the name matches more than one of the specified variants, (e.g. both a wildcard name and regular expression match), the first matching variant will be chosen, in the following order of priority:
the exact name
the longest wildcard name starting with an asterisk, e.g. “*.example.com”
the longest wildcard name ending with an asterisk, e.g. “mail.*”
the first matching regular expression (in order of appearance in the configuration file)
Un lb en Go qui peut "surveiller" les backends comme Docker par exemple pour update sa conf
The need for X-Accel-Redirect (and it’s sibling X-Sendfile) comes from two distinct requirements
The need to deliver large files.
The need for those files to not be available to the public.