Merge pull request #98205 from pacoxu/build/pauses

update pause image to 3.4.1 and also update the change log
This commit is contained in:
Kubernetes Prow Robot 2021-02-08 18:20:58 -08:00 committed by GitHub
commit 2b7c61b1bb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
58 changed files with 89 additions and 146 deletions

View File

@ -160,9 +160,9 @@ dependencies:
match: TAG =
- name: "k8s.gcr.io/pause: dependents"
version: 3.2
version: 3.4.1
refPaths:
- path: cmd/kubeadm/app/constants/constants_unix.go
- path: cmd/kubeadm/app/constants/constants.go
match: PauseVersion\s+=
- path: cmd/kubeadm/app/util/template_test.go
match: validTmpl\s+=
@ -209,7 +209,7 @@ dependencies:
- path: test/utils/runners.go
match: k8s.gcr.io\/pause:\d+\.\d+
- path: test/utils/image/manifest.go
match: configs\[Pause\] = Config{gcRegistry, "pause", "\d+\.\d+"}
match: configs\[Pause\] = Config{gcRegistry, "pause", "\d+\.\d+.\d+"}
# metadata-concealment: bump this one first
- name: "metadata-concealment"

View File

@ -1,3 +1,15 @@
# 3.4.1
* Support for Windows container images (OS Versions: 20H2) was added.([#97322](https://prs.k8s.io/97322), [@claudiubelu](https://github.com/claudiubelu))
# 3.4
* Support for Windows container images (OS Versions: 1809, 1903, 1909, 2004) was added. ([#91452](https://prs.k8s.io/91452), [@claudiubelu](https://github.com/claudiubelu))
# 3.3
* update debian-base version to v2.1.0 ([#90665](https://prs.k8s.io/90665), [@justaugustus]
# 3.2
* The pause container is built with the correct "Architecture" metadata. ([#87954](https://prs.k8s.io/87954), [@BenTheElder](https://github.com/BenTheElder))

View File

@ -158,7 +158,7 @@ export WINDOWS_BOOTSTRAP_KUBECONFIG_FILE="${WINDOWS_K8S_DIR}\kubelet.bootstrap-k
# Path for kube-proxy kubeconfig file on Windows nodes.
export WINDOWS_KUBEPROXY_KUBECONFIG_FILE="${WINDOWS_K8S_DIR}\kubeproxy.kubeconfig"
# Pause container image for Windows container.
export WINDOWS_INFRA_CONTAINER="gcr.io/gke-release/pause-win:1.5.1"
export WINDOWS_INFRA_CONTAINER="k8s.gcr.io/pause:3.4.1"
# Storage Path for csi-proxy. csi-proxy only needs to be installed for Windows.
export CSI_PROXY_STORAGE_PATH="https://storage.googleapis.com/gke-release/csi-proxy"
# Version for csi-proxy

View File

@ -358,7 +358,7 @@ spec:
spec:
containers:
- name: pause-win
image: gcr.io/gke-release/pause-win:1.5.1
image: k8s.gcr.io/pause:3.4.1
nodeSelector:
kubernetes.io/os: windows
tolerations:

View File

@ -414,6 +414,9 @@ const (
ModeRBAC string = "RBAC"
// ModeNode is an authorization mode that authorizes API requests made by kubelets.
ModeNode string = "Node"
// PauseVersion indicates the default pause image version for kubeadm
PauseVersion = "3.4.1"
)
var (

View File

@ -21,7 +21,4 @@ package constants
const (
// DefaultDockerCRISocket defines the default Docker CRI socket
DefaultDockerCRISocket = "/var/run/dockershim.sock"
// PauseVersion indicates the default pause image version for kubeadm
PauseVersion = "3.2"
)

View File

@ -21,7 +21,4 @@ package constants
const (
// DefaultDockerCRISocket defines the default Docker CRI socket
DefaultDockerCRISocket = "npipe:////./pipe/docker_engine"
// PauseVersion indicates the default pause image version for kubeadm
PauseVersion = "1.4.0"
)

View File

@ -8,23 +8,14 @@ load(
go_library(
name = "go_default_library",
srcs = [
"images.go",
"images_unix.go",
"images_windows.go",
],
srcs = ["images.go"],
importpath = "k8s.io/kubernetes/cmd/kubeadm/app/images",
deps = [
"//cmd/kubeadm/app/apis/kubeadm:go_default_library",
"//cmd/kubeadm/app/constants:go_default_library",
"//cmd/kubeadm/app/util:go_default_library",
"//vendor/k8s.io/klog/v2:go_default_library",
] + select({
"@io_bazel_rules_go//go/platform:windows": [
"//cmd/kubeadm/app/apis/kubeadm/v1beta2:go_default_library",
],
"//conditions:default": [],
}),
)
go_test(

View File

@ -121,3 +121,8 @@ func GetControlPlaneImages(cfg *kubeadmapi.ClusterConfiguration) []string {
return imgs
}
// GetPauseImage returns the image for the "pause" container
func GetPauseImage(cfg *kubeadmapi.ClusterConfiguration) string {
return GetGenericImage(cfg.ImageRepository, "pause", constants.PauseVersion)
}

View File

@ -1,29 +0,0 @@
// +build !windows
/*
Copyright 2020 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package images
import (
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
)
// GetPauseImage returns the image for the "pause" container
func GetPauseImage(cfg *kubeadmapi.ClusterConfiguration) string {
return GetGenericImage(cfg.ImageRepository, "pause", constants.PauseVersion)
}

View File

@ -1,34 +0,0 @@
// +build windows
/*
Copyright 2020 The Kubernetes Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package images
import (
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
kubeadmapiv1beta2 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1beta2"
"k8s.io/kubernetes/cmd/kubeadm/app/constants"
)
// GetPauseImage returns the image for the "pause" container
func GetPauseImage(cfg *kubeadmapi.ClusterConfiguration) string {
//If user has configured the cluster to use a different image repository, use that for the Windows pause image.
if cfg.ImageRepository != kubeadmapiv1beta2.DefaultImageRepository {
return GetGenericImage(cfg.ImageRepository, "pause", constants.PauseVersion)
}
return GetGenericImage("mcr.microsoft.com/oss/kubernetes", "pause", constants.PauseVersion)
}

View File

@ -119,11 +119,11 @@ func TestBuildKubeletArgMap(t *testing.T) {
nodeRegOpts: &kubeadmapi.NodeRegistrationOptions{
CRISocket: "/var/run/dockershim.sock",
},
pauseImage: "gcr.io/pause:3.2",
pauseImage: "gcr.io/pause:3.4.1",
},
expected: map[string]string{
"network-plugin": "cni",
"pod-infra-container-image": "gcr.io/pause:3.2",
"pod-infra-container-image": "gcr.io/pause:3.4.1",
},
},
}

View File

@ -21,9 +21,9 @@ import (
)
const (
validTmpl = "image: {{ .ImageRepository }}/pause:3.2"
validTmplOut = "image: k8s.gcr.io/pause:3.2"
doNothing = "image: k8s.gcr.io/pause:3.2"
validTmpl = "image: {{ .ImageRepository }}/pause:3.4.1"
validTmplOut = "image: k8s.gcr.io/pause:3.4.1"
doNothing = "image: k8s.gcr.io/pause:3.4.1"
invalidTmpl1 = "{{ .baz }/d}"
invalidTmpl2 = "{{ !foobar }}"
)

View File

@ -28,7 +28,7 @@ import (
const (
// When these values are updated, also update test/utils/image/manifest.go
defaultPodSandboxImageName = "k8s.gcr.io/pause"
defaultPodSandboxImageVersion = "3.2"
defaultPodSandboxImageVersion = "3.4.1"
)
var (

View File

@ -8,4 +8,4 @@ metadata:
spec:
containers:
- name: kubernetes-pause
image: k8s.gcr.io/pause:2.0
image: k8s.gcr.io/pause:3.4.1

View File

@ -8,4 +8,4 @@ metadata:
spec:
containers:
- name: kubernetes-pause
image: k8s.gcr.io/pause:2.0
image: k8s.gcr.io/pause:3.4.1

View File

@ -11,7 +11,7 @@ metadata:
spec:
containers:
- name: kubernetes-pause
image: k8s.gcr.io/pause:2.0
image: k8s.gcr.io/pause:3.4.1
---
apiVersion: v1
kind: Namespace

View File

@ -8,7 +8,7 @@ metadata:
spec:
containers:
- name: kubernetes-pause
image: k8s.gcr.io/pause:2.0
image: k8s.gcr.io/pause:3.4.1
---
apiVersion: v1
kind: Pod
@ -17,7 +17,7 @@ metadata:
spec:
containers:
- name: kubernetes-pause
image: k8s.gcr.io/pause:2.0
image: k8s.gcr.io/pause:3.4.1
---
apiVersion: v1
kind: Pod
@ -26,5 +26,5 @@ metadata:
spec:
containers:
- name: kubernetes-pause
image: k8s.gcr.io/pause:2.0
image: k8s.gcr.io/pause:3.4.1

View File

@ -43,7 +43,7 @@
"spec":{
"containers":[{
"name": "mock-container",
"image": "k8s.gcr.io/pause:2.0",
"image": "k8s.gcr.io/pause:3.4.1",
"ports":[{
"containerPort":9949,
"protocol":"TCP"

View File

@ -41,7 +41,7 @@
"spec":{
"containers":[{
"name": "mock-container",
"image": "k8s.gcr.io/pause:2.0",
"image": "k8s.gcr.io/pause:3.4.1",
"ports":[{
"containerPort":9949,
"protocol":"TCP"

View File

@ -47,7 +47,7 @@
"spec":{
"containers":[{
"name": "mock-container",
"image": "k8s.gcr.io/pause:2.0",
"image": "k8s.gcr.io/pause:3.4.1",
"ports":[{
"containerPort":9949,
"protocol":"TCP"

View File

@ -45,7 +45,7 @@
"spec":{
"containers":[{
"name": "mock-container",
"image": "k8s.gcr.io/pause:2.0",
"image": "k8s.gcr.io/pause:3.4.1",
"ports":[{
"containerPort":9949,
"protocol":"TCP"

View File

@ -26,7 +26,7 @@
"spec":{
"containers":[{
"name": "mock-container",
"image": "k8s.gcr.io/pause:2.0",
"image": "k8s.gcr.io/pause:3.4.1",
"ports":[{
"containerPort":9949,
"protocol":"TCP"
@ -60,7 +60,7 @@
"spec":{
"containers":[{
"name": "mock-container",
"image": "k8s.gcr.io/pause:2.0",
"image": "k8s.gcr.io/pause:3.4.1",
"ports":[{
"containerPort":9949,
"protocol":"TCP"

View File

@ -26,7 +26,7 @@
"spec":{
"containers":[{
"name": "mock-container",
"image": "k8s.gcr.io/pause:2.0",
"image": "k8s.gcr.io/pause:3.4.1",
"ports":[{
"containerPort":9949,
"protocol":"TCP"
@ -60,7 +60,7 @@
"spec":{
"containers":[{
"name": "mock-container",
"image": "k8s.gcr.io/pause:2.0",
"image": "k8s.gcr.io/pause:3.4.1",
"ports":[{
"containerPort":9949,
"protocol":"TCP"

View File

@ -29,7 +29,7 @@ spec:
spec:
containers:
- name: mock-container
image: k8s.gcr.io/pause:2.0
image: k8s.gcr.io/pause:3.4.1
ports:
- containerPort: 9949
protocol: TCP

View File

@ -27,7 +27,7 @@ spec:
spec:
containers:
- name: mock-container
image: k8s.gcr.io/pause:2.0
image: k8s.gcr.io/pause:3.4.1
ports:
- containerPort: 9949
protocol: TCP

View File

@ -7,4 +7,4 @@ metadata:
spec:
containers:
- name: kubernetes-pause
image: k8s.gcr.io/pause:2.0
image: k8s.gcr.io/pause:3.4.1

View File

@ -7,4 +7,4 @@ metadata:
spec:
containers:
- name: kubernetes-pause
image: k8s.gcr.io/pause:3.0
image: k8s.gcr.io/pause:3.4

View File

@ -9,7 +9,7 @@
"containers": [
{
"name": "kubernetes-pause",
"image": "k8s.gcr.io/pause:3.2"
"image": "k8s.gcr.io/pause:3.4.1"
}
],
"restartPolicy": "Never",

View File

@ -7,4 +7,4 @@ metadata:
spec:
containers:
- name: kubernetes-pause
image: k8s.gcr.io/pause:2.0
image: k8s.gcr.io/pause:3.4.1

View File

@ -7,4 +7,4 @@ metadata:
spec:
containers:
- name: kubernetes-pause
image: k8s.gcr.io/pause:2.0
image: k8s.gcr.io/pause:3.4.1

View File

@ -8,4 +8,4 @@ metadata:
spec:
containers:
- name: kubernetes-pause
image: k8s.gcr.io/pause:2.0
image: k8s.gcr.io/pause:3.4.1

View File

@ -8,4 +8,4 @@ metadata:
spec:
containers:
- name: kubernetes-pause2
image: k8s.gcr.io/pause:2.0
image: k8s.gcr.io/pause:3.4.1

View File

@ -8,4 +8,4 @@ metadata:
spec:
containers:
- name: kubernetes-pause1
image: k8s.gcr.io/pause:2.0
image: k8s.gcr.io/pause:3.4.1

View File

@ -8,4 +8,4 @@ metadata:
spec:
containers:
- name: kubernetes-pause3
image: k8s.gcr.io/pause:2.0
image: k8s.gcr.io/pause:3.4.1

View File

@ -40,7 +40,7 @@ import (
)
const (
defaultSandboxImage = "k8s.gcr.io/pause:3.2"
defaultSandboxImage = "k8s.gcr.io/pause:3.4.1"
// Various default sandbox resources requests/limits.
defaultSandboxCPUshares int64 = 2

View File

@ -13,7 +13,7 @@ spec:
spec:
containers:
- name: mock-container
image: k8s.gcr.io/pause:3.2
image: k8s.gcr.io/pause:3.4.1
---
apiVersion: v1
kind: ReplicationController
@ -30,4 +30,4 @@ spec:
spec:
containers:
- name: mock-container
image: k8s.gcr.io/pause:3.2
image: k8s.gcr.io/pause:3.4.1

View File

@ -14,4 +14,4 @@ spec:
spec:
containers:
- name: mock-container
image: k8s.gcr.io/pause:3.2
image: k8s.gcr.io/pause:3.4.1

View File

@ -529,9 +529,9 @@ run_pod_tests() {
kube::test::get_object_assert pods "{{range.items}}{{$image_field}}:{{end}}" 'changed-with-yaml:'
## Patch pod from JSON can change image
# Command
kubectl patch "${kube_flags[@]}" -f test/fixtures/doc-yaml/admin/limitrange/valid-pod.yaml -p='{"spec":{"containers":[{"name": "kubernetes-serve-hostname", "image": "k8s.gcr.io/pause:3.2"}]}}'
kubectl patch "${kube_flags[@]}" -f test/fixtures/doc-yaml/admin/limitrange/valid-pod.yaml -p='{"spec":{"containers":[{"name": "kubernetes-serve-hostname", "image": "k8s.gcr.io/pause:3.4.1"}]}}'
# Post-condition: valid-pod POD has expected image
kube::test::get_object_assert pods "{{range.items}}{{$image_field}}:{{end}}" 'k8s.gcr.io/pause:3.2:'
kube::test::get_object_assert pods "{{range.items}}{{$image_field}}:{{end}}" 'k8s.gcr.io/pause:3.4.1:'
# pod has field for kubectl patch field manager
output_message=$(kubectl get pod valid-pod -o=jsonpath='{.metadata.managedFields[*].manager}' "${kube_flags[@]:?}" 2>&1)

View File

@ -47,7 +47,7 @@ run_kubectl_diff_tests() {
# 1. the exit code for diff is 1 because it found a difference
# 2. the difference contains the changed image
output_message=$(kubectl diff -f hack/testdata/pod-changed.yaml || test $? -eq 1)
kube::test::if_has_string "${output_message}" 'k8s.gcr.io/pause:3.0'
kube::test::if_has_string "${output_message}" 'k8s.gcr.io/pause:3.4'
# Ensure diff only dry-runs and doesn't persist change
resourceVersion=$(kubectl get "${kube_flags[@]:?}" -f hack/testdata/pod.yaml -o go-template='{{ .metadata.resourceVersion }}')
@ -55,7 +55,7 @@ run_kubectl_diff_tests() {
# Test found diff with server-side apply
output_message=$(kubectl diff -f hack/testdata/pod-changed.yaml --server-side || test $? -eq 1)
kube::test::if_has_string "${output_message}" 'k8s.gcr.io/pause:3.0'
kube::test::if_has_string "${output_message}" 'k8s.gcr.io/pause:3.4'
# Ensure diff --server-side only dry-runs and doesn't persist change
resourceVersion=$(kubectl get "${kube_flags[@]:?}" -f hack/testdata/pod.yaml -o go-template='{{ .metadata.resourceVersion }}')
@ -86,7 +86,7 @@ run_kubectl_diff_tests() {
# 1. the exit code for diff is 1 because it found a difference
# 2. the difference contains the changed image
output_message=$(kubectl diff --server-side -f hack/testdata/pod-changed.yaml || test $? -eq 1)
kube::test::if_has_string "${output_message}" 'k8s.gcr.io/pause:3.0'
kube::test::if_has_string "${output_message}" 'k8s.gcr.io/pause:3.4'
# Cleanup
kubectl delete -f hack/testdata/pod.yaml

View File

@ -76,5 +76,6 @@ spec:
- name: root-mount
mountPath: /root
containers:
- image: "k8s.gcr.io/pause:3.2"
- image: "k8s.gcr.io/pause:3.4.1"
name: pause

View File

@ -13,7 +13,7 @@ spec:
spec:
containers:
- name: mock-container
image: k8s.gcr.io/pause:3.2
image: k8s.gcr.io/pause:3.4.1
---
apiVersion: v1
kind: ReplicationController
@ -30,4 +30,4 @@ spec:
spec:
containers:
- name: mock-container
image: k8s.gcr.io/pause:3.2
image: k8s.gcr.io/pause:3.4.1

View File

@ -14,4 +14,4 @@ spec:
spec:
containers:
- name: mock-container
image: k8s.gcr.io/pause:3.2
image: k8s.gcr.io/pause:3.4.1

View File

@ -17,7 +17,7 @@
"spec": {
"containers": [{
"name": "test-container",
"image": "k8s.gcr.io/pause:3.2"
"image": "k8s.gcr.io/pause:3.4.1"
}]
}
}

View File

@ -4,7 +4,7 @@ metadata:
generateName: pod-
spec:
containers:
- image: k8s.gcr.io/pause:3.2
- image: k8s.gcr.io/pause:3.4.1
name: pause
ports:
- containerPort: 80

View File

@ -5,7 +5,7 @@ metadata:
spec:
priority: 10
containers:
- image: k8s.gcr.io/pause:3.2
- image: k8s.gcr.io/pause:3.4.1
name: pause
ports:
- containerPort: 80

View File

@ -4,7 +4,7 @@ metadata:
generateName: pod-
spec:
containers:
- image: k8s.gcr.io/pause:3.2
- image: k8s.gcr.io/pause:3.4.1
name: pause
ports:
- containerPort: 80

View File

@ -5,7 +5,7 @@ metadata:
spec:
terminationGracePeriodSeconds: 0
containers:
- image: k8s.gcr.io/pause:3.2
- image: k8s.gcr.io/pause:3.4.1
name: pause
ports:
- containerPort: 80

View File

@ -14,7 +14,7 @@ spec:
- zone1
- zone2
containers:
- image: k8s.gcr.io/pause:3.2
- image: k8s.gcr.io/pause:3.4.1
name: pause
ports:
- containerPort: 80

View File

@ -14,7 +14,7 @@ spec:
topologyKey: topology.kubernetes.io/zone
namespaces: ["sched-test", "sched-setup"]
containers:
- image: k8s.gcr.io/pause:3.2
- image: k8s.gcr.io/pause:3.4.1
name: pause
ports:
- containerPort: 80

View File

@ -14,7 +14,7 @@ spec:
topologyKey: kubernetes.io/hostname
namespaces: ["sched-test", "sched-setup"]
containers:
- image: k8s.gcr.io/pause:3.2
- image: k8s.gcr.io/pause:3.4.1
name: pause
ports:
- containerPort: 80

View File

@ -16,7 +16,7 @@ spec:
namespaces: ["sched-test", "sched-setup"]
weight: 1
containers:
- image: k8s.gcr.io/pause:3.2
- image: k8s.gcr.io/pause:3.4.1
name: pause
ports:
- containerPort: 80

View File

@ -16,7 +16,7 @@ spec:
namespaces: ["sched-test", "sched-setup"]
weight: 1
containers:
- image: k8s.gcr.io/pause:3.2
- image: k8s.gcr.io/pause:3.4.1
name: pause
ports:
- containerPort: 80

View File

@ -13,7 +13,7 @@ spec:
matchLabels:
color: blue
containers:
- image: k8s.gcr.io/pause:3.2
- image: k8s.gcr.io/pause:3.4.1
name: pause
ports:
- containerPort: 80

View File

@ -4,7 +4,7 @@ metadata:
generateName: secret-volume-
spec:
containers:
- image: k8s.gcr.io/pause:3.2
- image: k8s.gcr.io/pause:3.4.1
name: pause
ports:
- containerPort: 80

View File

@ -13,7 +13,7 @@ spec:
matchLabels:
color: blue
containers:
- image: k8s.gcr.io/pause:3.2
- image: k8s.gcr.io/pause:3.4.1
name: pause
ports:
- containerPort: 80

View File

@ -248,7 +248,7 @@ func initImageConfigs() (map[int]Config, map[int]Config) {
configs[Nonewprivs] = Config{promoterE2eRegistry, "nonewprivs", "1.3"}
configs[NonRoot] = Config{promoterE2eRegistry, "nonroot", "1.1"}
// Pause - when these values are updated, also update cmd/kubelet/app/options/container_runtime.go
configs[Pause] = Config{gcRegistry, "pause", "3.2"}
configs[Pause] = Config{gcRegistry, "pause", "3.4.1"}
configs[Perl] = Config{dockerLibraryRegistry, "perl", "5.26"}
configs[PrometheusDummyExporter] = Config{gcRegistry, "prometheus-dummy-exporter", "v0.1.0"}
configs[PrometheusToSd] = Config{gcRegistry, "prometheus-to-sd", "v0.5.0"}

View File

@ -1303,7 +1303,7 @@ func MakePodSpec() v1.PodSpec {
return v1.PodSpec{
Containers: []v1.Container{{
Name: "pause",
Image: "k8s.gcr.io/pause:3.2",
Image: "k8s.gcr.io/pause:3.4.1",
Ports: []v1.ContainerPort{{ContainerPort: 80}},
Resources: v1.ResourceRequirements{
Limits: v1.ResourceList{
@ -1725,7 +1725,7 @@ type DaemonConfig struct {
func (config *DaemonConfig) Run() error {
if config.Image == "" {
config.Image = "k8s.gcr.io/pause:3.2"
config.Image = "k8s.gcr.io/pause:3.4.1"
}
nameLabel := map[string]string{
"name": config.Name + "-daemon",