mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-04 09:49:50 +00:00
Add client version.
This commit is contained in:
parent
2941069307
commit
08d74f33f6
@ -126,7 +126,7 @@ func UnsecuredKubeletDeps(s *options.KubeletServer) (*kubelet.KubeletDeps, error
|
|||||||
|
|
||||||
var dockerClient dockertools.DockerInterface
|
var dockerClient dockertools.DockerInterface
|
||||||
if s.ContainerRuntime == "docker" {
|
if s.ContainerRuntime == "docker" {
|
||||||
dockerClient = dockertools.CreateDockerClientOrDie(s.DockerEndpoint, s.RuntimeRequestTimeout.Duration)
|
dockerClient = dockertools.ConnectToDockerOrDie(s.DockerEndpoint, s.RuntimeRequestTimeout.Duration)
|
||||||
} else {
|
} else {
|
||||||
dockerClient = nil
|
dockerClient = nil
|
||||||
}
|
}
|
||||||
|
@ -184,7 +184,7 @@ func TestExecutorLaunchAndKillTask(t *testing.T) {
|
|||||||
mockDriver = &MockExecutorDriver{}
|
mockDriver = &MockExecutorDriver{}
|
||||||
registry = newFakeRegistry()
|
registry = newFakeRegistry()
|
||||||
executor = New(Config{
|
executor = New(Config{
|
||||||
Docker: dockertools.CreateDockerClientOrDie("fake://", 0),
|
Docker: dockertools.ConnectToDockerOrDie("fake://", 0),
|
||||||
NodeInfos: make(chan NodeInfo, 1),
|
NodeInfos: make(chan NodeInfo, 1),
|
||||||
Registry: registry,
|
Registry: registry,
|
||||||
})
|
})
|
||||||
@ -388,7 +388,7 @@ func TestExecutorFrameworkMessage(t *testing.T) {
|
|||||||
kubeletFinished = make(chan struct{})
|
kubeletFinished = make(chan struct{})
|
||||||
registry = newFakeRegistry()
|
registry = newFakeRegistry()
|
||||||
executor = New(Config{
|
executor = New(Config{
|
||||||
Docker: dockertools.CreateDockerClientOrDie("fake://", 0),
|
Docker: dockertools.ConnectToDockerOrDie("fake://", 0),
|
||||||
NodeInfos: make(chan NodeInfo, 1),
|
NodeInfos: make(chan NodeInfo, 1),
|
||||||
ShutdownAlert: func() {
|
ShutdownAlert: func() {
|
||||||
close(kubeletFinished)
|
close(kubeletFinished)
|
||||||
@ -585,7 +585,7 @@ func TestExecutorShutdown(t *testing.T) {
|
|||||||
kubeletFinished = make(chan struct{})
|
kubeletFinished = make(chan struct{})
|
||||||
exitCalled = int32(0)
|
exitCalled = int32(0)
|
||||||
executor = New(Config{
|
executor = New(Config{
|
||||||
Docker: dockertools.CreateDockerClientOrDie("fake://", 0),
|
Docker: dockertools.ConnectToDockerOrDie("fake://", 0),
|
||||||
NodeInfos: make(chan NodeInfo, 1),
|
NodeInfos: make(chan NodeInfo, 1),
|
||||||
ShutdownAlert: func() {
|
ShutdownAlert: func() {
|
||||||
close(kubeletFinished)
|
close(kubeletFinished)
|
||||||
|
@ -75,7 +75,7 @@ func (m *MockExecutorDriver) SendFrameworkMessage(msg string) (mesosproto.Status
|
|||||||
|
|
||||||
func NewTestKubernetesExecutor() *Executor {
|
func NewTestKubernetesExecutor() *Executor {
|
||||||
return New(Config{
|
return New(Config{
|
||||||
Docker: dockertools.CreateDockerClientOrDie("fake://", 0),
|
Docker: dockertools.ConnectToDockerOrDie("fake://", 0),
|
||||||
Registry: newFakeRegistry(),
|
Registry: newFakeRegistry(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -108,7 +108,7 @@ func (s *KubeletExecutorServer) runExecutor(
|
|||||||
exec := executor.New(executor.Config{
|
exec := executor.New(executor.Config{
|
||||||
Registry: registry,
|
Registry: registry,
|
||||||
APIClient: apiclient,
|
APIClient: apiclient,
|
||||||
Docker: dockertools.CreateDockerClientOrDie(s.DockerEndpoint, 0),
|
Docker: dockertools.ConnectToDockerOrDie(s.DockerEndpoint, 0),
|
||||||
SuicideTimeout: s.SuicideTimeout,
|
SuicideTimeout: s.SuicideTimeout,
|
||||||
KubeletFinished: kubeletFinished,
|
KubeletFinished: kubeletFinished,
|
||||||
ExitFunc: os.Exit,
|
ExitFunc: os.Exit,
|
||||||
|
@ -378,13 +378,13 @@ func getDockerClient(dockerEndpoint string) (*dockerapi.Client, error) {
|
|||||||
return dockerapi.NewEnvClient()
|
return dockerapi.NewEnvClient()
|
||||||
}
|
}
|
||||||
|
|
||||||
// CreateDockerClientOrDie creates a docker client for connecting to the docker daemon.
|
// ConnectToDockerOrDie creates docker client connecting to docker daemon.
|
||||||
// It does not actually try to connect to the docker daemon!
|
// If the endpoint passed in is "fake://", a fake docker client
|
||||||
// requestTimeout is the timeout for docker requests.
|
// will be returned. The program exits if error occurs. The requestTimeout
|
||||||
// If requestTimeout=0, a default value is used instead.
|
// is the timeout for docker requests. If timeout is exceeded, the request
|
||||||
// Pass dockerEndpoint="fake://" to create a fake docker client.
|
// will be cancelled and throw out an error. If requestTimeout is 0, a default
|
||||||
// Errors during client creation will cause program termination.
|
// value will be applied.
|
||||||
func CreateDockerClientOrDie(dockerEndpoint string, requestTimeout time.Duration) DockerInterface {
|
func ConnectToDockerOrDie(dockerEndpoint string, requestTimeout time.Duration) DockerInterface {
|
||||||
if dockerEndpoint == "fake://" {
|
if dockerEndpoint == "fake://" {
|
||||||
return NewFakeDockerClient()
|
return NewFakeDockerClient()
|
||||||
}
|
}
|
||||||
|
@ -87,10 +87,21 @@ func newKubeDockerClient(dockerClient *dockerapi.Client, requestTimeout time.Dur
|
|||||||
if requestTimeout == 0 {
|
if requestTimeout == 0 {
|
||||||
requestTimeout = defaultTimeout
|
requestTimeout = defaultTimeout
|
||||||
}
|
}
|
||||||
return &kubeDockerClient{
|
|
||||||
|
k := &kubeDockerClient{
|
||||||
client: dockerClient,
|
client: dockerClient,
|
||||||
timeout: requestTimeout,
|
timeout: requestTimeout,
|
||||||
}
|
}
|
||||||
|
// Notice that this assumes that docker is running before kubelet is started.
|
||||||
|
v, err := k.Version()
|
||||||
|
if err != nil {
|
||||||
|
glog.Errorf("failed to retrieve docker version: %v", err)
|
||||||
|
glog.Warningf("Using empty version for docker client, this may sometimes cause compatibility issue.")
|
||||||
|
} else {
|
||||||
|
// Update client version with real api version.
|
||||||
|
dockerClient.UpdateClientVersion(v.APIVersion)
|
||||||
|
}
|
||||||
|
return k
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *kubeDockerClient) ListContainers(options dockertypes.ContainerListOptions) ([]dockertypes.Container, error) {
|
func (d *kubeDockerClient) ListContainers(options dockertypes.ContainerListOptions) ([]dockertypes.Container, error) {
|
||||||
|
@ -40,7 +40,7 @@ func NewConformanceImage(containerRuntime string, image string) (ci ConformanceI
|
|||||||
|
|
||||||
//TODO: do not expose kubelet implementation details after we refactor the runtime API.
|
//TODO: do not expose kubelet implementation details after we refactor the runtime API.
|
||||||
func dockerRuntime() kubecontainer.Runtime {
|
func dockerRuntime() kubecontainer.Runtime {
|
||||||
dockerClient := dockertools.CreateDockerClientOrDie("", 0)
|
dockerClient := dockertools.ConnectToDockerOrDie("", 0)
|
||||||
pm := kubepod.NewBasicPodManager(nil)
|
pm := kubepod.NewBasicPodManager(nil)
|
||||||
dm := dockertools.NewDockerManager(
|
dm := dockertools.NewDockerManager(
|
||||||
dockerClient,
|
dockerClient,
|
||||||
|
Loading…
Reference in New Issue
Block a user