mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-23 19:56:01 +00:00
Merge pull request #23059 from luxas/auto_arch_pause
Automatic merge from submit-queue Make kubelet use an arch-specific pause image depending on GOARCH Related to: #22876, #22683 and #15140 @ixdy @pwittrock @brendandburns @mikedanese @yujuhong @thockin @zmerlynn
This commit is contained in:
commit
2a690cc5e2
@ -19,6 +19,7 @@ package options
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
_ "net/http/pprof"
|
_ "net/http/pprof"
|
||||||
|
"runtime"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
@ -36,8 +37,20 @@ import (
|
|||||||
const (
|
const (
|
||||||
defaultRootDir = "/var/lib/kubelet"
|
defaultRootDir = "/var/lib/kubelet"
|
||||||
experimentalFlannelOverlay = false
|
experimentalFlannelOverlay = false
|
||||||
|
|
||||||
|
defaultPodInfraContainerImageName = "gcr.io/google_containers/pause"
|
||||||
|
defaultPodInfraContainerImageVersion = "2.0"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Returns the arch-specific pause image that kubelet should use as the default
|
||||||
|
func GetDefaultPodInfraContainerImage() string {
|
||||||
|
if runtime.GOARCH == "amd64" {
|
||||||
|
return defaultPodInfraContainerImageName + ":" + defaultPodInfraContainerImageVersion
|
||||||
|
} else {
|
||||||
|
return defaultPodInfraContainerImageName + "-" + runtime.GOARCH + ":" + defaultPodInfraContainerImageVersion
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// KubeletServer encapsulates all of the parameters necessary for starting up
|
// KubeletServer encapsulates all of the parameters necessary for starting up
|
||||||
// a kubelet. These can either be set via command line or directly.
|
// a kubelet. These can either be set via command line or directly.
|
||||||
type KubeletServer struct {
|
type KubeletServer struct {
|
||||||
@ -105,7 +118,7 @@ func NewKubeletServer() *KubeletServer {
|
|||||||
NodeLabels: make(map[string]string),
|
NodeLabels: make(map[string]string),
|
||||||
OOMScoreAdj: qos.KubeletOOMScoreAdj,
|
OOMScoreAdj: qos.KubeletOOMScoreAdj,
|
||||||
LockFilePath: "",
|
LockFilePath: "",
|
||||||
PodInfraContainerImage: kubetypes.PodInfraContainerImage,
|
PodInfraContainerImage: GetDefaultPodInfraContainerImage(),
|
||||||
Port: ports.KubeletPort,
|
Port: ports.KubeletPort,
|
||||||
ReadOnlyPort: ports.KubeletReadOnlyPort,
|
ReadOnlyPort: ports.KubeletReadOnlyPort,
|
||||||
RegisterNode: true, // will be ignored if no apiserver is configured
|
RegisterNode: true, // will be ignored if no apiserver is configured
|
||||||
|
@ -553,7 +553,7 @@ func SimpleKubelet(client *clientset.Clientset,
|
|||||||
NodeStatusUpdateFrequency: nodeStatusUpdateFrequency,
|
NodeStatusUpdateFrequency: nodeStatusUpdateFrequency,
|
||||||
OOMAdjuster: oom.NewFakeOOMAdjuster(),
|
OOMAdjuster: oom.NewFakeOOMAdjuster(),
|
||||||
OSInterface: osInterface,
|
OSInterface: osInterface,
|
||||||
PodInfraContainerImage: kubetypes.PodInfraContainerImage,
|
PodInfraContainerImage: options.GetDefaultPodInfraContainerImage(),
|
||||||
Port: port,
|
Port: port,
|
||||||
ReadOnlyPort: readOnlyPort,
|
ReadOnlyPort: readOnlyPort,
|
||||||
RegisterNode: true,
|
RegisterNode: true,
|
||||||
|
@ -29,6 +29,7 @@ import (
|
|||||||
"github.com/docker/docker/pkg/jsonmessage"
|
"github.com/docker/docker/pkg/jsonmessage"
|
||||||
docker "github.com/fsouza/go-dockerclient"
|
docker "github.com/fsouza/go-dockerclient"
|
||||||
cadvisorapi "github.com/google/cadvisor/info/v1"
|
cadvisorapi "github.com/google/cadvisor/info/v1"
|
||||||
|
"k8s.io/kubernetes/cmd/kubelet/app/options"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/client/record"
|
"k8s.io/kubernetes/pkg/client/record"
|
||||||
"k8s.io/kubernetes/pkg/credentialprovider"
|
"k8s.io/kubernetes/pkg/credentialprovider"
|
||||||
@ -36,7 +37,6 @@ import (
|
|||||||
containertest "k8s.io/kubernetes/pkg/kubelet/container/testing"
|
containertest "k8s.io/kubernetes/pkg/kubelet/container/testing"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/network"
|
"k8s.io/kubernetes/pkg/kubelet/network"
|
||||||
nettest "k8s.io/kubernetes/pkg/kubelet/network/testing"
|
nettest "k8s.io/kubernetes/pkg/kubelet/network/testing"
|
||||||
kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
|
|
||||||
"k8s.io/kubernetes/pkg/types"
|
"k8s.io/kubernetes/pkg/types"
|
||||||
hashutil "k8s.io/kubernetes/pkg/util/hash"
|
hashutil "k8s.io/kubernetes/pkg/util/hash"
|
||||||
"k8s.io/kubernetes/pkg/util/parsers"
|
"k8s.io/kubernetes/pkg/util/parsers"
|
||||||
@ -707,7 +707,7 @@ func TestFindContainersByPod(t *testing.T) {
|
|||||||
fakeClient := &FakeDockerClient{}
|
fakeClient := &FakeDockerClient{}
|
||||||
np, _ := network.InitNetworkPlugin([]network.NetworkPlugin{}, "", nettest.NewFakeHost(nil))
|
np, _ := network.InitNetworkPlugin([]network.NetworkPlugin{}, "", nettest.NewFakeHost(nil))
|
||||||
// image back-off is set to nil, this test should not pull images
|
// image back-off is set to nil, this test should not pull images
|
||||||
containerManager := NewFakeDockerManager(fakeClient, &record.FakeRecorder{}, nil, nil, &cadvisorapi.MachineInfo{}, kubetypes.PodInfraContainerImage, 0, 0, "", containertest.FakeOS{}, np, nil, nil, nil)
|
containerManager := NewFakeDockerManager(fakeClient, &record.FakeRecorder{}, nil, nil, &cadvisorapi.MachineInfo{}, options.GetDefaultPodInfraContainerImage(), 0, 0, "", containertest.FakeOS{}, np, nil, nil, nil)
|
||||||
for i, test := range tests {
|
for i, test := range tests {
|
||||||
fakeClient.ContainerList = test.containerList
|
fakeClient.ContainerList = test.containerList
|
||||||
fakeClient.ExitedContainerList = test.exitedContainerList
|
fakeClient.ExitedContainerList = test.exitedContainerList
|
||||||
|
@ -32,6 +32,7 @@ import (
|
|||||||
docker "github.com/fsouza/go-dockerclient"
|
docker "github.com/fsouza/go-dockerclient"
|
||||||
cadvisorapi "github.com/google/cadvisor/info/v1"
|
cadvisorapi "github.com/google/cadvisor/info/v1"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
"k8s.io/kubernetes/cmd/kubelet/app/options"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/api/testapi"
|
"k8s.io/kubernetes/pkg/api/testapi"
|
||||||
"k8s.io/kubernetes/pkg/client/record"
|
"k8s.io/kubernetes/pkg/client/record"
|
||||||
@ -40,7 +41,6 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/kubelet/network"
|
"k8s.io/kubernetes/pkg/kubelet/network"
|
||||||
nettest "k8s.io/kubernetes/pkg/kubelet/network/testing"
|
nettest "k8s.io/kubernetes/pkg/kubelet/network/testing"
|
||||||
proberesults "k8s.io/kubernetes/pkg/kubelet/prober/results"
|
proberesults "k8s.io/kubernetes/pkg/kubelet/prober/results"
|
||||||
kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
|
|
||||||
"k8s.io/kubernetes/pkg/runtime"
|
"k8s.io/kubernetes/pkg/runtime"
|
||||||
"k8s.io/kubernetes/pkg/types"
|
"k8s.io/kubernetes/pkg/types"
|
||||||
"k8s.io/kubernetes/pkg/util"
|
"k8s.io/kubernetes/pkg/util"
|
||||||
@ -95,7 +95,7 @@ func newTestDockerManagerWithHTTPClientWithVersion(fakeHTTPClient *fakeHTTP, ver
|
|||||||
proberesults.NewManager(),
|
proberesults.NewManager(),
|
||||||
containerRefManager,
|
containerRefManager,
|
||||||
&cadvisorapi.MachineInfo{},
|
&cadvisorapi.MachineInfo{},
|
||||||
kubetypes.PodInfraContainerImage,
|
options.GetDefaultPodInfraContainerImage(),
|
||||||
0, 0, "",
|
0, 0, "",
|
||||||
containertest.FakeOS{},
|
containertest.FakeOS{},
|
||||||
networkPlugin,
|
networkPlugin,
|
||||||
@ -572,7 +572,7 @@ func generatePodInfraContainerHash(pod *api.Pod) uint64 {
|
|||||||
|
|
||||||
container := &api.Container{
|
container := &api.Container{
|
||||||
Name: PodInfraContainerName,
|
Name: PodInfraContainerName,
|
||||||
Image: kubetypes.PodInfraContainerImage,
|
Image: options.GetDefaultPodInfraContainerImage(),
|
||||||
Ports: ports,
|
Ports: ports,
|
||||||
ImagePullPolicy: podInfraContainerImagePullPolicy,
|
ImagePullPolicy: podInfraContainerImagePullPolicy,
|
||||||
}
|
}
|
||||||
|
@ -33,6 +33,7 @@ import (
|
|||||||
docker "github.com/fsouza/go-dockerclient"
|
docker "github.com/fsouza/go-dockerclient"
|
||||||
cadvisorapi "github.com/google/cadvisor/info/v1"
|
cadvisorapi "github.com/google/cadvisor/info/v1"
|
||||||
|
|
||||||
|
"k8s.io/kubernetes/cmd/kubelet/app/options"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
"k8s.io/kubernetes/pkg/client/record"
|
"k8s.io/kubernetes/pkg/client/record"
|
||||||
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
|
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
|
||||||
@ -41,7 +42,6 @@ import (
|
|||||||
"k8s.io/kubernetes/pkg/kubelet/network"
|
"k8s.io/kubernetes/pkg/kubelet/network"
|
||||||
nettest "k8s.io/kubernetes/pkg/kubelet/network/testing"
|
nettest "k8s.io/kubernetes/pkg/kubelet/network/testing"
|
||||||
proberesults "k8s.io/kubernetes/pkg/kubelet/prober/results"
|
proberesults "k8s.io/kubernetes/pkg/kubelet/prober/results"
|
||||||
kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
|
|
||||||
utiltesting "k8s.io/kubernetes/pkg/util/testing"
|
utiltesting "k8s.io/kubernetes/pkg/util/testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -152,7 +152,7 @@ func newTestDockerManager() (*dockertools.DockerManager, *dockertools.FakeDocker
|
|||||||
proberesults.NewManager(),
|
proberesults.NewManager(),
|
||||||
containerRefManager,
|
containerRefManager,
|
||||||
&cadvisorapi.MachineInfo{},
|
&cadvisorapi.MachineInfo{},
|
||||||
kubetypes.PodInfraContainerImage,
|
options.GetDefaultPodInfraContainerImage(),
|
||||||
0, 0, "",
|
0, 0, "",
|
||||||
containertest.FakeOS{},
|
containertest.FakeOS{},
|
||||||
networkPlugin,
|
networkPlugin,
|
||||||
|
@ -17,7 +17,6 @@ limitations under the License.
|
|||||||
package types
|
package types
|
||||||
|
|
||||||
const (
|
const (
|
||||||
PodInfraContainerImage = "gcr.io/google_containers/pause:2.0"
|
|
||||||
// system default DNS resolver configuration
|
// system default DNS resolver configuration
|
||||||
ResolvConfDefault = "/etc/resolv.conf"
|
ResolvConfDefault = "/etc/resolv.conf"
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user