diff --git a/cmd/kubeadm/app/util/system/docker_validator.go b/cmd/kubeadm/app/util/system/docker_validator.go index 75ebf8b4330..48977766f3b 100644 --- a/cmd/kubeadm/app/util/system/docker_validator.go +++ b/cmd/kubeadm/app/util/system/docker_validator.go @@ -73,7 +73,7 @@ func (d *DockerValidator) validateDockerInfo(spec *DockerSpec, info types.Info) if !matched { // If it's of the new Docker version scheme but didn't match above, it // must be a newer version than the most recently validated one. - ver := `\d{2}\.\d+\.\d+-[a-z]{2}` + ver := `\d{2}\.\d+\.\d+(?:-[a-z]{2})?` r := regexp.MustCompile(ver) if r.MatchString(info.ServerVersion) { d.Reporter.Report(dockerConfigPrefix+"VERSION", info.ServerVersion, good) diff --git a/cmd/kubeadm/app/util/system/docker_validator_test.go b/cmd/kubeadm/app/util/system/docker_validator_test.go index 058143e5674..19b7e9adf37 100644 --- a/cmd/kubeadm/app/util/system/docker_validator_test.go +++ b/cmd/kubeadm/app/util/system/docker_validator_test.go @@ -81,6 +81,11 @@ func TestValidateDockerInfo(t *testing.T) { err: false, warn: false, }, + { + info: types.Info{Driver: "driver_2", ServerVersion: "18.09.0"}, + err: false, + warn: true, + }, } { warn, err := v.validateDockerInfo(spec, test.info) if !test.err {