mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-28 22:17:14 +00:00
kubelet: Move pod infra container image setting to dockertools.
This commit is contained in:
parent
ca6f1a1bc7
commit
b868f421e0
@ -120,7 +120,7 @@ func NewKubeletServer() *KubeletServer {
|
||||
Address: util.IP(net.ParseIP("0.0.0.0")),
|
||||
Port: ports.KubeletPort,
|
||||
ReadOnlyPort: ports.KubeletReadOnlyPort,
|
||||
PodInfraContainerImage: kubelet.PodInfraContainerImage,
|
||||
PodInfraContainerImage: dockertools.PodInfraContainerImage,
|
||||
RootDirectory: defaultRootDir,
|
||||
RegistryBurst: 10,
|
||||
EnableDebuggingHandlers: true,
|
||||
@ -367,7 +367,7 @@ func SimpleKubelet(client *client.Client,
|
||||
HostnameOverride: hostname,
|
||||
RootDirectory: rootDir,
|
||||
ManifestURL: manifestURL,
|
||||
PodInfraContainerImage: kubelet.PodInfraContainerImage,
|
||||
PodInfraContainerImage: dockertools.PodInfraContainerImage,
|
||||
Port: port,
|
||||
Address: util.IP(net.ParseIP(address)),
|
||||
EnableServer: true,
|
||||
|
@ -40,8 +40,9 @@ import (
|
||||
)
|
||||
|
||||
const (
|
||||
PodInfraContainerName = leaky.PodInfraContainerName
|
||||
DockerPrefix = "docker://"
|
||||
PodInfraContainerName = leaky.PodInfraContainerName
|
||||
DockerPrefix = "docker://"
|
||||
PodInfraContainerImage = "gcr.io/google_containers/pause:0.8.0"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -396,7 +396,7 @@ func TestIsImagePresent(t *testing.T) {
|
||||
func TestGetRunningContainers(t *testing.T) {
|
||||
fakeDocker := &FakeDockerClient{}
|
||||
fakeRecorder := &record.FakeRecorder{}
|
||||
containerManager := NewDockerManager(fakeDocker, fakeRecorder)
|
||||
containerManager := NewDockerManager(fakeDocker, fakeRecorder, PodInfraContainerImage)
|
||||
tests := []struct {
|
||||
containers map[string]*docker.Container
|
||||
inputIDs []string
|
||||
|
@ -41,13 +41,16 @@ import (
|
||||
type DockerManager struct {
|
||||
client DockerInterface
|
||||
recorder record.EventRecorder
|
||||
// TODO(yifan): PodInfraContainerImage can be unexported once
|
||||
// we move createPodInfraContainer into dockertools.
|
||||
PodInfraContainerImage string
|
||||
}
|
||||
|
||||
// Ensures DockerManager implements ConatinerRunner.
|
||||
var _ kubecontainer.ContainerRunner = new(DockerManager)
|
||||
|
||||
func NewDockerManager(client DockerInterface, recorder record.EventRecorder) *DockerManager {
|
||||
return &DockerManager{client: client, recorder: recorder}
|
||||
func NewDockerManager(client DockerInterface, recorder record.EventRecorder, podInfraContainerImage string) *DockerManager {
|
||||
return &DockerManager{client: client, recorder: recorder, PodInfraContainerImage: podInfraContainerImage}
|
||||
}
|
||||
|
||||
// GetKubeletDockerContainerLogs returns logs of a specific container. By
|
||||
|
@ -201,7 +201,7 @@ func NewMainKubelet(
|
||||
return nil, fmt.Errorf("failed to initialize image manager: %v", err)
|
||||
}
|
||||
statusManager := newStatusManager(kubeClient)
|
||||
containerManager := dockertools.NewDockerManager(dockerClient, recorder)
|
||||
containerManager := dockertools.NewDockerManager(dockerClient, recorder, podInfraContainerImage)
|
||||
|
||||
klet := &Kubelet{
|
||||
hostname: hostname,
|
||||
@ -209,7 +209,6 @@ func NewMainKubelet(
|
||||
kubeClient: kubeClient,
|
||||
rootDirectory: rootDirectory,
|
||||
resyncInterval: resyncInterval,
|
||||
podInfraContainerImage: podInfraContainerImage,
|
||||
containerRefManager: kubecontainer.NewRefManager(),
|
||||
readinessManager: kubecontainer.NewReadinessManager(),
|
||||
runner: dockertools.NewDockerContainerCommandRunner(dockerClient),
|
||||
@ -277,15 +276,14 @@ type nodeLister interface {
|
||||
|
||||
// Kubelet is the main kubelet implementation.
|
||||
type Kubelet struct {
|
||||
hostname string
|
||||
dockerClient dockertools.DockerInterface
|
||||
dockerCache dockertools.DockerCache
|
||||
kubeClient client.Interface
|
||||
rootDirectory string
|
||||
podInfraContainerImage string
|
||||
podWorkers *podWorkers
|
||||
resyncInterval time.Duration
|
||||
sourcesReady SourcesReadyFn
|
||||
hostname string
|
||||
dockerClient dockertools.DockerInterface
|
||||
dockerCache dockertools.DockerCache
|
||||
kubeClient client.Interface
|
||||
rootDirectory string
|
||||
podWorkers *podWorkers
|
||||
resyncInterval time.Duration
|
||||
sourcesReady SourcesReadyFn
|
||||
|
||||
podManager podManager
|
||||
|
||||
@ -854,10 +852,6 @@ func (kl *Kubelet) killContainerByID(ID string) error {
|
||||
return err
|
||||
}
|
||||
|
||||
const (
|
||||
PodInfraContainerImage = "gcr.io/google_containers/pause:0.8.0"
|
||||
)
|
||||
|
||||
// Determined whether the specified pod is allowed to use host networking
|
||||
func allowHostNetwork(pod *api.Pod) (bool, error) {
|
||||
podSource, err := getPodSource(pod)
|
||||
@ -891,7 +885,7 @@ func (kl *Kubelet) createPodInfraContainer(pod *api.Pod) (dockertools.DockerID,
|
||||
|
||||
container := &api.Container{
|
||||
Name: dockertools.PodInfraContainerName,
|
||||
Image: kl.podInfraContainerImage,
|
||||
Image: kl.containerManager.PodInfraContainerImage,
|
||||
Ports: ports,
|
||||
}
|
||||
ref, err := kubecontainer.GenerateContainerRef(pod, container)
|
||||
|
@ -113,7 +113,7 @@ func newTestKubelet(t *testing.T) *TestKubelet {
|
||||
podManager, fakeMirrorClient := newFakePodManager()
|
||||
kubelet.podManager = podManager
|
||||
kubelet.containerRefManager = kubecontainer.NewRefManager()
|
||||
kubelet.containerManager = dockertools.NewDockerManager(fakeDocker, fakeRecorder)
|
||||
kubelet.containerManager = dockertools.NewDockerManager(fakeDocker, fakeRecorder, dockertools.PodInfraContainerImage)
|
||||
return &TestKubelet{kubelet, fakeDocker, mockCadvisor, fakeKubeClient, waitGroup, fakeMirrorClient}
|
||||
}
|
||||
|
||||
@ -539,7 +539,7 @@ func TestSyncPodsCreatesNetAndContainer(t *testing.T) {
|
||||
kubelet := testKubelet.kubelet
|
||||
fakeDocker := testKubelet.fakeDocker
|
||||
waitGroup := testKubelet.waitGroup
|
||||
kubelet.podInfraContainerImage = "custom_image_name"
|
||||
kubelet.containerManager.PodInfraContainerImage = "custom_image_name"
|
||||
fakeDocker.ContainerList = []docker.APIContainers{}
|
||||
pods := []api.Pod{
|
||||
{
|
||||
@ -594,7 +594,7 @@ func TestSyncPodsCreatesNetAndContainerPullsImage(t *testing.T) {
|
||||
waitGroup := testKubelet.waitGroup
|
||||
puller := kubelet.dockerPuller.(*dockertools.FakeDockerPuller)
|
||||
puller.HasImages = []string{}
|
||||
kubelet.podInfraContainerImage = "custom_image_name"
|
||||
kubelet.containerManager.PodInfraContainerImage = "custom_image_name"
|
||||
fakeDocker.ContainerList = []docker.APIContainers{}
|
||||
pods := []api.Pod{
|
||||
{
|
||||
@ -1653,7 +1653,7 @@ func TestSyncPodsWithPullPolicy(t *testing.T) {
|
||||
waitGroup := testKubelet.waitGroup
|
||||
puller := kubelet.dockerPuller.(*dockertools.FakeDockerPuller)
|
||||
puller.HasImages = []string{"existing_one", "want:latest"}
|
||||
kubelet.podInfraContainerImage = "custom_image_name"
|
||||
kubelet.containerManager.PodInfraContainerImage = "custom_image_name"
|
||||
fakeDocker.ContainerList = []docker.APIContainers{}
|
||||
|
||||
pods := []api.Pod{
|
||||
@ -2728,13 +2728,14 @@ func TestPortForward(t *testing.T) {
|
||||
var port uint16 = 5000
|
||||
stream := &fakeReadWriteCloser{}
|
||||
|
||||
podInfraContainerImage := "POD"
|
||||
infraContainerID := "infra"
|
||||
kubelet.podInfraContainerImage = "POD"
|
||||
kubelet.containerManager.PodInfraContainerImage = podInfraContainerImage
|
||||
|
||||
fakeDocker.ContainerList = []docker.APIContainers{
|
||||
{
|
||||
ID: infraContainerID,
|
||||
Names: []string{"/k8s_" + kubelet.podInfraContainerImage + "_" + podName + "_" + podNamespace + "_12345678_42"},
|
||||
Names: []string{"/k8s_" + podInfraContainerImage + "_" + podName + "_" + podNamespace + "_12345678_42"},
|
||||
},
|
||||
{
|
||||
ID: containerID,
|
||||
|
@ -145,7 +145,7 @@ func TestRunOnce(t *testing.T) {
|
||||
t: t,
|
||||
}
|
||||
kb.dockerPuller = &dockertools.FakeDockerPuller{}
|
||||
kb.containerManager = dockertools.NewDockerManager(kb.dockerClient, kb.recorder)
|
||||
kb.containerManager = dockertools.NewDockerManager(kb.dockerClient, kb.recorder, dockertools.PodInfraContainerImage)
|
||||
|
||||
pods := []api.Pod{
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user