kubelet: make dockershim.sock configurable

Make the location of dockershim.sock configurable, so downstream
projects (such as OpenShift) can place it in a location that does not
require root access (e.g. for integration tests).

Make the kubelet respect and use the values of
--container-runtime-endpoint and --image-service-endpoint, if set. If
unset, the default value of /var/run/dockershim.sock is used.
This commit is contained in:
Andy Goldstein 2017-04-05 16:01:19 -04:00
parent 577a0e82c1
commit 010b71a5f7

View File

@ -568,10 +568,15 @@ func NewMainKubelet(kubeCfg *componentconfig.KubeletConfiguration, kubeDeps *Kub
// The unix socket for kubelet <-> dockershim communication.
ep = "/var/run/dockershim.sock"
)
kubeCfg.RemoteRuntimeEndpoint, kubeCfg.RemoteImageEndpoint = ep, ep
if len(kubeCfg.RemoteRuntimeEndpoint) == 0 {
kubeCfg.RemoteRuntimeEndpoint = ep
}
if len(kubeCfg.RemoteImageEndpoint) == 0 {
kubeCfg.RemoteImageEndpoint = ep
}
glog.V(2).Infof("Starting the GRPC server for the docker CRI shim.")
server := dockerremote.NewDockerServer(ep, ds)
server := dockerremote.NewDockerServer(kubeCfg.RemoteRuntimeEndpoint, ds)
if err := server.Start(); err != nil {
return nil, err
}