Merge branch 'master' of github.com:kubernetes/minikube into auto-iso

pull/10675/head
Sharif Elgamal 2021-03-04 15:37:58 -08:00
commit aeba968af0
14 changed files with 85 additions and 14 deletions

View File

@ -1,5 +1,38 @@
# Release Notes # Release Notes
## Version 1.18.1 - 2021-03-04
Features:
* kvm2 driver: Add flag --kvm-numa-count" support topology-manager simulate numa [#10471](https://github.com/kubernetes/minikube/pull/10471)
Minor Improvements:
* Spanish translations [#10687](https://github.com/kubernetes/minikube/pull/10687)
* Change podman priority to default on Linux [#10458](https://github.com/kubernetes/minikube/pull/10458)
Bug Fixes:
* Remove WSLENV empty check from IsMicrosoftWSL [#10711](https://github.com/kubernetes/minikube/pull/10711)
* Added WaitGroups to prevent stderr/stdout from being empty in error logs [#10694](https://github.com/kubernetes/minikube/pull/10694)
Version changes:
* Restore kube-cross build image and bump go to version 1.16 [#10691](https://github.com/kubernetes/minikube/pull/10691)
* Bump github.com/spf13/viper from 1.7.0 to 1.7.1 [#10658](https://github.com/kubernetes/minikube/pull/10658)
Thank you to our contributors for this release!
- Anders F Björklund
- Emanuel
- Ilya Zuyev
- Medya Ghazizadeh
- Sharif Elgamal
- Steven Powell
- phantooom
## Version 1.18.0 - 2021-03-01 ## Version 1.18.0 - 2021-03-01
Bug Fixes: Bug Fixes:

View File

@ -15,7 +15,7 @@
# Bump these on release - and please check ISO_VERSION for correctness. # Bump these on release - and please check ISO_VERSION for correctness.
VERSION_MAJOR ?= 1 VERSION_MAJOR ?= 1
VERSION_MINOR ?= 18 VERSION_MINOR ?= 18
VERSION_BUILD ?= 0 VERSION_BUILD ?= 1
RAW_VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUILD) RAW_VERSION=$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUILD)
VERSION ?= v$(RAW_VERSION) VERSION ?= v$(RAW_VERSION)

View File

@ -29,7 +29,7 @@ oom_score = 0
stream_server_address = "" stream_server_address = ""
stream_server_port = "10010" stream_server_port = "10010"
enable_selinux = false enable_selinux = false
sandbox_image = "{{default "k8s.gcr.io" .ImageRepository}}/pause:3.1" sandbox_image = "{{default "k8s.gcr.io" .ImageRepository}}/pause:3.4.1"
stats_collect_period = 10 stats_collect_period = 10
systemd_cgroup = false systemd_cgroup = false
enable_tls_streaming = false enable_tls_streaming = false

View File

@ -54,7 +54,7 @@ oom_score = 0
stream_idle_timeout = "4h0m0s" stream_idle_timeout = "4h0m0s"
enable_selinux = false enable_selinux = false
selinux_category_range = 1024 selinux_category_range = 1024
sandbox_image = "k8s.gcr.io/pause:3.2" sandbox_image = "k8s.gcr.io/pause:3.4.1"
stats_collect_period = 10 stats_collect_period = 10
systemd_cgroup = true systemd_cgroup = true
enable_tls_streaming = false enable_tls_streaming = false

View File

@ -54,7 +54,7 @@ oom_score = 0
stream_idle_timeout = "4h0m0s" stream_idle_timeout = "4h0m0s"
enable_selinux = false enable_selinux = false
selinux_category_range = 1024 selinux_category_range = 1024
sandbox_image = "k8s.gcr.io/pause:3.2" sandbox_image = "k8s.gcr.io/pause:3.4.1"
stats_collect_period = 10 stats_collect_period = 10
systemd_cgroup = false systemd_cgroup = false
enable_tls_streaming = false enable_tls_streaming = false

View File

@ -339,7 +339,7 @@ global_auth_file = ""
# The image used to instantiate infra containers. # The image used to instantiate infra containers.
# This option supports live configuration reload. # This option supports live configuration reload.
pause_image = "k8s.gcr.io/pause:3.2" pause_image = "k8s.gcr.io/pause:3.4.1"
# The path to a file containing credentials specific for pulling the pause_image from # The path to a file containing credentials specific for pulling the pause_image from
# above. The file is similar to that of /var/lib/kubelet/config.json # above. The file is similar to that of /var/lib/kubelet/config.json

View File

@ -339,7 +339,7 @@ global_auth_file = ""
# The image used to instantiate infra containers. # The image used to instantiate infra containers.
# This option supports live configuration reload. # This option supports live configuration reload.
pause_image = "k8s.gcr.io/pause:3.2" pause_image = "k8s.gcr.io/pause:3.4.1"
# The path to a file containing credentials specific for pulling the pause_image from # The path to a file containing credentials specific for pulling the pause_image from
# above. The file is similar to that of /var/lib/kubelet/config.json # above. The file is similar to that of /var/lib/kubelet/config.json

View File

@ -1,4 +1,12 @@
[ [
{
"name": "v1.18.1",
"checksums": {
"darwin": "afca0cf5063e8b444b2201808fde3b95a8c59c509bd3e77574111697adb51315",
"linux": "86f65235361ebe4916350d988c756fcb2f27fc1bd3e2d84912462b39bb660dfe",
"windows": "db7d701cc737baa8daff58fb68e038f7d06324e972429444767f3514ea38c790"
}
},
{ {
"name": "v1.18.0", "name": "v1.18.0",
"checksums": { "checksums": {

1
go.sum
View File

@ -748,7 +748,6 @@ github.com/opencontainers/runtime-spec v1.0.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/
github.com/opencontainers/selinux v1.3.1-0.20190929122143-5215b1806f52/go.mod h1:+BLncwf63G4dgOzykXAxcmnFlUaOlkDdmw/CqsW6pjs= github.com/opencontainers/selinux v1.3.1-0.20190929122143-5215b1806f52/go.mod h1:+BLncwf63G4dgOzykXAxcmnFlUaOlkDdmw/CqsW6pjs=
github.com/otiai10/copy v1.0.2 h1:DDNipYy6RkIkjMwy+AWzgKiNTyj2RUI9yEMeETEpVyc= github.com/otiai10/copy v1.0.2 h1:DDNipYy6RkIkjMwy+AWzgKiNTyj2RUI9yEMeETEpVyc=
github.com/otiai10/copy v1.0.2/go.mod h1:c7RpqBkwMom4bYTSkLSym4VSJz/XtncWRAj/J4PEIMY= github.com/otiai10/copy v1.0.2/go.mod h1:c7RpqBkwMom4bYTSkLSym4VSJz/XtncWRAj/J4PEIMY=
github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95 h1:+OLn68pqasWca0z5ryit9KGfp3sUsW4Lqg32iRMJyzs=
github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE=
github.com/otiai10/mint v1.3.0 h1:Ady6MKVezQwHBkGzLFbrsywyp09Ah7rkmfjV3Bcr5uc= github.com/otiai10/mint v1.3.0 h1:Ady6MKVezQwHBkGzLFbrsywyp09Ah7rkmfjV3Bcr5uc=
github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo=

View File

@ -356,10 +356,10 @@ var Addons = map[string]*Addon{
}, false, "registry-aliases", map[string]string{ }, false, "registry-aliases", map[string]string{
"CoreDNSPatcher": "rhdevelopers/core-dns-patcher@sha256:9220ff32f690c3d889a52afb59ca6fcbbdbd99e5370550cc6fd249adea8ed0a9", "CoreDNSPatcher": "rhdevelopers/core-dns-patcher@sha256:9220ff32f690c3d889a52afb59ca6fcbbdbd99e5370550cc6fd249adea8ed0a9",
"Alpine": "alpine:3.11@sha256:0bd0e9e03a022c3b0226667621da84fc9bf562a9056130424b5bfbd8bcb0397f", "Alpine": "alpine:3.11@sha256:0bd0e9e03a022c3b0226667621da84fc9bf562a9056130424b5bfbd8bcb0397f",
"Pause": "google_containers/pause:3.1@sha256:f78411e19d84a252e53bff71a4407a5686c46983a2c2eeed83929b888179acea", "Pause": "pause:3.4.1@sha256:6c3835cab3980f11b83277305d0d736051c32b17606f5ec59f1dda67c9ba3810",
}, map[string]string{ }, map[string]string{
"CoreDNSPatcher": "quay.io", "CoreDNSPatcher": "quay.io",
"Pause": "gcr.io", "Pause": "k8s.gcr.io",
}), }),
"freshpod": NewAddon([]*BinAsset{ "freshpod": NewAddon([]*BinAsset{
MustBinAsset( MustBinAsset(

View File

@ -166,7 +166,7 @@ Wants=docker.socket
[Service] [Service]
ExecStart= ExecStart=
ExecStart=/var/lib/minikube/binaries/v1.18.2/kubelet --authorization-mode=Webhook --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --cgroup-driver=cgroupfs --client-ca-file=/var/lib/minikube/certs/ca.crt --cluster-domain=cluster.local --config=/var/lib/kubelet/config.yaml --container-runtime=docker --fail-swap-on=false --hostname-override=minikube --kubeconfig=/etc/kubernetes/kubelet.conf --node-ip=192.168.1.100 --pod-infra-container-image=docker-proxy-image.io/google_containers/pause:3.2 --pod-manifest-path=/etc/kubernetes/manifests ExecStart=/var/lib/minikube/binaries/v1.18.2/kubelet --authorization-mode=Webhook --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --cgroup-driver=cgroupfs --client-ca-file=/var/lib/minikube/certs/ca.crt --cluster-domain=cluster.local --config=/var/lib/kubelet/config.yaml --container-runtime=docker --fail-swap-on=false --hostname-override=minikube --kubeconfig=/etc/kubernetes/kubelet.conf --node-ip=192.168.1.100 --pod-infra-container-image=docker-proxy-image.io/google_containers/pause:3.4.1 --pod-manifest-path=/etc/kubernetes/manifests
[Install] [Install]
`, `,

View File

@ -29,8 +29,8 @@ import (
// Pause returns the image name to pull for a given Kubernetes version // Pause returns the image name to pull for a given Kubernetes version
func Pause(v semver.Version, mirror string) string { func Pause(v semver.Version, mirror string) string {
// Should match `PauseVersion` in: // Should match `PauseVersion` in:
// https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/constants/constants_unix.go // https://github.com/kubernetes/kubernetes/blob/master/cmd/kubeadm/app/constants/constants.go
pv := "3.2" pv := "3.4.1"
if semver.MustParseRange("<1.18.0-alpha.0")(v) { if semver.MustParseRange("<1.18.0-alpha.0")(v) {
pv = "3.1" pv = "3.1"
} }

View File

@ -289,6 +289,12 @@ func configureRuntimes(runner cruntime.CommandRunner, cc config.ClusterConfig, k
exit.Error(reason.RuntimeEnable, "Failed to start container runtime", err) exit.Error(reason.RuntimeEnable, "Failed to start container runtime", err)
} }
// Wait for the CRI to actually work, before returning
err = waitForCRIVersion(runner, cr.SocketPath(), 60, 10)
if err != nil {
exit.Error(reason.RuntimeEnable, "Failed to start container runtime", err)
}
return cr return cr
} }
@ -332,6 +338,31 @@ func waitForCRISocket(runner cruntime.CommandRunner, socket string, wait int, in
return nil return nil
} }
func waitForCRIVersion(runner cruntime.CommandRunner, socket string, wait int, interval int) error {
if socket == "" || socket == "/var/run/dockershim.sock" {
return nil
}
klog.Infof("Will wait %ds for crictl version", wait)
chkInfo := func() error {
args := []string{"crictl", "version"}
cmd := exec.Command("sudo", args...)
rr, err := runner.RunCmd(cmd)
if err != nil && !os.IsNotExist(err) {
return &retry.RetriableError{Err: err}
}
klog.Info(rr.Stdout.String())
return nil
}
if err := retry.Expo(chkInfo, time.Duration(interval)*time.Second, time.Duration(wait)*time.Second); err != nil {
return err
}
return nil
}
// setupKubeAdm adds any requested files into the VM before Kubernetes is started // setupKubeAdm adds any requested files into the VM before Kubernetes is started
func setupKubeAdm(mAPI libmachine.API, cfg config.ClusterConfig, n config.Node, r command.Runner) bootstrapper.Bootstrapper { func setupKubeAdm(mAPI libmachine.API, cfg config.ClusterConfig, n config.Node, r command.Runner) bootstrapper.Bootstrapper {
bs, err := cluster.Bootstrapper(mAPI, viper.GetString(cmdcfg.Bootstrapper), cfg, r) bs, err := cluster.Bootstrapper(mAPI, viper.GetString(cmdcfg.Bootstrapper), cfg, r)

View File

@ -431,8 +431,8 @@ func validateExtraConfig(ctx context.Context, t *testing.T, profile string) {
func imageID(image string) string { func imageID(image string) string {
ids := map[string]map[string]string{ ids := map[string]map[string]string{
"pause": { "pause": {
"amd64": "0184c1613d929", "amd64": "0184c1613d92",
"arm64": "3d18732f8686c", "arm64": "3d18732f8686",
}, },
} }