Use the systemd $NOTIFY_SOCKET convention for kube-apiserver
startup. This allows it to be part of dependency trees and for
consumers to wait until it is listening on its ports.
The $NOTIFY_SOCKET protocol is described here:
http://www.freedesktop.org/software/systemd/man/sd_notify.html
Currently this is limited to the kube-apiserver process. Other
kube processes are internal kubernetes moving points. The API
server is the entry point relied on by callers.
100% stolen from Stef Walter from:
https://github.com/GoogleCloudPlatform/kubernetes/pull/8316
From the systemd man page:
Use "${FOO}" as part of a word, or as a word of its own, on the command
line, in which case it will be
replaced by the value of the environment variable including
all whitespace it contains, resulting in a single argument.
Use "$FOO" as a separate word on the
command line, in which case it will be replaced
by the value of the environment variable split at
whitespace, resulting in zero or more arguments.
Since we want people to be able to use these for multiple arguments we
need to make sure we don't use {} around the env vars...
The example systemd services files, environment files, and the fedora
manual config doc all used numerous references to minion_. Many of
these are better named kubelet_. Convert them.