Merge pull request #99194 from pacoxu/fix/kubeadm-hostnamecheck

kubeadm: perform a host name check on init / join
This commit is contained in:
Kubernetes Prow Robot 2021-02-20 23:07:42 -08:00 committed by GitHub
commit d475352bcb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 1 deletions

View File

@ -25,6 +25,7 @@ go_library(
"//cmd/kubeadm/app/util/runtime:go_default_library", "//cmd/kubeadm/app/util/runtime:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/net:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/net:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/validation:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/util/version:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/version:go_default_library",
"//staging/src/k8s.io/component-base/version:go_default_library", "//staging/src/k8s.io/component-base/version:go_default_library",
"//vendor/github.com/PuerkitoBio/purell:go_default_library", "//vendor/github.com/PuerkitoBio/purell:go_default_library",

View File

@ -38,6 +38,7 @@ import (
"github.com/pkg/errors" "github.com/pkg/errors"
netutil "k8s.io/apimachinery/pkg/util/net" netutil "k8s.io/apimachinery/pkg/util/net"
"k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apimachinery/pkg/util/validation"
versionutil "k8s.io/apimachinery/pkg/util/version" versionutil "k8s.io/apimachinery/pkg/util/version"
kubeadmversion "k8s.io/component-base/version" kubeadmversion "k8s.io/component-base/version"
"k8s.io/klog/v2" "k8s.io/klog/v2"
@ -402,8 +403,12 @@ func (HostnameCheck) Name() string {
} }
// Check validates if hostname match dns sub domain regex. // Check validates if hostname match dns sub domain regex.
// Check hostname length and format
func (hc HostnameCheck) Check() (warnings, errorList []error) { func (hc HostnameCheck) Check() (warnings, errorList []error) {
klog.V(1).Infoln("checking whether the given node name is reachable using net.LookupHost") klog.V(1).Infoln("checking whether the given node name is valid and reachable using net.LookupHost")
for _, msg := range validation.IsQualifiedName(hc.nodeName) {
warnings = append(warnings, errors.Errorf("invalid node name format %q: %s", hc.nodeName, msg))
}
addr, err := net.LookupHost(hc.nodeName) addr, err := net.LookupHost(hc.nodeName)
if addr == nil { if addr == nil {